@neurcode-ai/cli 0.15.4 → 0.15.5

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.
@@ -1,6 +1,9 @@
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,11 +13,52 @@ const node_crypto_1 = require("node:crypto");
10
13
  const node_fs_1 = require("node:fs");
11
14
  const node_path_1 = require("node:path");
12
15
  const node_child_process_1 = require("node:child_process");
16
+ const contracts_1 = require("@neurcode-ai/contracts");
13
17
  const governance_runtime_1 = require("@neurcode-ai/governance-runtime");
14
18
  const agent_guard_1 = require("./agent-guard");
15
19
  const v0_governance_1 = require("./v0-governance");
16
20
  const runtime_live_1 = require("./runtime-live");
17
21
  exports.CURSOR_GATE_SCHEMA_VERSION = 'neurcode.cursor-gate.v1';
22
+ exports.MIN_CURSOR_GATE_CLI_VERSION = '0.15.4';
23
+ function readBundledCliVersion() {
24
+ try {
25
+ const pkgPath = (0, node_path_1.join)(__dirname, '..', '..', 'package.json');
26
+ const pkg = JSON.parse((0, node_fs_1.readFileSync)(pkgPath, 'utf8'));
27
+ return pkg.version?.trim() || 'unknown';
28
+ }
29
+ catch {
30
+ return 'unknown';
31
+ }
32
+ }
33
+ /** Warn when the running CLI is too old for cursor gate (e.g. stale global @neurcode-ai/cli). */
34
+ function buildCliVersionStaleWarning(options) {
35
+ const expectedVersion = readBundledCliVersion();
36
+ const runningVersion = options?.runningVersionOverride?.trim() || expectedVersion;
37
+ const minimumVersion = options?.minimumVersion?.trim() || exports.MIN_CURSOR_GATE_CLI_VERSION;
38
+ const meetsMinimum = (0, contracts_1.isSemverAtLeast)(runningVersion, minimumVersion);
39
+ if (meetsMinimum !== false)
40
+ return null;
41
+ return {
42
+ id: 'cli_version_stale',
43
+ status: 'warn',
44
+ runningVersion,
45
+ expectedVersion,
46
+ minimumVersion,
47
+ message: `CLI ${runningVersion} is older than ${minimumVersion}; cursor gate and enterprise hooks require @neurcode-ai/cli@${minimumVersion}+.`,
48
+ remediation: [
49
+ 'npm install -g @neurcode-ai/cli@latest',
50
+ 'npm exec --package=@neurcode-ai/cli@latest -- neurcode cursor gate --help',
51
+ ],
52
+ };
53
+ }
54
+ function emitCliVersionStaleWarning(warning, json) {
55
+ if (json)
56
+ return;
57
+ process.stderr.write(`⚠️ ${warning.message}\n`);
58
+ for (const step of warning.remediation) {
59
+ process.stderr.write(` ${step}\n`);
60
+ }
61
+ }
18
62
  function repoRelativeArtifactPath(repoRoot, artifactPath) {
19
63
  const root = repoRoot.replace(/\\/g, '/').replace(/\/+$/, '');
20
64
  const normalized = artifactPath.replace(/\\/g, '/');
@@ -217,11 +261,15 @@ function formatCursorGateCiErrors(payload) {
217
261
  }
218
262
  return lines;
219
263
  }
220
- const CURSOR_GATE_HOOK_SCRIPT = `#!/usr/bin/env bash
264
+ function buildCursorGateHookScript(hookKind) {
265
+ const gitAction = hookKind === 'pre-push' ? 'push' : 'commit';
266
+ const blockedLabel = hookKind === 'pre-push' ? 'push' : 'commit';
267
+ const beforeAction = hookKind === 'pre-push' ? 'pushing' : 'committing';
268
+ return `#!/usr/bin/env bash
221
269
  set -euo pipefail
222
270
 
223
- # Neurcode Cursor fail-closed push gate (cooperative enforcement handoff).
224
- # Emergency bypass (audited): NEURCODE_CURSOR_GATE_SKIP=1 git push ...
271
+ # Neurcode Cursor fail-closed ${blockedLabel} gate (cooperative enforcement handoff).
272
+ # Emergency bypass (audited): NEURCODE_CURSOR_GATE_SKIP=1 git ${gitAction} ...
225
273
 
226
274
  if [[ "\${NEURCODE_CURSOR_GATE_SKIP:-0}" == "1" ]]; then
227
275
  echo "⚠️ NEURCODE_CURSOR_GATE_SKIP=1 — cursor gate bypassed (audited emergency only)." >&2
@@ -251,50 +299,58 @@ fi
251
299
  echo "\$OUTPUT" >&2
252
300
  cat >&2 <<'MSG'
253
301
 
254
- ❌ Neurcode cursor gate blocked this push.
302
+ ❌ Neurcode cursor gate blocked this ${blockedLabel}.
255
303
 
256
304
  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 pushing.
305
+ Finish the session, fix bypassed writes, or run agent checks before ${beforeAction}.
258
306
 
259
307
  Remediation:
260
308
  neurcode agent guard status --fail-on-unverified --explain
261
309
  neurcode agent guard finish --fail-on-unverified
262
310
 
263
311
  Emergency bypass (audited):
264
- NEURCODE_CURSOR_GATE_SKIP=1 git push ...
312
+ NEURCODE_CURSOR_GATE_SKIP=1 git ${gitAction} ...
265
313
  MSG
266
314
  exit "\$STATUS"
267
315
  `;
316
+ }
268
317
  function runGit(args, cwd) {
269
318
  const result = (0, node_child_process_1.spawnSync)('git', args, { cwd, encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'] });
270
319
  return { stdout: result.stdout || '', stderr: result.stderr || '', status: result.status ?? 1 };
271
320
  }
272
- function installCursorGateHook(input) {
273
- const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
274
- const hooksDir = (0, node_path_1.resolve)(repoRoot, '.githooks');
275
- const hookPath = (0, node_path_1.resolve)(hooksDir, 'pre-push');
276
- const neurcodeHookPath = (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-push');
277
- (0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks'), { recursive: true });
278
- (0, node_fs_1.writeFileSync)(neurcodeHookPath, CURSOR_GATE_HOOK_SCRIPT, 'utf8');
321
+ function resolveCursorGateHookKinds(hook) {
322
+ if (hook === 'both')
323
+ return ['pre-commit', 'pre-push'];
324
+ if (hook === 'pre-commit')
325
+ return ['pre-commit'];
326
+ return ['pre-push'];
327
+ }
328
+ function installSingleCursorGateHook(input) {
329
+ const hooksDir = (0, node_path_1.resolve)(input.repoRoot, '.githooks');
330
+ const hookPath = (0, node_path_1.resolve)(hooksDir, input.hookKind);
331
+ const neurcodeHookPath = (0, node_path_1.resolve)(input.repoRoot, '.neurcode', 'hooks', input.hookKind);
332
+ (0, node_fs_1.mkdirSync)((0, node_path_1.resolve)(input.repoRoot, '.neurcode', 'hooks'), { recursive: true });
333
+ (0, node_fs_1.writeFileSync)(neurcodeHookPath, buildCursorGateHookScript(input.hookKind), 'utf8');
279
334
  (0, node_fs_1.chmodSync)(neurcodeHookPath, 0o755);
280
335
  const marker = '# >>> neurcode-cursor-gate >>>';
281
336
  const existing = (0, node_fs_1.existsSync)(hookPath) ? (0, node_fs_1.readFileSync)(hookPath, 'utf8') : '';
282
337
  if (existing.includes(marker) && !input.force) {
283
- const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], repoRoot);
338
+ const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], input.repoRoot);
284
339
  const configured = hooksPathResult.status === 0 ? hooksPathResult.stdout.trim() : '';
285
340
  return {
286
341
  ok: true,
287
- repoRoot,
342
+ repoRoot: input.repoRoot,
288
343
  hooksPath: hooksDir,
344
+ hookKind: input.hookKind,
289
345
  hookPath,
290
346
  neurcodeHookPath,
291
347
  hooksPathConfigured: configured === '.githooks' || configured === hooksDir,
292
- message: 'Cursor gate hook already installed. Use --force to rewrite.',
348
+ message: `Cursor gate ${input.hookKind} hook already installed. Use --force to rewrite.`,
293
349
  };
294
350
  }
295
351
  (0, node_fs_1.mkdirSync)(hooksDir, { recursive: true });
296
352
  const fragment = `${marker}
297
- # Neurcode Cursor fail-closed push gate
353
+ # Neurcode Cursor fail-closed ${input.hookKind === 'pre-push' ? 'push' : 'commit'} gate
298
354
  exec "${neurcodeHookPath}"
299
355
  # <<< neurcode-cursor-gate <<<
300
356
  `;
@@ -303,89 +359,151 @@ exec "${neurcodeHookPath}"
303
359
  : `#!/usr/bin/env bash\nset -euo pipefail\n\n${fragment}`;
304
360
  (0, node_fs_1.writeFileSync)(hookPath, merged.endsWith('\n') ? merged : `${merged}\n`, 'utf8');
305
361
  (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
362
  return {
319
363
  ok: true,
320
- repoRoot,
364
+ repoRoot: input.repoRoot,
321
365
  hooksPath: hooksDir,
366
+ hookKind: input.hookKind,
322
367
  hookPath,
323
368
  neurcodeHookPath,
324
- hooksPathConfigured: true,
325
- message: 'Installed Neurcode cursor gate pre-push hook.',
369
+ hooksPathConfigured: false,
370
+ message: `Installed Neurcode cursor gate ${input.hookKind} hook.`,
326
371
  };
327
372
  }
328
- function doctorCursorGateHook(input) {
373
+ function installCursorGateHook(input) {
329
374
  const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
375
+ const hookKinds = resolveCursorGateHookKinds(input.hook);
376
+ const hooks = hookKinds.map((hookKind) => installSingleCursorGateHook({
377
+ repoRoot,
378
+ hookKind,
379
+ force: input.force,
380
+ }));
381
+ const setResult = runGit(['config', 'core.hooksPath', '.githooks'], repoRoot);
382
+ const hooksPathConfigured = setResult.status === 0;
383
+ for (const hook of hooks) {
384
+ hook.hooksPathConfigured = hooksPathConfigured;
385
+ if (!hooksPathConfigured)
386
+ hook.ok = false;
387
+ }
388
+ const ok = hooksPathConfigured && hooks.every((hook) => hook.ok);
389
+ const label = hookKinds.length === 2
390
+ ? 'pre-commit and pre-push'
391
+ : hookKinds[0] === 'pre-commit'
392
+ ? 'pre-commit'
393
+ : 'pre-push';
394
+ return {
395
+ ok,
396
+ repoRoot,
397
+ hooksPath: (0, node_path_1.resolve)(repoRoot, '.githooks'),
398
+ hooks,
399
+ hooksPathConfigured,
400
+ message: hooksPathConfigured
401
+ ? `Installed Neurcode cursor gate ${label} hook${hookKinds.length > 1 ? 's' : ''}.`
402
+ : `Failed to set core.hooksPath: ${setResult.stderr || setResult.stdout}`,
403
+ };
404
+ }
405
+ function doctorCursorGateHookKind(repoRoot, hookKind, required) {
330
406
  const checks = [];
331
- const neurcodeHookPath = (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-push');
332
- const hookPath = (0, node_path_1.resolve)(repoRoot, '.githooks', 'pre-push');
407
+ const neurcodeHookPath = (0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', hookKind);
408
+ const hookPath = (0, node_path_1.resolve)(repoRoot, '.githooks', hookKind);
409
+ const prefix = hookKind.replace('-', '_');
410
+ const neurcodeExists = (0, node_fs_1.existsSync)(neurcodeHookPath);
411
+ const githookExists = (0, node_fs_1.existsSync)(hookPath);
412
+ const installed = neurcodeExists || githookExists;
413
+ if (!required && !installed) {
414
+ checks.push({
415
+ id: `${prefix}_optional`,
416
+ status: 'skip',
417
+ message: `${hookKind} hook not installed (optional unless --hook both).`,
418
+ });
419
+ return checks;
420
+ }
333
421
  checks.push({
334
- id: 'neurcode_hook_script',
335
- status: (0, node_fs_1.existsSync)(neurcodeHookPath) ? 'pass' : 'fail',
336
- message: (0, node_fs_1.existsSync)(neurcodeHookPath)
422
+ id: `neurcode_hook_script_${prefix}`,
423
+ status: neurcodeExists ? 'pass' : 'fail',
424
+ message: neurcodeExists
337
425
  ? `Found ${neurcodeHookPath}`
338
- : `Missing ${neurcodeHookPath}. Run: neurcode cursor gate install`,
426
+ : `Missing ${neurcodeHookPath}. Run: neurcode cursor gate install --hook ${hookKind}`,
339
427
  });
340
- if ((0, node_fs_1.existsSync)(neurcodeHookPath)) {
428
+ if (neurcodeExists) {
341
429
  try {
342
430
  const stat = (0, node_fs_1.statSync)(neurcodeHookPath);
343
431
  const executable = (stat.mode & 0o111) !== 0;
344
432
  checks.push({
345
- id: 'neurcode_hook_executable',
433
+ id: `neurcode_hook_executable_${prefix}`,
346
434
  status: executable ? 'pass' : 'fail',
347
- message: executable ? 'Hook script is executable' : 'Hook script is not executable',
435
+ message: executable
436
+ ? `${hookKind} hook script is executable`
437
+ : `${hookKind} hook script is not executable`,
348
438
  });
349
439
  }
350
440
  catch (error) {
351
441
  checks.push({
352
- id: 'neurcode_hook_executable',
442
+ id: `neurcode_hook_executable_${prefix}`,
353
443
  status: 'fail',
354
444
  message: error instanceof Error ? error.message : String(error),
355
445
  });
356
446
  }
357
447
  }
358
448
  checks.push({
359
- id: 'githooks_pre_push',
360
- status: (0, node_fs_1.existsSync)(hookPath) ? 'pass' : 'fail',
361
- message: (0, node_fs_1.existsSync)(hookPath)
449
+ id: `githooks_${prefix}`,
450
+ status: githookExists ? 'pass' : 'fail',
451
+ message: githookExists
362
452
  ? `Found ${hookPath}`
363
- : `Missing ${hookPath}. Run: neurcode cursor gate install`,
453
+ : `Missing ${hookPath}. Run: neurcode cursor gate install --hook ${hookKind}`,
364
454
  });
365
- if ((0, node_fs_1.existsSync)(hookPath)) {
455
+ if (githookExists) {
366
456
  const content = (0, node_fs_1.readFileSync)(hookPath, 'utf8');
367
457
  checks.push({
368
- id: 'githooks_fragment',
458
+ id: `githooks_fragment_${prefix}`,
369
459
  status: content.includes('neurcode-cursor-gate') ? 'pass' : 'fail',
370
460
  message: content.includes('neurcode-cursor-gate')
371
- ? 'pre-push delegates to Neurcode cursor gate'
372
- : 'pre-push missing neurcode-cursor-gate marker',
461
+ ? `${hookKind} delegates to Neurcode cursor gate`
462
+ : `${hookKind} missing neurcode-cursor-gate marker`,
373
463
  });
374
464
  }
465
+ return checks;
466
+ }
467
+ function doctorCursorGateHook(input) {
468
+ const repoRoot = (0, v0_governance_1.resolveRepoRoot)(input.dir || process.cwd());
469
+ const cliVersionWarning = buildCliVersionStaleWarning();
470
+ const prePushInstalled = (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.githooks', 'pre-push'))
471
+ || (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-push'));
472
+ const preCommitInstalled = (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.githooks', 'pre-commit'))
473
+ || (0, node_fs_1.existsSync)((0, node_path_1.resolve)(repoRoot, '.neurcode', 'hooks', 'pre-commit'));
474
+ const requirePreCommit = preCommitInstalled;
475
+ const requirePrePush = prePushInstalled || !preCommitInstalled;
476
+ const checks = [
477
+ ...doctorCursorGateHookKind(repoRoot, 'pre-push', requirePrePush),
478
+ ...doctorCursorGateHookKind(repoRoot, 'pre-commit', requirePreCommit),
479
+ ];
375
480
  const hooksPathResult = runGit(['config', '--get', 'core.hooksPath'], repoRoot);
376
481
  const configured = hooksPathResult.status === 0 ? hooksPathResult.stdout.trim() : '';
377
482
  const expected = '.githooks';
483
+ const hooksNeeded = prePushInstalled || preCommitInstalled;
378
484
  checks.push({
379
485
  id: 'core_hooks_path',
380
- status: configured === expected || configured === (0, node_path_1.resolve)(repoRoot, '.githooks') ? 'pass' : 'fail',
486
+ status: !hooksNeeded || configured === expected || configured === (0, node_path_1.resolve)(repoRoot, '.githooks')
487
+ ? 'pass'
488
+ : 'fail',
381
489
  message: configured
382
490
  ? `core.hooksPath=${configured}`
383
- : 'core.hooksPath is unset. Run: neurcode cursor gate install',
491
+ : hooksNeeded
492
+ ? 'core.hooksPath is unset. Run: neurcode cursor gate install'
493
+ : 'core.hooksPath is unset (no hooks installed yet).',
384
494
  });
495
+ if (cliVersionWarning) {
496
+ checks.push({
497
+ id: 'cli_version_stale',
498
+ status: 'fail',
499
+ message: cliVersionWarning.message,
500
+ });
501
+ }
385
502
  return {
386
503
  ok: checks.every((check) => check.status === 'pass'),
387
504
  checks,
388
505
  repoRoot,
506
+ cliVersionWarning,
389
507
  };
390
508
  }
391
509
  //# 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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"}
@@ -37,6 +37,8 @@ export interface ProfileStalenessResult {
37
37
  cachedProfile: RepoGovernanceProfile | null;
38
38
  currentProfile: RepoGovernanceProfile;
39
39
  reasons: string[];
40
+ /** True when an in-process staleness snapshot was reused (5 min TTL). */
41
+ profileCacheHit?: boolean;
40
42
  }
41
43
  export interface EnsureProfileResult extends ProfileStalenessResult {
42
44
  profile: RepoGovernanceProfile;
@@ -159,15 +161,23 @@ export declare function readRuntimeGovernanceConfig(repoRoot: string): Governanc
159
161
  * never file contents. Bounded + deterministic.
160
162
  */
161
163
  export declare function readModuleImports(repoRoot: string, paths: string[]): ModuleImportRecord[];
162
- export declare function buildCurrentGovernanceProfile(repoRoot: string): RepoGovernanceProfile;
164
+ export declare const PROFILE_STALENESS_CACHE_TTL_MS: number;
165
+ export declare function buildCurrentGovernanceProfile(repoRoot: string, options?: {
166
+ bypassCache?: boolean;
167
+ }): RepoGovernanceProfile;
163
168
  export declare function profilePath(repoRoot: string): string;
164
169
  export declare function readGovernanceProfile(repoRoot: string): ProfileReadResult;
165
170
  export declare function writeGovernanceProfile(repoRoot: string, profile: RepoGovernanceProfile): string;
166
171
  export declare function buildProfileFreshnessSignal(result: ProfileStalenessResult | EnsureProfileResult, action?: ProfileFreshnessAction): ProfileFreshnessSignal;
167
172
  export declare function profileFreshnessActionForSession(result: ProfileStalenessResult | EnsureProfileResult, sessionProfileHash: string | null | undefined): ProfileFreshnessAction;
168
- export declare function getProfileStaleness(repoRoot: string): ProfileStalenessResult;
173
+ export declare function getLastProfileCacheHit(): boolean;
174
+ export declare function clearProfileStalenessCache(repoRoot?: string): void;
175
+ export declare function getProfileStaleness(repoRoot: string, options?: {
176
+ bypassCache?: boolean;
177
+ }): ProfileStalenessResult;
169
178
  export declare function ensureFreshGovernanceProfile(repoRoot: string, options?: {
170
179
  force?: boolean;
180
+ bypassCache?: boolean;
171
181
  }): EnsureProfileResult;
172
182
  /**
173
183
  * Parse the node entrypoint path out of a pinned hook command.
@@ -1 +1 @@
1
- {"version":3,"file":"v0-governance.d.ts","sourceRoot":"","sources":["../../src/utils/v0-governance.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC7B,MAAM,iCAAiC,CAAC;AAEzC,eAAO,MAAM,qBAAqB,UAA0D,CAAC;AAC7F,eAAO,MAAM,mBAAmB,UAAwE,CAAC;AAQzG,QAAA,MAAM,mBAAmB,qDAAsD,CAAC;AAChF,KAAK,gBAAgB,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;CAgC1B,CAAC;AAOX,KAAK,eAAe,GAAG,MAAM,OAAO,uBAAuB,CAAC;AA0G5D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;AAE5E,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,cAAc,EAAE,qBAAqB,CAAC;IACtC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,mBAAoB,SAAQ,sBAAsB;IACjE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,gBAAgB,GAChB,0BAA0B,GAC1B,yBAAyB,CAAC;AAE9B,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,8EAA8E;IAC9E,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,gFAAgF;IAChF,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QACL,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACzC,gBAAgB,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAClD,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,uDAAuD;QACvD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,yGAAyG;QACzG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,sGAAsG;QACtG,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;QACjC;;;WAGG;QACH,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,GAAG,EAAE;QACH,kFAAkF;QAClF,UAAU,EAAE,OAAO,CAAC;QACpB,sEAAsE;QACtE,OAAO,EAAE,OAAO,CAAC;QACjB,kFAAkF;QAClF,KAAK,EAAE,OAAO,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE;YAAE,OAAO,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE,GAAG,IAAI,CAAC;QACpD,aAAa,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,EAAE,CAAA;SAAE,CAAC;QACnD,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE;QACL,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC1C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACnD,KAAK,EAAE,OAAO,CAAC;QACf,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,gBAAgB,EAAE,OAAO,GAAG,IAAI,CAAC;QACjC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;QACnC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,uBAAuB,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,eAAe,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAWnE;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAYhD;AAyGD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,CAsCxF;AAWD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAwBzF;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,qBAAqB,CAgBrF;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAYzE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,MAAM,CAK/F;AAOD,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,sBAAsB,GAAG,mBAAmB,EACpD,MAAM,GAAE,sBAA+B,GACtC,sBAAsB,CAkBxB;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,sBAAsB,GAAG,mBAAmB,EACpD,kBAAkB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC5C,sBAAsB,CAMxB;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CA4C5E;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAChC,mBAAmB,CAgBrB;AAkFD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMlE;AAsED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,iBAAiB,CAkDnB;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,kBAAkB,CAkDpB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACpE,eAAe,CA+CjB;AAED,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,0BAA0B,CAsF5B;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,2BAA2B,CAqDtF"}
1
+ {"version":3,"file":"v0-governance.d.ts","sourceRoot":"","sources":["../../src/utils/v0-governance.ts"],"names":[],"mappings":"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"}