@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.
- 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 +31 -2
- package/dist/utils/cursor-gate.d.ts.map +1 -1
- package/dist/utils/cursor-gate.js +172 -54
- 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,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
|
-
|
|
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
|
|
224
|
-
# Emergency bypass (audited): NEURCODE_CURSOR_GATE_SKIP=1 git
|
|
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
|
|
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
|
|
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
|
|
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
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
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:
|
|
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:
|
|
325
|
-
message:
|
|
369
|
+
hooksPathConfigured: false,
|
|
370
|
+
message: `Installed Neurcode cursor gate ${input.hookKind} hook.`,
|
|
326
371
|
};
|
|
327
372
|
}
|
|
328
|
-
function
|
|
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',
|
|
332
|
-
const hookPath = (0, node_path_1.resolve)(repoRoot, '.githooks',
|
|
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:
|
|
335
|
-
status:
|
|
336
|
-
message:
|
|
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 (
|
|
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:
|
|
433
|
+
id: `neurcode_hook_executable_${prefix}`,
|
|
346
434
|
status: executable ? 'pass' : 'fail',
|
|
347
|
-
message: 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:
|
|
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:
|
|
360
|
-
status:
|
|
361
|
-
message:
|
|
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 (
|
|
455
|
+
if (githookExists) {
|
|
366
456
|
const content = (0, node_fs_1.readFileSync)(hookPath, 'utf8');
|
|
367
457
|
checks.push({
|
|
368
|
-
id:
|
|
458
|
+
id: `githooks_fragment_${prefix}`,
|
|
369
459
|
status: content.includes('neurcode-cursor-gate') ? 'pass' : 'fail',
|
|
370
460
|
message: content.includes('neurcode-cursor-gate')
|
|
371
|
-
?
|
|
372
|
-
:
|
|
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')
|
|
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
|
-
:
|
|
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":";;;AAoCA,sDAQC;AAGD,kEAsBC;AAED,gEASC;AAsJD,8DAOC;AAED,gDAmFC;AAED,4DAoBC;AA8ID,sDAqCC;AAkFD,oDA6CC;AA1oBD,6CAAyC;AACzC,qCAAkG;AAClG,yCAA0C;AAC1C,2DAA+C;AAC/C,sDAAyD;AACzD,wEAOyC;AACzC,+CAIuB;AACvB,mDAAkD;AAClD,iDAA0D;AAE7C,QAAA,0BAA0B,GAAG,yBAAkC,CAAC;AAChE,QAAA,2BAA2B,GAAG,QAAiB,CAAC;AAc7D,SAAgB,qBAAqB;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,OAAO,EAAE,MAAM,CAAC,CAAyB,CAAC;QAC9E,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,iGAAiG;AACjG,SAAgB,2BAA2B,CAAC,OAG3C;IACC,MAAM,eAAe,GAAG,qBAAqB,EAAE,CAAC;IAChD,MAAM,cAAc,GAAG,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,IAAI,eAAe,CAAC;IAClF,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,mCAA2B,CAAC;IACtF,MAAM,YAAY,GAAG,IAAA,2BAAe,EAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACrE,IAAI,YAAY,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO;QACL,EAAE,EAAE,mBAAmB;QACvB,MAAM,EAAE,MAAM;QACd,cAAc;QACd,eAAe;QACf,cAAc;QACd,OAAO,EACL,OAAO,cAAc,kBAAkB,cAAc,+DAA+D,cAAc,IAAI;QACxI,WAAW,EAAE;YACX,wCAAwC;YACxC,2EAA2E;SAC5E;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,OAA+B,EAC/B,IAAc;IAEd,IAAI,IAAI;QAAE,OAAO;IACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAiCD,SAAS,wBAAwB,CAAC,QAAgB,EAAE,YAAoB;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACpD,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC;QACtC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,iCAAiC,CAAC;AACxC,CAAC;AAED,SAAS,0BAA0B,CAAC,UAAgC;IAClE,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;QACrB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;KACJ,CAAC,CAAC;SACF,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAC5B,QAAgB,EAChB,YAAoB,EACpB,UAAgC;IAEhC,OAAO;QACL,aAAa,EAAE,gCAAgC;QAC/C,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC;QAC9D,iBAAiB,EAAE,0BAA0B,CAAC,UAAU,CAAC;QACzD,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO,EAAE,UAAU,CAAC,OAAO;QAC3B,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QACH,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,KAIhC;IACC,MAAM,OAAO,GAAG,IAAA,gCAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1E,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAA,uCAAwB,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,KAIrC;IACC,MAAM,OAAO,GAAG,IAAA,gCAAW,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACxE,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,MAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;SACrC,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAAC;IACxD,IAAI,YAAY,EAAE,MAAM,EAAE,iBAAiB,KAAK,MAAM,CAAC,iBAAiB,EAAE,CAAC;QACzE,MAAM,IAAA,uCAAwB,EAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IACD,MAAM,iBAAiB,CAAC;QACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;QACrC,KAAK,EAAE;YACL,IAAI,EAAE,oBAAoB;YAC1B,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,WAAW;YAChC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI;gBAC5B,CAAC,CAAC,oEAAoE;gBACtE,CAAC,CAAC,yEAAyE;YAC7E,MAAM;SACP;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAuC,EAAE,SAAwB;IACzF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,uCAAuC;YACvC,+EAA+E;SAChF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG;QACX,4CAA4C,SAAS,8BAA8B;QACnF,4CAA4C,SAAS,uBAAuB;KAC7E,CAAC;IACF,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY;SAClC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,kBAAkB,IAAI,IAAI,CAAC,cAAc,KAAK,oBAAoB,CAAC;SAC5G,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,IAAI,CAAC,IAAI,sCAAsC,SAAS,EAAE,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,UAAU,GAAG,IAAA,qDAAgC,EAAC,YAAY,CAAC,CAAC;IAClE,OAAO;QACL,KAAK,EAAE,UAAU,CAAC,gBAAgB;QAClC,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,aAAa,EACX,0PAA0P;KAC7P,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CAAC,KAGzC;IACC,IAAI,KAAK,CAAC,SAAS;QAAE,OAAO,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,MAAM,QAAQ,GAAG,IAAA,+BAAe,EAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/D,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;IACzC,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC;QACvC,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,YAAY,EAAE,OAAO,CAAC,SAAS;KAChC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,yBAAyB,CAAC;QAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK;eACxB,uHAAuH,CAAC;QAC7H,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO;gBACL,aAAa,EAAE,kCAA0B;gBACzC,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,IAAI;gBACf,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;gBACtE,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;gBACzC,WAAW;gBACX,KAAK;gBACL,SAAS;aACV,CAAC;QACJ,CAAC;QACD,OAAO;YACL,aAAa,EAAE,kCAA0B;YACzC,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI;YACf,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YACtE,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC;YACzC,WAAW;YACX,KAAK;YACL,SAAS;SACV,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;IACpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IAC1D,MAAM,OAAO,GAAG,IAAA,gCAAW,EAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,IAAA,sCAAiB,EAAC,QAAQ,CAAC,CAAC;IAChF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,aAAa,EAAE,kCAA0B;YACzC,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,CAAC;YACX,SAAS;YACT,iBAAiB,EAAE,IAAI;YACvB,OAAO,EAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE;YACtE,WAAW,EAAE,gBAAgB,CAAC,IAAI,EAAE,SAAS,CAAC;YAC9C,WAAW;YACX,KAAK,EAAE,4BAA4B,SAAS,iBAAiB;YAC7D,SAAS,EAAE,mBAAmB;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,gCAAkB,EAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,MAAM,sBAAsB,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IACrF,MAAM,SAAS,GAAG,IAAA,gCAAW,EAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC;IAC9D,MAAM,iBAAiB,GAAG,IAAA,kDAA6B,EAAC,SAAS,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IAEtE,OAAO;QACL,aAAa,EAAE,kCAA0B;QACzC,EAAE,EAAE,UAAU,CAAC,IAAI;QACnB,QAAQ;QACR,SAAS;QACT,iBAAiB;QACjB,OAAO,EAAE;YACP,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB;YACrD,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB;YACrD,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,YAAY;SAC9C;QACD,WAAW,EAAE,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC;QACpD,WAAW;QACX,UAAU;QACV,YAAY,EAAE,SAAS,CAAC,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAA0B;IACjE,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,uCAAuC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CACxD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,KAAK,kBAAkB,IAAI,IAAI,CAAC,cAAc,KAAK,oBAAoB,CACrG,IAAI,EAAE,CAAC;IACR,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAC;QACjG,OAAO,KAAK,CAAC;IACf,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CACR,gBAAgB,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,UAAU,GAAG,CAC5F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,yBAAyB,CAAC,QAA4B;IAC7D,MAAM,SAAS,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,YAAY,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IACjE,MAAM,YAAY,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;IACxE,OAAO;;;gCAGuB,YAAY;gEACoB,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA8BnC,YAAY;;;sEAGoB,YAAY;;;;;;;oCAO9C,SAAS;;;CAG5C,CAAC;AACF,CAAC;AAED,SAAS,MAAM,CAAC,IAAc,EAAE,GAAW;IACzC,MAAM,MAAM,GAAG,IAAA,8BAAS,EAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IACpG,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;AAClG,CAAC;AAsBD,SAAS,0BAA0B,CACjC,IAAyC;IAEzC,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,YAAY;QAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IACjD,OAAO,CAAC,UAAU,CAAC,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAAC,KAIpC;IACC,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,gBAAgB,GAAG,IAAA,mBAAO,EAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvF,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,IAAA,uBAAa,EAAC,gBAAgB,EAAE,yBAAyB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,IAAA,mBAAS,EAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAEnC,MAAM,MAAM,GAAG,gCAAgC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,OAAO;YACL,EAAE,EAAE,IAAI;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,SAAS,EAAE,QAAQ;YACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,gBAAgB;YAChB,mBAAmB,EAAE,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,QAAQ;YAC1E,OAAO,EAAE,eAAe,KAAK,CAAC,QAAQ,kDAAkD;SACzF,CAAC;IACJ,CAAC;IAED,IAAA,mBAAS,EAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG,MAAM;gCACI,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;QACzE,gBAAgB;;CAEvB,CAAC;IACA,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE;QAC5B,CAAC,CAAC,GAAG,QAAQ,CAAC,OAAO,EAAE,OAAO,QAAQ,EAAE;QACxC,CAAC,CAAC,6CAA6C,QAAQ,EAAE,CAAC;IAC5D,IAAA,uBAAa,EAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,MAAM,CAAC,CAAC;IAChF,IAAA,mBAAS,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE3B,OAAO;QACL,EAAE,EAAE,IAAI;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS,EAAE,QAAQ;QACnB,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,QAAQ;QACR,gBAAgB;QAChB,mBAAmB,EAAE,KAAK;QAC1B,OAAO,EAAE,kCAAkC,KAAK,CAAC,QAAQ,QAAQ;KAClE,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAIrC;IACC,MAAM,QAAQ,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,2BAA2B,CAAC;QACpE,QAAQ;QACR,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,mBAAmB;YAAE,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC;IAC5C,CAAC;IAED,MAAM,EAAE,GAAG,mBAAmB,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,KAAK,CAAC;QAClC,CAAC,CAAC,yBAAyB;QAC3B,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,YAAY;YAC7B,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,UAAU,CAAC;IAEjB,OAAO;QACL,EAAE;QACF,QAAQ;QACR,SAAS,EAAE,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,CAAC;QACzC,KAAK;QACL,mBAAmB;QACnB,OAAO,EAAE,mBAAmB;YAC1B,CAAC,CAAC,kCAAkC,KAAK,QAAQ,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG;YACnF,CAAC,CAAC,iCAAiC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE;KAC5E,CAAC;AACJ,CAAC;AASD,SAAS,wBAAwB,CAC/B,QAAgB,EAChB,QAA4B,EAC5B,QAAiB;IAEjB,MAAM,MAAM,GAAqC,EAAE,CAAC;IACpD,MAAM,gBAAgB,GAAG,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1C,MAAM,cAAc,GAAG,IAAA,oBAAU,EAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,IAAA,oBAAU,EAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,cAAc,IAAI,aAAa,CAAC;IAElD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,GAAG,MAAM,WAAW;YACxB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,GAAG,QAAQ,oDAAoD;SACzE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,wBAAwB,MAAM,EAAE;QACpC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACxC,OAAO,EAAE,cAAc;YACrB,CAAC,CAAC,SAAS,gBAAgB,EAAE;YAC7B,CAAC,CAAC,WAAW,gBAAgB,8CAA8C,QAAQ,EAAE;KACxF,CAAC,CAAC;IAEH,IAAI,cAAc,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,kBAAQ,EAAC,gBAAgB,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,4BAA4B,MAAM,EAAE;gBACxC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBACpC,OAAO,EAAE,UAAU;oBACjB,CAAC,CAAC,GAAG,QAAQ,4BAA4B;oBACzC,CAAC,CAAC,GAAG,QAAQ,gCAAgC;aAChD,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC;gBACV,EAAE,EAAE,4BAA4B,MAAM,EAAE;gBACxC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAChE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,YAAY,MAAM,EAAE;QACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;QACvC,OAAO,EAAE,aAAa;YACpB,CAAC,CAAC,SAAS,QAAQ,EAAE;YACrB,CAAC,CAAC,WAAW,QAAQ,8CAA8C,QAAQ,EAAE;KAChF,CAAC,CAAC;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,qBAAqB,MAAM,EAAE;YACjC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAClE,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;gBAC/C,CAAC,CAAC,GAAG,QAAQ,oCAAoC;gBACjD,CAAC,CAAC,GAAG,QAAQ,sCAAsC;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,QAAQ,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,2BAA2B,EAAE,CAAC;IACxD,MAAM,gBAAgB,GAAG,IAAA,oBAAU,EAAC,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;WAC1E,IAAA,oBAAU,EAAC,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IACrE,MAAM,kBAAkB,GAAG,IAAA,oBAAU,EAAC,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;WAC9E,IAAA,oBAAU,EAAC,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IAC5C,MAAM,cAAc,GAAG,gBAAgB,IAAI,CAAC,kBAAkB,CAAC;IAE/D,MAAM,MAAM,GAAqC;QAC/C,GAAG,wBAAwB,CAAC,QAAQ,EAAE,UAAU,EAAE,cAAc,CAAC;QACjE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,YAAY,EAAE,gBAAgB,CAAC;KACtE,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,QAAQ,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,MAAM,WAAW,GAAG,gBAAgB,IAAI,kBAAkB,CAAC;IAC3D,MAAM,CAAC,IAAI,CAAC;QACV,EAAE,EAAE,iBAAiB;QACrB,MAAM,EAAE,CAAC,WAAW,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAA,mBAAO,EAAC,QAAQ,EAAE,WAAW,CAAC;YAC9F,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM;QACV,OAAO,EAAE,UAAU;YACjB,CAAC,CAAC,kBAAkB,UAAU,EAAE;YAChC,CAAC,CAAC,WAAW;gBACX,CAAC,CAAC,4DAA4D;gBAC9D,CAAC,CAAC,mDAAmD;KAC1D,CAAC,CAAC;IAEH,IAAI,iBAAiB,EAAE,CAAC;QACtB,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,mBAAmB;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,iBAAiB,CAAC,OAAO;SACnC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC;QACpD,MAAM;QACN,QAAQ;QACR,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
|
@@ -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
|
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"v0-governance.d.ts","sourceRoot":"","sources":["../../src/utils/v0-governance.ts"],"names":[],"mappings":"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"}
|