@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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-errors.js","sourceRoot":"","sources":["../../src/runtime/cli-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Owner Mode Password Protection
|
|
3
|
-
* Provides secure password-based access control for owner mode
|
|
4
|
-
*/
|
|
5
|
-
export interface OwnerModeResult {
|
|
6
|
-
enabled: boolean;
|
|
7
|
-
verified: boolean;
|
|
8
|
-
reason?: string;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Get owner password hash from config
|
|
12
|
-
*/
|
|
13
|
-
export declare function getOwnerPasswordHash(): string | null;
|
|
14
|
-
/**
|
|
15
|
-
* Save owner password hash to config
|
|
16
|
-
*/
|
|
17
|
-
export declare function saveOwnerPasswordHash(passwordHash: string): void;
|
|
18
|
-
/**
|
|
19
|
-
* Hash password using SHA-256
|
|
20
|
-
*/
|
|
21
|
-
export declare function hashPassword(password: string): string;
|
|
22
|
-
/**
|
|
23
|
-
* Verify password against hash
|
|
24
|
-
*/
|
|
25
|
-
export declare function verifyPassword(password: string, hash: string): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Prompt for password securely (hide input)
|
|
28
|
-
* Cross-platform compatible
|
|
29
|
-
*/
|
|
30
|
-
export declare function promptPassword(message?: string): Promise<string | null>;
|
|
31
|
-
/**
|
|
32
|
-
* Check if owner mode is enabled (requires password verification)
|
|
33
|
-
*/
|
|
34
|
-
export declare function isOwnerMode(requirePassword?: boolean): Promise<OwnerModeResult>;
|
|
35
|
-
/**
|
|
36
|
-
* Synchronous check (for non-interactive contexts)
|
|
37
|
-
* Only checks environment variable, not password
|
|
38
|
-
*/
|
|
39
|
-
export declare function isOwnerModeSync(): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Set owner password
|
|
42
|
-
*/
|
|
43
|
-
export declare function setOwnerPassword(): Promise<boolean>;
|
|
44
|
-
/**
|
|
45
|
-
* Remove owner password (disable password protection)
|
|
46
|
-
*/
|
|
47
|
-
export declare function removeOwnerPassword(): boolean;
|
|
48
|
-
//# sourceMappingURL=owner-mode.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"owner-mode.d.ts","sourceRoot":"","sources":["../../src/runtime/owner-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAcD;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAWpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAiBhE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,MAAiC,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmEjG;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,eAAe,GAAE,OAAc,GAAG,OAAO,CAAC,eAAe,CAAC,CA6C3F;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAMzC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CA2BzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAiB7C"}
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Owner Mode Password Protection
|
|
4
|
-
* Provides secure password-based access control for owner mode
|
|
5
|
-
*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
-
var ownKeys = function(o) {
|
|
24
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
-
var ar = [];
|
|
26
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
-
return ar;
|
|
28
|
-
};
|
|
29
|
-
return ownKeys(o);
|
|
30
|
-
};
|
|
31
|
-
return function (mod) {
|
|
32
|
-
if (mod && mod.__esModule) return mod;
|
|
33
|
-
var result = {};
|
|
34
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
-
__setModuleDefault(result, mod);
|
|
36
|
-
return result;
|
|
37
|
-
};
|
|
38
|
-
})();
|
|
39
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.getOwnerPasswordHash = getOwnerPasswordHash;
|
|
41
|
-
exports.saveOwnerPasswordHash = saveOwnerPasswordHash;
|
|
42
|
-
exports.hashPassword = hashPassword;
|
|
43
|
-
exports.verifyPassword = verifyPassword;
|
|
44
|
-
exports.promptPassword = promptPassword;
|
|
45
|
-
exports.isOwnerMode = isOwnerMode;
|
|
46
|
-
exports.isOwnerModeSync = isOwnerModeSync;
|
|
47
|
-
exports.setOwnerPassword = setOwnerPassword;
|
|
48
|
-
exports.removeOwnerPassword = removeOwnerPassword;
|
|
49
|
-
const readline = __importStar(require("readline"));
|
|
50
|
-
const crypto = __importStar(require("crypto"));
|
|
51
|
-
const fs = __importStar(require("fs"));
|
|
52
|
-
const path = __importStar(require("path"));
|
|
53
|
-
const creds_1 = require("./creds");
|
|
54
|
-
function getConfigPath() {
|
|
55
|
-
const configDir = (0, creds_1.getConfigDir)();
|
|
56
|
-
return path.join(configDir, 'config.json');
|
|
57
|
-
}
|
|
58
|
-
function ensureConfigDir(configPath) {
|
|
59
|
-
const dir = path.dirname(configPath);
|
|
60
|
-
if (!fs.existsSync(dir)) {
|
|
61
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Get owner password hash from config
|
|
66
|
-
*/
|
|
67
|
-
function getOwnerPasswordHash() {
|
|
68
|
-
try {
|
|
69
|
-
const configPath = getConfigPath();
|
|
70
|
-
if (fs.existsSync(configPath)) {
|
|
71
|
-
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
72
|
-
return config.ownerPasswordHash || null;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
// ignore config errors
|
|
77
|
-
}
|
|
78
|
-
return null;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Save owner password hash to config
|
|
82
|
-
*/
|
|
83
|
-
function saveOwnerPasswordHash(passwordHash) {
|
|
84
|
-
const configPath = getConfigPath();
|
|
85
|
-
ensureConfigDir(configPath);
|
|
86
|
-
let config = {};
|
|
87
|
-
try {
|
|
88
|
-
if (fs.existsSync(configPath)) {
|
|
89
|
-
config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
// ignore, start fresh
|
|
94
|
-
}
|
|
95
|
-
config.ownerPasswordHash = passwordHash;
|
|
96
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), {
|
|
97
|
-
mode: 0o600,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Hash password using SHA-256
|
|
102
|
-
*/
|
|
103
|
-
function hashPassword(password) {
|
|
104
|
-
return crypto.createHash('sha256').update(password).digest('hex');
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Verify password against hash
|
|
108
|
-
*/
|
|
109
|
-
function verifyPassword(password, hash) {
|
|
110
|
-
if (!password || !hash)
|
|
111
|
-
return false;
|
|
112
|
-
return hashPassword(password) === hash;
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Prompt for password securely (hide input)
|
|
116
|
-
* Cross-platform compatible
|
|
117
|
-
*/
|
|
118
|
-
function promptPassword(message = 'Enter owner password: ') {
|
|
119
|
-
return new Promise((resolve) => {
|
|
120
|
-
// For Windows compatibility, use a simpler approach
|
|
121
|
-
if (process.platform === 'win32') {
|
|
122
|
-
// On Windows, use readline (password may be visible)
|
|
123
|
-
const rl = readline.createInterface({
|
|
124
|
-
input: process.stdin,
|
|
125
|
-
output: process.stdout,
|
|
126
|
-
});
|
|
127
|
-
rl.question(message, (password) => {
|
|
128
|
-
rl.close();
|
|
129
|
-
resolve(password || null);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
else {
|
|
133
|
-
// Unix-like systems: use raw mode
|
|
134
|
-
const rl = readline.createInterface({
|
|
135
|
-
input: process.stdin,
|
|
136
|
-
output: process.stdout,
|
|
137
|
-
});
|
|
138
|
-
process.stdout.write(message);
|
|
139
|
-
process.stdin.setRawMode(true);
|
|
140
|
-
process.stdin.resume();
|
|
141
|
-
process.stdin.setEncoding('utf8');
|
|
142
|
-
let password = '';
|
|
143
|
-
const onData = (char) => {
|
|
144
|
-
const charStr = char.toString();
|
|
145
|
-
switch (charStr) {
|
|
146
|
-
case '\n':
|
|
147
|
-
case '\r':
|
|
148
|
-
case '\u0004': // Ctrl+D
|
|
149
|
-
process.stdin.setRawMode(false);
|
|
150
|
-
process.stdin.pause();
|
|
151
|
-
process.stdin.removeListener('data', onData);
|
|
152
|
-
rl.close();
|
|
153
|
-
process.stdout.write('\n');
|
|
154
|
-
resolve(password);
|
|
155
|
-
break;
|
|
156
|
-
case '\u0003': // Ctrl+C
|
|
157
|
-
process.stdin.setRawMode(false);
|
|
158
|
-
process.stdin.pause();
|
|
159
|
-
process.stdin.removeListener('data', onData);
|
|
160
|
-
rl.close();
|
|
161
|
-
process.stdout.write('\n');
|
|
162
|
-
resolve(null);
|
|
163
|
-
break;
|
|
164
|
-
case '\u007f': // Backspace
|
|
165
|
-
if (password.length > 0) {
|
|
166
|
-
password = password.slice(0, -1);
|
|
167
|
-
process.stdout.write('\b \b');
|
|
168
|
-
}
|
|
169
|
-
break;
|
|
170
|
-
default:
|
|
171
|
-
if (charStr >= ' ') {
|
|
172
|
-
// Printable characters only
|
|
173
|
-
password += charStr;
|
|
174
|
-
process.stdout.write('*');
|
|
175
|
-
}
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
process.stdin.on('data', onData);
|
|
180
|
-
}
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Check if owner mode is enabled (requires password verification)
|
|
185
|
-
*/
|
|
186
|
-
async function isOwnerMode(requirePassword = true) {
|
|
187
|
-
// Check environment variable first (for CI/CD - can bypass password)
|
|
188
|
-
const envOwnerMode = !!(process.env.GUARDRAIL_OWNER_MODE === 'true' ||
|
|
189
|
-
process.env.GUARDRAIL_OWNER_MODE === '1' ||
|
|
190
|
-
process.env.GUARDRAIL_ADMIN === 'true');
|
|
191
|
-
if (envOwnerMode) {
|
|
192
|
-
// If password is set, require verification even with env var
|
|
193
|
-
const passwordHash = getOwnerPasswordHash();
|
|
194
|
-
if (passwordHash && requirePassword) {
|
|
195
|
-
// Password is set, require verification
|
|
196
|
-
const password = await promptPassword('Owner password: ');
|
|
197
|
-
if (!password) {
|
|
198
|
-
return { enabled: false, verified: false, reason: 'Password entry cancelled' };
|
|
199
|
-
}
|
|
200
|
-
if (!verifyPassword(password, passwordHash)) {
|
|
201
|
-
return { enabled: false, verified: false, reason: 'Invalid password' };
|
|
202
|
-
}
|
|
203
|
-
return { enabled: true, verified: true };
|
|
204
|
-
}
|
|
205
|
-
// No password set or password verification disabled
|
|
206
|
-
return { enabled: true, verified: !passwordHash };
|
|
207
|
-
}
|
|
208
|
-
// No environment variable - check if password is set
|
|
209
|
-
const passwordHash = getOwnerPasswordHash();
|
|
210
|
-
if (!passwordHash) {
|
|
211
|
-
return { enabled: false, verified: false, reason: 'Owner password not set' };
|
|
212
|
-
}
|
|
213
|
-
// Password is set, require verification
|
|
214
|
-
if (requirePassword) {
|
|
215
|
-
const password = await promptPassword('Owner password: ');
|
|
216
|
-
if (!password) {
|
|
217
|
-
return { enabled: false, verified: false, reason: 'Password entry cancelled' };
|
|
218
|
-
}
|
|
219
|
-
if (!verifyPassword(password, passwordHash)) {
|
|
220
|
-
return { enabled: false, verified: false, reason: 'Invalid password' };
|
|
221
|
-
}
|
|
222
|
-
return { enabled: true, verified: true };
|
|
223
|
-
}
|
|
224
|
-
return { enabled: false, verified: false, reason: 'Password verification required' };
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* Synchronous check (for non-interactive contexts)
|
|
228
|
-
* Only checks environment variable, not password
|
|
229
|
-
*/
|
|
230
|
-
function isOwnerModeSync() {
|
|
231
|
-
return !!(process.env.GUARDRAIL_OWNER_MODE === 'true' ||
|
|
232
|
-
process.env.GUARDRAIL_OWNER_MODE === '1' ||
|
|
233
|
-
process.env.GUARDRAIL_ADMIN === 'true');
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Set owner password
|
|
237
|
-
*/
|
|
238
|
-
async function setOwnerPassword() {
|
|
239
|
-
const password1 = await promptPassword('Enter new owner password: ');
|
|
240
|
-
if (!password1) {
|
|
241
|
-
console.error('Password entry cancelled.');
|
|
242
|
-
return false;
|
|
243
|
-
}
|
|
244
|
-
const password2 = await promptPassword('Confirm owner password: ');
|
|
245
|
-
if (!password2) {
|
|
246
|
-
console.error('Password confirmation cancelled.');
|
|
247
|
-
return false;
|
|
248
|
-
}
|
|
249
|
-
if (password1 !== password2) {
|
|
250
|
-
console.error('Passwords do not match.');
|
|
251
|
-
return false;
|
|
252
|
-
}
|
|
253
|
-
if (password1.length < 8) {
|
|
254
|
-
console.error('Password must be at least 8 characters long.');
|
|
255
|
-
return false;
|
|
256
|
-
}
|
|
257
|
-
const hash = hashPassword(password1);
|
|
258
|
-
saveOwnerPasswordHash(hash);
|
|
259
|
-
console.log('✓ Owner password set successfully.');
|
|
260
|
-
return true;
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Remove owner password (disable password protection)
|
|
264
|
-
*/
|
|
265
|
-
function removeOwnerPassword() {
|
|
266
|
-
try {
|
|
267
|
-
const configPath = getConfigPath();
|
|
268
|
-
if (fs.existsSync(configPath)) {
|
|
269
|
-
const config = JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
270
|
-
delete config.ownerPasswordHash;
|
|
271
|
-
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), {
|
|
272
|
-
mode: 0o600,
|
|
273
|
-
});
|
|
274
|
-
console.log('✓ Owner password removed. Environment variable only.');
|
|
275
|
-
return true;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
catch (err) {
|
|
279
|
-
console.error('Failed to remove owner password:', err.message);
|
|
280
|
-
return false;
|
|
281
|
-
}
|
|
282
|
-
return false;
|
|
283
|
-
}
|
|
284
|
-
//# sourceMappingURL=owner-mode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"owner-mode.js","sourceRoot":"","sources":["../../src/runtime/owner-mode.ts"],"names":[],"mappings":"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"}
|
package/dist/scanner/index.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Scanner Module
|
|
3
|
-
* Re-exports all scanner functionality
|
|
4
|
-
*/
|
|
5
|
-
export { PlaceholderDetector, type PlaceholderFinding, type PlaceholderDetectorConfig, } from './placeholder-detector';
|
|
6
|
-
export { RouteDetector, type RouteInfo, type RouteDetectionResult, type RouteDetectorConfig, } from './route-detector';
|
|
7
|
-
export { calculateScore, formatScoreAsText, type ScoringResult, type ScoringInputs, type ScoreComponent, } from './scoring';
|
|
8
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,mBAAmB,EACnB,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,aAAa,EACb,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,WAAW,CAAC"}
|
package/dist/scanner/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Scanner Module
|
|
4
|
-
* Re-exports all scanner functionality
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.formatScoreAsText = exports.calculateScore = exports.RouteDetector = exports.PlaceholderDetector = void 0;
|
|
8
|
-
var placeholder_detector_1 = require("./placeholder-detector");
|
|
9
|
-
Object.defineProperty(exports, "PlaceholderDetector", { enumerable: true, get: function () { return placeholder_detector_1.PlaceholderDetector; } });
|
|
10
|
-
var route_detector_1 = require("./route-detector");
|
|
11
|
-
Object.defineProperty(exports, "RouteDetector", { enumerable: true, get: function () { return route_detector_1.RouteDetector; } });
|
|
12
|
-
var scoring_1 = require("./scoring");
|
|
13
|
-
Object.defineProperty(exports, "calculateScore", { enumerable: true, get: function () { return scoring_1.calculateScore; } });
|
|
14
|
-
Object.defineProperty(exports, "formatScoreAsText", { enumerable: true, get: function () { return scoring_1.formatScoreAsText; } });
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/scanner/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAIgC;AAH9B,2HAAA,mBAAmB,OAAA;AAIrB,mDAK0B;AAJxB,+GAAA,aAAa,OAAA;AAKf,qCAMmB;AALjB,yGAAA,cAAc,OAAA;AACd,4GAAA,iBAAiB,OAAA"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Placeholder Detector with Rule-Tiered Approach
|
|
3
|
-
*
|
|
4
|
-
* Implements sophisticated placeholder detection with multiple confidence levels:
|
|
5
|
-
* - Ignore list (safe): HTML placeholder attributes by default
|
|
6
|
-
* - High-confidence: UI text nodes, mock responses
|
|
7
|
-
* - Medium-confidence: "placeholder" in variable names or comments
|
|
8
|
-
*/
|
|
9
|
-
export interface PlaceholderFinding {
|
|
10
|
-
type: 'ui_text' | 'html_attribute' | 'mock_response' | 'comment' | 'variable';
|
|
11
|
-
file: string;
|
|
12
|
-
line: number;
|
|
13
|
-
column?: number;
|
|
14
|
-
match: string;
|
|
15
|
-
confidence: 'high' | 'medium' | 'low';
|
|
16
|
-
snippet?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface PlaceholderDetectorConfig {
|
|
19
|
-
/** Count HTML placeholder attributes (default: false) */
|
|
20
|
-
countInputPlaceholders?: boolean;
|
|
21
|
-
/** Ignore patterns (regex) */
|
|
22
|
-
ignorePatterns?: RegExp[];
|
|
23
|
-
}
|
|
24
|
-
export declare class PlaceholderDetector {
|
|
25
|
-
private config;
|
|
26
|
-
constructor(config?: PlaceholderDetectorConfig);
|
|
27
|
-
/**
|
|
28
|
-
* Detect placeholders in source code
|
|
29
|
-
*/
|
|
30
|
-
detectPlaceholders(filePath: string, content: string): Promise<PlaceholderFinding[]>;
|
|
31
|
-
/**
|
|
32
|
-
* High-confidence placeholders: UI text nodes and mock responses
|
|
33
|
-
*/
|
|
34
|
-
private detectHighConfidence;
|
|
35
|
-
/**
|
|
36
|
-
* Medium-confidence placeholders: comments and variable names
|
|
37
|
-
*/
|
|
38
|
-
private detectMediumConfidence;
|
|
39
|
-
/**
|
|
40
|
-
* Detect HTML placeholder attributes
|
|
41
|
-
*/
|
|
42
|
-
private detectHtmlPlaceholderAttributes;
|
|
43
|
-
/**
|
|
44
|
-
* Check if line is an HTML placeholder attribute
|
|
45
|
-
*/
|
|
46
|
-
private isHtmlPlaceholderAttribute;
|
|
47
|
-
/**
|
|
48
|
-
* Find all matches in a string with their indices
|
|
49
|
-
*/
|
|
50
|
-
private findAllMatches;
|
|
51
|
-
/**
|
|
52
|
-
* Count placeholders by type
|
|
53
|
-
*/
|
|
54
|
-
static countByType(findings: PlaceholderFinding[]): Record<string, number>;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=placeholder-detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder-detector.d.ts","sourceRoot":"","sources":["../../src/scanner/placeholder-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,SAAS,GAAG,gBAAgB,GAAG,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,8BAA8B;IAC9B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAsC;gBAExC,MAAM,GAAE,yBAA8B;IAOlD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAsDhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6D5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuD9B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAiCvC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAIlC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,MAAM,CAAC,WAAW,CAChB,QAAQ,EAAE,kBAAkB,EAAE,GAC7B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;CAgB1B"}
|