@neurcode-ai/cli 0.15.4 → 0.15.6
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/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +40 -1
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/cursor.d.ts.map +1 -1
- package/dist/commands/cursor.js +105 -14
- package/dist/commands/cursor.js.map +1 -1
- package/dist/utils/cursor-gate.d.ts +36 -2
- package/dist/utils/cursor-gate.d.ts.map +1 -1
- package/dist/utils/cursor-gate.js +213 -61
- package/dist/utils/cursor-gate.js.map +1 -1
- package/dist/utils/session-allowlist-rules.d.ts +29 -0
- package/dist/utils/session-allowlist-rules.d.ts.map +1 -0
- package/dist/utils/session-allowlist-rules.js +128 -0
- package/dist/utils/session-allowlist-rules.js.map +1 -0
- package/dist/utils/v0-governance.d.ts +12 -2
- package/dist/utils/v0-governance.d.ts.map +1 -1
- package/dist/utils/v0-governance.js +108 -13
- package/dist/utils/v0-governance.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,20 +1,65 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CURSOR_GATE_SCHEMA_VERSION = void 0;
|
|
3
|
+
exports.MIN_CURSOR_GATE_CLI_VERSION = exports.CURSOR_GATE_SCHEMA_VERSION = void 0;
|
|
4
|
+
exports.readBundledCliVersion = readBundledCliVersion;
|
|
5
|
+
exports.buildCliVersionStaleWarning = buildCliVersionStaleWarning;
|
|
6
|
+
exports.emitCliVersionStaleWarning = emitCliVersionStaleWarning;
|
|
4
7
|
exports.resolveCursorGateExitCode = resolveCursorGateExitCode;
|
|
5
8
|
exports.evaluateCursorGate = evaluateCursorGate;
|
|
6
9
|
exports.formatCursorGateCiErrors = formatCursorGateCiErrors;
|
|
10
|
+
exports.ensureHookPinnedCli = ensureHookPinnedCli;
|
|
7
11
|
exports.installCursorGateHook = installCursorGateHook;
|
|
8
12
|
exports.doctorCursorGateHook = doctorCursorGateHook;
|
|
9
13
|
const node_crypto_1 = require("node:crypto");
|
|
10
14
|
const node_fs_1 = require("node:fs");
|
|
11
15
|
const node_path_1 = require("node:path");
|
|
12
16
|
const node_child_process_1 = require("node:child_process");
|
|
17
|
+
const contracts_1 = require("@neurcode-ai/contracts");
|
|
13
18
|
const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
|
|
14
19
|
const agent_guard_1 = require("./agent-guard");
|
|
15
20
|
const v0_governance_1 = require("./v0-governance");
|
|
16
21
|
const runtime_live_1 = require("./runtime-live");
|
|
17
22
|
exports.CURSOR_GATE_SCHEMA_VERSION = 'neurcode.cursor-gate.v1';
|
|
23
|
+
exports.MIN_CURSOR_GATE_CLI_VERSION = '0.15.4';
|
|
24
|
+
function readBundledCliVersion() {
|
|
25
|
+
try {
|
|
26
|
+
const pkgPath = (0, node_path_1.join)(__dirname, '..', '..', 'package.json');
|
|
27
|
+
const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, 'utf8'));
|
|
28
|
+
return pkg.version?.trim() || 'unknown';
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return 'unknown';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Warn when the running CLI is too old for cursor gate (e.g. stale global @neurcode-ai/cli). */
|
|
35
|
+
function buildCliVersionStaleWarning(options) {
|
|
36
|
+
const expectedVersion = readBundledCliVersion();
|
|
37
|
+
const runningVersion = options?.runningVersionOverride?.trim() || expectedVersion;
|
|
38
|
+
const minimumVersion = options?.minimumVersion?.trim() || exports.MIN_CURSOR_GATE_CLI_VERSION;
|
|
39
|
+
const meetsMinimum = (0, contracts_1.isSemverAtLeast)(runningVersion, minimumVersion);
|
|
40
|
+
if (meetsMinimum !== false)
|
|
41
|
+
return null;
|
|
42
|
+
return {
|
|
43
|
+
id: 'cli_version_stale',
|
|
44
|
+
status: 'warn',
|
|
45
|
+
runningVersion,
|
|
46
|
+
expectedVersion,
|
|
47
|
+
minimumVersion,
|
|
48
|
+
message: `CLI ${runningVersion} is older than ${minimumVersion}; cursor gate and enterprise hooks require @neurcode-ai/cli@${minimumVersion}+.`,
|
|
49
|
+
remediation: [
|
|
50
|
+
'npm install -g @neurcode-ai/cli@latest',
|
|
51
|
+
'npm exec --package=@neurcode-ai/cli@latest -- neurcode cursor gate --help',
|
|
52
|
+
],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function emitCliVersionStaleWarning(warning, json) {
|
|
56
|
+
if (json)
|
|
57
|
+
return;
|
|
58
|
+
process.stderr.write(`⚠️ ${warning.message}\n`);
|
|
59
|
+
for (const step of warning.remediation) {
|
|
60
|
+
process.stderr.write(` ${step}\n`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
18
63
|
function repoRelativeArtifactPath(repoRoot, artifactPath) {
|
|
19
64
|
const root = repoRoot.replace(/\\/g, '/').replace(/\/+$/, '');
|
|
20
65
|
const normalized = artifactPath.replace(/\\/g, '/');
|
|
@@ -217,11 +262,38 @@ function formatCursorGateCiErrors(payload) {
|
|
|
217
262
|
}
|
|
218
263
|
return lines;
|
|
219
264
|
}
|
|
220
|
-
|
|
265
|
+
function hookPinnedCliDir(repoRoot) {
|
|
266
|
+
return (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks-cli');
|
|
267
|
+
}
|
|
268
|
+
function hookPinnedCliPath(repoRoot) {
|
|
269
|
+
return (0, node_path_1.resolve)(hookPinnedCliDir(repoRoot), 'node_modules', '.bin', 'neurcode');
|
|
270
|
+
}
|
|
271
|
+
function ensureHookPinnedCli(repoRoot) {
|
|
272
|
+
const cliDir = hookPinnedCliDir(repoRoot);
|
|
273
|
+
const cliPath = hookPinnedCliPath(repoRoot);
|
|
274
|
+
if ((0, node_fs_1.existsSync)(cliPath)) {
|
|
275
|
+
return { ok: true, cliPath, message: `Pinned hook CLI present at ${cliPath}` };
|
|
276
|
+
}
|
|
277
|
+
(0, node_fs_1.mkdirSync)(cliDir, { recursive: true });
|
|
278
|
+
const install = (0, node_child_process_1.spawnSync)('npm', ['install', '--prefix', cliDir, '--silent', '--no-save', `@neurcode-ai/cli@${exports.MIN_CURSOR_GATE_CLI_VERSION}`], { cwd: repoRoot, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
|
|
279
|
+
if (install.status !== 0 || !(0, node_fs_1.existsSync)(cliPath)) {
|
|
280
|
+
return {
|
|
281
|
+
ok: false,
|
|
282
|
+
cliPath,
|
|
283
|
+
message: install.stderr?.trim() || install.stdout?.trim() || 'Failed to install pinned hook CLI.',
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
return { ok: true, cliPath, message: `Installed pinned hook CLI at ${cliPath}` };
|
|
287
|
+
}
|
|
288
|
+
function buildCursorGateHookScript(hookKind) {
|
|
289
|
+
const gitAction = hookKind === 'pre-push' ? 'push' : 'commit';
|
|
290
|
+
const blockedLabel = hookKind === 'pre-push' ? 'push' : 'commit';
|
|
291
|
+
const beforeAction = hookKind === 'pre-push' ? 'pushing' : 'committing';
|
|
292
|
+
return `#!/usr/bin/env bash
|
|
221
293
|
set -euo pipefail
|
|
222
294
|
|
|
223
|
-
# Neurcode Cursor fail-closed
|
|
224
|
-
# Emergency bypass (audited): NEURCODE_CURSOR_GATE_SKIP=1 git
|
|
295
|
+
# Neurcode Cursor fail-closed ${blockedLabel} gate (cooperative enforcement handoff).
|
|
296
|
+
# Emergency bypass (audited): NEURCODE_CURSOR_GATE_SKIP=1 git ${gitAction} ...
|
|
225
297
|
|
|
226
298
|
if [[ "\${NEURCODE_CURSOR_GATE_SKIP:-0}" == "1" ]]; then
|
|
227
299
|
echo "⚠️ NEURCODE_CURSOR_GATE_SKIP=1 — cursor gate bypassed (audited emergency only)." >&2
|
|
@@ -229,18 +301,21 @@ if [[ "\${NEURCODE_CURSOR_GATE_SKIP:-0}" == "1" ]]; then
|
|
|
229
301
|
fi
|
|
230
302
|
|
|
231
303
|
ROOT="\$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
|
|
232
|
-
CLI=
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
304
|
+
CLI=()
|
|
305
|
+
PINNED_CLI="\$ROOT/.neurcode/hooks-cli/node_modules/.bin/neurcode"
|
|
306
|
+
if [[ -x "\$PINNED_CLI" ]]; then
|
|
307
|
+
CLI=("\$PINNED_CLI")
|
|
308
|
+
elif [[ -n "\${NEURCODE_CLI:-}" && -x "\${NEURCODE_CLI}" ]]; then
|
|
309
|
+
CLI=("\${NEURCODE_CLI}")
|
|
310
|
+
elif command -v neurcode >/dev/null 2>&1 && neurcode cursor gate --help 2>&1 | grep -q 'Fail-closed'; then
|
|
311
|
+
CLI=(neurcode)
|
|
237
312
|
else
|
|
238
|
-
echo "❌ Neurcode cursor gate: neurcode CLI not found
|
|
313
|
+
echo "❌ Neurcode cursor gate: neurcode CLI not found or too old (need @neurcode-ai/cli@${exports.MIN_CURSOR_GATE_CLI_VERSION}+). Run: neurcode cursor gate install --force" >&2
|
|
239
314
|
exit 1
|
|
240
315
|
fi
|
|
241
316
|
|
|
242
317
|
set +e
|
|
243
|
-
OUTPUT=\$(
|
|
318
|
+
OUTPUT=\$("\${CLI[@]}" cursor gate --dir "\$ROOT" --json 2>&1)
|
|
244
319
|
STATUS=\$?
|
|
245
320
|
set -e
|
|
246
321
|
|
|
@@ -251,50 +326,58 @@ fi
|
|
|
251
326
|
echo "\$OUTPUT" >&2
|
|
252
327
|
cat >&2 <<'MSG'
|
|
253
328
|
|
|
254
|
-
❌ Neurcode cursor gate blocked this
|
|
329
|
+
❌ Neurcode cursor gate blocked this ${blockedLabel}.
|
|
255
330
|
|
|
256
331
|
Unverified or denied-but-changed writes were detected in the active guarded session.
|
|
257
|
-
Finish the session, fix bypassed writes, or run agent checks before
|
|
332
|
+
Finish the session, fix bypassed writes, or run agent checks before ${beforeAction}.
|
|
258
333
|
|
|
259
334
|
Remediation:
|
|
260
335
|
neurcode agent guard status --fail-on-unverified --explain
|
|
261
336
|
neurcode agent guard finish --fail-on-unverified
|
|
262
337
|
|
|
263
338
|
Emergency bypass (audited):
|
|
264
|
-
NEURCODE_CURSOR_GATE_SKIP=1 git
|
|
339
|
+
NEURCODE_CURSOR_GATE_SKIP=1 git ${gitAction} ...
|
|
265
340
|
MSG
|
|
266
341
|
exit "\$STATUS"
|
|
267
342
|
`;
|
|
343
|
+
}
|
|
268
344
|
function runGit(args, cwd) {
|
|
269
345
|
const result = (0, node_child_process_1.spawnSync)('git', args, { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
|
|
270
346
|
return { stdout: result.stdout || '', stderr: result.stderr || '', status: result.status ?? 1 };
|
|
271
347
|
}
|
|
272
|
-
function
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
348
|
+
function resolveCursorGateHookKinds(hook) {
|
|
349
|
+
if (hook === 'both')
|
|
350
|
+
return ['pre-commit', 'pre-push'];
|
|
351
|
+
if (hook === 'pre-commit')
|
|
352
|
+
return ['pre-commit'];
|
|
353
|
+
return ['pre-push'];
|
|
354
|
+
}
|
|
355
|
+
function installSingleCursorGateHook(input) {
|
|
356
|
+
const hooksDir = (0, node_path_1.resolve)(input.repoRoot, '.githooks');
|
|
357
|
+
const hookPath = (0, node_path_1.resolve)(hooksDir, input.hookKind);
|
|
358
|
+
const neurcodeHookPath = (0, node_path_1.resolve)(input.repoRoot, '.neurcode', 'hooks', input.hookKind);
|
|
359
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(input.repoRoot, '.neurcode', 'hooks'), { recursive: true });
|
|
360
|
+
(0, node_fs_1.writeFileSync)(neurcodeHookPath, buildCursorGateHookScript(input.hookKind), 'utf8');
|
|
279
361
|
(0, node_fs_1.chmodSync)(neurcodeHookPath, 0o755);
|
|
280
362
|
const marker = '# >>> neurcode-cursor-gate >>>';
|
|
281
363
|
const existing = (0, node_fs_1.existsSync)(hookPath) ? (0, node_fs_1.readFileSync)(hookPath, 'utf8') : '';
|
|
282
364
|
if (existing.includes(marker) && !input.force) {
|
|
283
|
-
const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], repoRoot);
|
|
365
|
+
const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], input.repoRoot);
|
|
284
366
|
const configured = hooksPathResult.status === 0 ? hooksPathResult.stdout.trim() : '';
|
|
285
367
|
return {
|
|
286
368
|
ok: true,
|
|
287
|
-
repoRoot,
|
|
369
|
+
repoRoot: input.repoRoot,
|
|
288
370
|
hooksPath: hooksDir,
|
|
371
|
+
hookKind: input.hookKind,
|
|
289
372
|
hookPath,
|
|
290
373
|
neurcodeHookPath,
|
|
291
374
|
hooksPathConfigured: configured === '.githooks' || configured === hooksDir,
|
|
292
|
-
message:
|
|
375
|
+
message: `Cursor gate ${input.hookKind} hook already installed. Use --force to rewrite.`,
|
|
293
376
|
};
|
|
294
377
|
}
|
|
295
378
|
(0, node_fs_1.mkdirSync)(hooksDir, { recursive: true });
|
|
296
379
|
const fragment = `${marker}
|
|
297
|
-
# Neurcode Cursor fail-closed push gate
|
|
380
|
+
# Neurcode Cursor fail-closed ${input.hookKind === 'pre-push' ? 'push' : 'commit'} gate
|
|
298
381
|
exec "${neurcodeHookPath}"
|
|
299
382
|
# <<< neurcode-cursor-gate <<<
|
|
300
383
|
`;
|
|
@@ -303,89 +386,158 @@ exec "${neurcodeHookPath}"
|
|
|
303
386
|
: `#!/usr/bin/env bash\nset -euo pipefail\n\n${fragment}`;
|
|
304
387
|
(0, node_fs_1.writeFileSync)(hookPath, merged.endsWith('\n') ? merged : `${merged}\n`, 'utf8');
|
|
305
388
|
(0, node_fs_1.chmodSync)(hookPath, 0o755);
|
|
306
|
-
const setResult = runGit(['config', 'core.hooksPath', '.githooks'], repoRoot);
|
|
307
|
-
if (setResult.status !== 0) {
|
|
308
|
-
return {
|
|
309
|
-
ok: false,
|
|
310
|
-
repoRoot,
|
|
311
|
-
hooksPath: hooksDir,
|
|
312
|
-
hookPath,
|
|
313
|
-
neurcodeHookPath,
|
|
314
|
-
hooksPathConfigured: false,
|
|
315
|
-
message: `Failed to set core.hooksPath: ${setResult.stderr || setResult.stdout}`,
|
|
316
|
-
};
|
|
317
|
-
}
|
|
318
389
|
return {
|
|
319
390
|
ok: true,
|
|
320
|
-
repoRoot,
|
|
391
|
+
repoRoot: input.repoRoot,
|
|
321
392
|
hooksPath: hooksDir,
|
|
393
|
+
hookKind: input.hookKind,
|
|
322
394
|
hookPath,
|
|
323
395
|
neurcodeHookPath,
|
|
324
|
-
hooksPathConfigured:
|
|
325
|
-
message:
|
|
396
|
+
hooksPathConfigured: false,
|
|
397
|
+
message: `Installed Neurcode cursor gate ${input.hookKind} hook.`,
|
|
326
398
|
};
|
|
327
399
|
}
|
|
328
|
-
function
|
|
400
|
+
function installCursorGateHook(input) {
|
|
329
401
|
const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
|
|
402
|
+
const hookKinds = resolveCursorGateHookKinds(input.hook);
|
|
403
|
+
const pinnedCli = ensureHookPinnedCli(repoRoot);
|
|
404
|
+
const hooks = hookKinds.map((hookKind) => installSingleCursorGateHook({
|
|
405
|
+
repoRoot,
|
|
406
|
+
hookKind,
|
|
407
|
+
force: input.force,
|
|
408
|
+
}));
|
|
409
|
+
if (!pinnedCli.ok) {
|
|
410
|
+
for (const hook of hooks) {
|
|
411
|
+
hook.ok = false;
|
|
412
|
+
hook.message = `${hook.message} ${pinnedCli.message}`.trim();
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
const setResult = runGit(['config', 'core.hooksPath', '.githooks'], repoRoot);
|
|
416
|
+
const hooksPathConfigured = setResult.status === 0;
|
|
417
|
+
for (const hook of hooks) {
|
|
418
|
+
hook.hooksPathConfigured = hooksPathConfigured;
|
|
419
|
+
if (!hooksPathConfigured)
|
|
420
|
+
hook.ok = false;
|
|
421
|
+
}
|
|
422
|
+
const ok = hooksPathConfigured && hooks.every((hook) => hook.ok);
|
|
423
|
+
const label = hookKinds.length === 2
|
|
424
|
+
? 'pre-commit and pre-push'
|
|
425
|
+
: hookKinds[0] === 'pre-commit'
|
|
426
|
+
? 'pre-commit'
|
|
427
|
+
: 'pre-push';
|
|
428
|
+
return {
|
|
429
|
+
ok,
|
|
430
|
+
repoRoot,
|
|
431
|
+
hooksPath: (0, node_path_1.resolve)(repoRoot, '.githooks'),
|
|
432
|
+
hooks,
|
|
433
|
+
hooksPathConfigured,
|
|
434
|
+
message: hooksPathConfigured
|
|
435
|
+
? `Installed Neurcode cursor gate ${label} hook${hookKinds.length > 1 ? 's' : ''}.`
|
|
436
|
+
: `Failed to set core.hooksPath: ${setResult.stderr || setResult.stdout}`,
|
|
437
|
+
};
|
|
438
|
+
}
|
|
439
|
+
function doctorCursorGateHookKind(repoRoot, hookKind, required) {
|
|
330
440
|
const checks = [];
|
|
331
|
-
const neurcodeHookPath = (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks',
|
|
332
|
-
const hookPath = (0, node_path_1.resolve)(repoRoot, '.githooks',
|
|
441
|
+
const neurcodeHookPath = (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', hookKind);
|
|
442
|
+
const hookPath = (0, node_path_1.resolve)(repoRoot, '.githooks', hookKind);
|
|
443
|
+
const prefix = hookKind.replace('-', '_');
|
|
444
|
+
const neurcodeExists = (0, node_fs_1.existsSync)(neurcodeHookPath);
|
|
445
|
+
const githookExists = (0, node_fs_1.existsSync)(hookPath);
|
|
446
|
+
const installed = neurcodeExists || githookExists;
|
|
447
|
+
if (!required && !installed) {
|
|
448
|
+
checks.push({
|
|
449
|
+
id: `${prefix}_optional`,
|
|
450
|
+
status: 'skip',
|
|
451
|
+
message: `${hookKind} hook not installed (optional unless --hook both).`,
|
|
452
|
+
});
|
|
453
|
+
return checks;
|
|
454
|
+
}
|
|
333
455
|
checks.push({
|
|
334
|
-
id:
|
|
335
|
-
status:
|
|
336
|
-
message:
|
|
456
|
+
id: `neurcode_hook_script_${prefix}`,
|
|
457
|
+
status: neurcodeExists ? 'pass' : 'fail',
|
|
458
|
+
message: neurcodeExists
|
|
337
459
|
? `Found ${neurcodeHookPath}`
|
|
338
|
-
: `Missing ${neurcodeHookPath}. Run: neurcode cursor gate install`,
|
|
460
|
+
: `Missing ${neurcodeHookPath}. Run: neurcode cursor gate install --hook ${hookKind}`,
|
|
339
461
|
});
|
|
340
|
-
if (
|
|
462
|
+
if (neurcodeExists) {
|
|
341
463
|
try {
|
|
342
464
|
const stat = (0, node_fs_1.statSync)(neurcodeHookPath);
|
|
343
465
|
const executable = (stat.mode & 0o111) !== 0;
|
|
344
466
|
checks.push({
|
|
345
|
-
id:
|
|
467
|
+
id: `neurcode_hook_executable_${prefix}`,
|
|
346
468
|
status: executable ? 'pass' : 'fail',
|
|
347
|
-
message: executable
|
|
469
|
+
message: executable
|
|
470
|
+
? `${hookKind} hook script is executable`
|
|
471
|
+
: `${hookKind} hook script is not executable`,
|
|
348
472
|
});
|
|
349
473
|
}
|
|
350
474
|
catch (error) {
|
|
351
475
|
checks.push({
|
|
352
|
-
id:
|
|
476
|
+
id: `neurcode_hook_executable_${prefix}`,
|
|
353
477
|
status: 'fail',
|
|
354
478
|
message: error instanceof Error ? error.message : String(error),
|
|
355
479
|
});
|
|
356
480
|
}
|
|
357
481
|
}
|
|
358
482
|
checks.push({
|
|
359
|
-
id:
|
|
360
|
-
status:
|
|
361
|
-
message:
|
|
483
|
+
id: `githooks_${prefix}`,
|
|
484
|
+
status: githookExists ? 'pass' : 'fail',
|
|
485
|
+
message: githookExists
|
|
362
486
|
? `Found ${hookPath}`
|
|
363
|
-
: `Missing ${hookPath}. Run: neurcode cursor gate install`,
|
|
487
|
+
: `Missing ${hookPath}. Run: neurcode cursor gate install --hook ${hookKind}`,
|
|
364
488
|
});
|
|
365
|
-
if (
|
|
489
|
+
if (githookExists) {
|
|
366
490
|
const content = (0, node_fs_1.readFileSync)(hookPath, 'utf8');
|
|
367
491
|
checks.push({
|
|
368
|
-
id:
|
|
492
|
+
id: `githooks_fragment_${prefix}`,
|
|
369
493
|
status: content.includes('neurcode-cursor-gate') ? 'pass' : 'fail',
|
|
370
494
|
message: content.includes('neurcode-cursor-gate')
|
|
371
|
-
?
|
|
372
|
-
:
|
|
495
|
+
? `${hookKind} delegates to Neurcode cursor gate`
|
|
496
|
+
: `${hookKind} missing neurcode-cursor-gate marker`,
|
|
373
497
|
});
|
|
374
498
|
}
|
|
499
|
+
return checks;
|
|
500
|
+
}
|
|
501
|
+
function doctorCursorGateHook(input) {
|
|
502
|
+
const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
|
|
503
|
+
const cliVersionWarning = buildCliVersionStaleWarning();
|
|
504
|
+
const prePushInstalled = (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.githooks', 'pre-push'))
|
|
505
|
+
|| (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-push'));
|
|
506
|
+
const preCommitInstalled = (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.githooks', 'pre-commit'))
|
|
507
|
+
|| (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-commit'));
|
|
508
|
+
const requirePreCommit = preCommitInstalled;
|
|
509
|
+
const requirePrePush = prePushInstalled || !preCommitInstalled;
|
|
510
|
+
const checks = [
|
|
511
|
+
...doctorCursorGateHookKind(repoRoot, 'pre-push', requirePrePush),
|
|
512
|
+
...doctorCursorGateHookKind(repoRoot, 'pre-commit', requirePreCommit),
|
|
513
|
+
];
|
|
375
514
|
const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], repoRoot);
|
|
376
515
|
const configured = hooksPathResult.status === 0 ? hooksPathResult.stdout.trim() : '';
|
|
377
516
|
const expected = '.githooks';
|
|
517
|
+
const hooksNeeded = prePushInstalled || preCommitInstalled;
|
|
378
518
|
checks.push({
|
|
379
519
|
id: 'core_hooks_path',
|
|
380
|
-
status: configured === expected || configured === (0, node_path_1.resolve)(repoRoot, '.githooks')
|
|
520
|
+
status: !hooksNeeded || configured === expected || configured === (0, node_path_1.resolve)(repoRoot, '.githooks')
|
|
521
|
+
? 'pass'
|
|
522
|
+
: 'fail',
|
|
381
523
|
message: configured
|
|
382
524
|
? `core.hooksPath=${configured}`
|
|
383
|
-
:
|
|
525
|
+
: hooksNeeded
|
|
526
|
+
? 'core.hooksPath is unset. Run: neurcode cursor gate install'
|
|
527
|
+
: 'core.hooksPath is unset (no hooks installed yet).',
|
|
384
528
|
});
|
|
529
|
+
if (cliVersionWarning) {
|
|
530
|
+
checks.push({
|
|
531
|
+
id: 'cli_version_stale',
|
|
532
|
+
status: 'fail',
|
|
533
|
+
message: cliVersionWarning.message,
|
|
534
|
+
});
|
|
535
|
+
}
|
|
385
536
|
return {
|
|
386
537
|
ok: checks.every((check) => check.status === 'pass'),
|
|
387
538
|
checks,
|
|
388
539
|
repoRoot,
|
|
540
|
+
cliVersionWarning,
|
|
389
541
|
};
|
|
390
542
|
}
|
|
391
543
|
//# sourceMappingURL=cursor-gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-gate.js","sourceRoot":"","sources":["../../src/utils/cursor-gate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cursor-gate.js","sourceRoot":"","sources":["../../src/utils/cursor-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type GovernanceSession } from '@neurcode-ai/governance-runtime';
|
|
2
|
+
export declare const SESSION_SCOPE_RULES_RELATIVE: ".cursor/rules/neurcode-session-scope.mdc";
|
|
3
|
+
export declare const STRICT_CURSOR_RULES_MARKER = "neurcode-enterprise-strict-mode";
|
|
4
|
+
export interface SessionScopeRulesResult {
|
|
5
|
+
ok: boolean;
|
|
6
|
+
filePath: string;
|
|
7
|
+
sessionId: string | null;
|
|
8
|
+
allowedGlobs: string[];
|
|
9
|
+
message: string;
|
|
10
|
+
}
|
|
11
|
+
export interface StrictCursorRulesResult {
|
|
12
|
+
ok: boolean;
|
|
13
|
+
filePath: string;
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function buildSessionScopeRulesBody(session: GovernanceSession): string;
|
|
17
|
+
export declare function writeSessionScopeRules(input: {
|
|
18
|
+
repoRoot: string;
|
|
19
|
+
session: GovernanceSession;
|
|
20
|
+
}): SessionScopeRulesResult;
|
|
21
|
+
export declare function refreshSessionScopeRules(input: {
|
|
22
|
+
dir?: string;
|
|
23
|
+
sessionId?: string;
|
|
24
|
+
}): SessionScopeRulesResult;
|
|
25
|
+
export declare function writeStrictCursorRules(input: {
|
|
26
|
+
repoRoot: string;
|
|
27
|
+
}): StrictCursorRulesResult;
|
|
28
|
+
export declare function listStrictOnboardArtifacts(repoRoot: string): string[];
|
|
29
|
+
//# sourceMappingURL=session-allowlist-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-allowlist-rules.d.ts","sourceRoot":"","sources":["../../src/utils/session-allowlist-rules.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkC,KAAK,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGzG,eAAO,MAAM,4BAA4B,EAAG,0CAAmD,CAAC;AAChG,eAAO,MAAM,0BAA0B,oCAAoC,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAcD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CA0B7E;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,iBAAiB,CAAC;CAC5B,GAAG,uBAAuB,CAY1B;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,uBAAuB,CAe1B;AAgBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,uBAAuB,CAoB3F;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAWrE"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STRICT_CURSOR_RULES_MARKER = exports.SESSION_SCOPE_RULES_RELATIVE = void 0;
|
|
4
|
+
exports.buildSessionScopeRulesBody = buildSessionScopeRulesBody;
|
|
5
|
+
exports.writeSessionScopeRules = writeSessionScopeRules;
|
|
6
|
+
exports.refreshSessionScopeRules = refreshSessionScopeRules;
|
|
7
|
+
exports.writeStrictCursorRules = writeStrictCursorRules;
|
|
8
|
+
exports.listStrictOnboardArtifacts = listStrictOnboardArtifacts;
|
|
9
|
+
const node_fs_1 = require("node:fs");
|
|
10
|
+
const node_path_1 = require("node:path");
|
|
11
|
+
const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
|
|
12
|
+
const v0_governance_1 = require("./v0-governance");
|
|
13
|
+
exports.SESSION_SCOPE_RULES_RELATIVE = '.cursor/rules/neurcode-session-scope.mdc';
|
|
14
|
+
exports.STRICT_CURSOR_RULES_MARKER = 'neurcode-enterprise-strict-mode';
|
|
15
|
+
function ensureParent(path) {
|
|
16
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.join)(path, '..'), { recursive: true });
|
|
17
|
+
}
|
|
18
|
+
function planTargetLines(session) {
|
|
19
|
+
const plan = session.contract.agentPlan;
|
|
20
|
+
if (!plan)
|
|
21
|
+
return [];
|
|
22
|
+
const files = (plan.expectedFiles ?? []).slice(0, 20).map((path) => `- \`${path}\` (file)`);
|
|
23
|
+
const globs = (plan.expectedGlobs ?? []).slice(0, 20).map((glob) => `- \`${glob}\` (glob)`);
|
|
24
|
+
return [...files, ...globs];
|
|
25
|
+
}
|
|
26
|
+
function buildSessionScopeRulesBody(session) {
|
|
27
|
+
const globs = session.contract.allowedGlobs.slice(0, 50);
|
|
28
|
+
const planLines = planTargetLines(session);
|
|
29
|
+
return `---
|
|
30
|
+
description: Neurcode active session scope (auto-generated — do not edit manually)
|
|
31
|
+
globs:
|
|
32
|
+
- "**/*"
|
|
33
|
+
alwaysApply: true
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
# Neurcode session scope (${session.sessionId})
|
|
37
|
+
|
|
38
|
+
**Goal:** ${session.contract.goal.trim() || '(none)'}
|
|
39
|
+
|
|
40
|
+
**Scope mode:** ${session.contract.scopeMode}
|
|
41
|
+
|
|
42
|
+
## In-scope path globs
|
|
43
|
+
|
|
44
|
+
${globs.length > 0 ? globs.map((glob) => `- \`${glob}\``).join('\n') : '- _(no allowed globs derived — approval-required boundaries still apply)_'}
|
|
45
|
+
|
|
46
|
+
${planLines.length > 0 ? `## Plan-declared targets\n\n${planLines.join('\n')}\n` : ''}
|
|
47
|
+
## Drift rule
|
|
48
|
+
|
|
49
|
+
Do **not** edit files outside the in-scope globs above without an explicit \`neurcode agent amend\` / replan.
|
|
50
|
+
Neighbor paths and approval-required boundaries remain blocked even when a nearby path was approved.
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
function writeSessionScopeRules(input) {
|
|
54
|
+
const filePath = (0, node_path_1.join)(input.repoRoot, exports.SESSION_SCOPE_RULES_RELATIVE);
|
|
55
|
+
ensureParent(filePath);
|
|
56
|
+
const body = buildSessionScopeRulesBody(input.session);
|
|
57
|
+
(0, node_fs_1.writeFileSync)(filePath, body.endsWith('\n') ? body : `${body}\n`, 'utf8');
|
|
58
|
+
return {
|
|
59
|
+
ok: true,
|
|
60
|
+
filePath,
|
|
61
|
+
sessionId: input.session.sessionId,
|
|
62
|
+
allowedGlobs: input.session.contract.allowedGlobs,
|
|
63
|
+
message: `Wrote session scope rules to ${exports.SESSION_SCOPE_RULES_RELATIVE}.`,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function refreshSessionScopeRules(input) {
|
|
67
|
+
const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
|
|
68
|
+
const session = input.sessionId
|
|
69
|
+
? (0, governance_runtime_1.loadSession)(repoRoot, input.sessionId)
|
|
70
|
+
: (0, governance_runtime_1.loadActiveSession)(repoRoot);
|
|
71
|
+
if (!session) {
|
|
72
|
+
return {
|
|
73
|
+
ok: false,
|
|
74
|
+
filePath: (0, node_path_1.join)(repoRoot, exports.SESSION_SCOPE_RULES_RELATIVE),
|
|
75
|
+
sessionId: null,
|
|
76
|
+
allowedGlobs: [],
|
|
77
|
+
message: 'No active governed session found. Start one with neurcode cursor onboard or agent guard start.',
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return writeSessionScopeRules({ repoRoot, session });
|
|
81
|
+
}
|
|
82
|
+
const STRICT_RULES_BODY = `
|
|
83
|
+
<!-- ${exports.STRICT_CURSOR_RULES_MARKER} -->
|
|
84
|
+
|
|
85
|
+
## Enterprise strict mode (mandatory)
|
|
86
|
+
|
|
87
|
+
- **Before EVERY proposed file write:** call \`neurcode_agent_edit_before\` (MCP \`edit.before\`) — no exceptions.
|
|
88
|
+
- **Before commit, push, or merge:** run \`neurcode cursor gate\` — exit **0** required for handoff; exit **2** means fix bypassed writes first.
|
|
89
|
+
- **Pre-commit and pre-push hooks** run the gate automatically. Emergency bypass only: \`NEURCODE_CURSOR_GATE_SKIP=1\` (audited).
|
|
90
|
+
- **Session scope:** obey \`.cursor/rules/neurcode-session-scope.mdc\`; replan before editing outside declared globs.
|
|
91
|
+
- **Finish:** \`neurcode agent guard finish --fail-on-unverified\` after gate is clean.
|
|
92
|
+
|
|
93
|
+
Cursor does **not** provide Claude-style hard pre-write deny — cooperative checks plus fail-closed handoff are the enterprise contract.
|
|
94
|
+
`.trim();
|
|
95
|
+
function writeStrictCursorRules(input) {
|
|
96
|
+
const filePath = (0, node_path_1.join)(input.repoRoot, '.cursor', 'rules', 'neurcode.mdc');
|
|
97
|
+
ensureParent(filePath);
|
|
98
|
+
const existing = (0, node_fs_1.existsSync)(filePath) ? (0, node_fs_1.readFileSync)(filePath, 'utf8') : '';
|
|
99
|
+
if (existing.includes(exports.STRICT_CURSOR_RULES_MARKER)) {
|
|
100
|
+
return {
|
|
101
|
+
ok: true,
|
|
102
|
+
filePath,
|
|
103
|
+
message: 'Strict enterprise rules already present in neurcode.mdc.',
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const merged = existing.trim()
|
|
107
|
+
? `${existing.trimEnd()}\n\n${STRICT_RULES_BODY}\n`
|
|
108
|
+
: `${STRICT_RULES_BODY}\n`;
|
|
109
|
+
(0, node_fs_1.writeFileSync)(filePath, merged, 'utf8');
|
|
110
|
+
return {
|
|
111
|
+
ok: true,
|
|
112
|
+
filePath,
|
|
113
|
+
message: 'Appended enterprise strict-mode rules to neurcode.mdc.',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
function listStrictOnboardArtifacts(repoRoot) {
|
|
117
|
+
const artifacts = [
|
|
118
|
+
'.cursor/mcp.json',
|
|
119
|
+
'.cursor/rules/neurcode.mdc',
|
|
120
|
+
exports.SESSION_SCOPE_RULES_RELATIVE,
|
|
121
|
+
'.githooks/pre-commit',
|
|
122
|
+
'.githooks/pre-push',
|
|
123
|
+
'.neurcode/hooks/pre-commit',
|
|
124
|
+
'.neurcode/hooks/pre-push',
|
|
125
|
+
];
|
|
126
|
+
return artifacts.filter((relative) => (0, node_fs_1.existsSync)((0, node_path_1.join)(repoRoot, relative)));
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=session-allowlist-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-allowlist-rules.js","sourceRoot":"","sources":["../../src/utils/session-allowlist-rules.ts"],"names":[],"mappings":"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"}
|