memorylink 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -2
- package/README.md +66 -52
- package/dist/cli/commands/delete.d.ts +7 -0
- package/dist/cli/commands/delete.d.ts.map +1 -0
- package/dist/cli/commands/delete.js +106 -0
- package/dist/cli/commands/delete.js.map +1 -0
- package/dist/cli/commands/gate.d.ts +1 -1
- package/dist/cli/commands/gate.d.ts.map +1 -1
- package/dist/cli/commands/gate.js +14 -0
- package/dist/cli/commands/gate.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +17 -75
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +7 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/commands/list.js +129 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/remember.d.ts +3 -0
- package/dist/cli/commands/remember.d.ts.map +1 -0
- package/dist/cli/commands/remember.js +61 -0
- package/dist/cli/commands/remember.js.map +1 -0
- package/dist/cli/commands/retrieve.d.ts +3 -0
- package/dist/cli/commands/retrieve.d.ts.map +1 -0
- package/dist/cli/commands/retrieve.js +32 -0
- package/dist/cli/commands/retrieve.js.map +1 -0
- package/dist/cli/commands/scaffold.d.ts +6 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -0
- package/dist/cli/commands/scaffold.js +132 -0
- package/dist/cli/commands/scaffold.js.map +1 -0
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/memory/gates.d.ts +17 -0
- package/dist/core/memory/gates.d.ts.map +1 -0
- package/dist/core/memory/gates.js +75 -0
- package/dist/core/memory/gates.js.map +1 -0
- package/dist/core/memory/git.d.ts +9 -0
- package/dist/core/memory/git.d.ts.map +1 -0
- package/dist/core/memory/git.js +57 -0
- package/dist/core/memory/git.js.map +1 -0
- package/dist/core/memory/storage.d.ts +11 -0
- package/dist/core/memory/storage.d.ts.map +1 -0
- package/dist/core/memory/storage.js +63 -0
- package/dist/core/memory/storage.js.map +1 -0
- package/dist/core/memory/structure.d.ts +10 -0
- package/dist/core/memory/structure.d.ts.map +1 -0
- package/dist/core/memory/structure.js +51 -0
- package/dist/core/memory/structure.js.map +1 -0
- package/dist/core/types.d.ts +13 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/gate/rules/valid-syntax.d.ts +16 -0
- package/dist/gate/rules/valid-syntax.d.ts.map +1 -0
- package/dist/gate/rules/valid-syntax.js +76 -0
- package/dist/gate/rules/valid-syntax.js.map +1 -0
- package/dist/quarantine/patterns.js +2 -2
- package/dist/quarantine/patterns.js.map +1 -1
- package/dist/tools/pointer-generator.d.ts.map +1 -1
- package/dist/tools/pointer-generator.js +2 -2
- package/dist/tools/pointer-generator.js.map +1 -1
- package/docs/USER_GUIDE.md +181 -0
- package/package.json +3 -3
- package/docs/COMPARISONS.md +0 -229
- package/docs/FAQ.md +0 -230
- package/docs/GETTING_STARTED.md +0 -185
- package/docs/PATTERNS.md +0 -206
- package/docs/QUICK_REFERENCE.md +0 -209
- package/docs/REMEDIATION.md +0 -332
- package/docs/THREAT_MODEL.md +0 -279
- package/docs/TROUBLESHOOTING.md +0 -280
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import { detectSecrets } from '../../quarantine/detector.js';
|
|
3
|
+
import { StructureAnalyzer } from './structure.js';
|
|
4
|
+
export class GateKeeper {
|
|
5
|
+
// RED GATE: Security & Safety (Blocking)
|
|
6
|
+
// Uses the legacy 'Detector' engine to scan for secrets.
|
|
7
|
+
async checkRedGate(filePath) {
|
|
8
|
+
if (!await fs.pathExists(filePath)) {
|
|
9
|
+
return { passed: true }; // Deleted files don't pose a risk usually
|
|
10
|
+
}
|
|
11
|
+
try {
|
|
12
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
13
|
+
const validation = detectSecrets(content, process.cwd(), filePath);
|
|
14
|
+
if (validation.found) {
|
|
15
|
+
return {
|
|
16
|
+
passed: false,
|
|
17
|
+
reason: `Secret detected: ${validation.pattern?.name || 'Unknown Pattern'}`
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return { passed: true };
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
console.warn(`[GateKeeper] Could not scan ${filePath}:`, e);
|
|
24
|
+
return { passed: true }; // Fail open for now if read error, or fail closed? strict: fail closed.
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// BLUE GATE: Structure & Syntax (Blocking)
|
|
28
|
+
// Uses AST parsing to ensure code is syntactically valid (TypeScript/JS for now)
|
|
29
|
+
async checkStructureGate(filePath) {
|
|
30
|
+
if (!filePath.endsWith('.ts') && !filePath.endsWith('.js') && !filePath.endsWith('.tsx')) {
|
|
31
|
+
return { passed: true }; // Only checking TS/JS for now
|
|
32
|
+
}
|
|
33
|
+
const analyzer = new StructureAnalyzer();
|
|
34
|
+
try {
|
|
35
|
+
// If analyze throws or returns empty symbol list for a huge file, it implies parse error or empty
|
|
36
|
+
// But ts.createSourceFile is forgiving.
|
|
37
|
+
// Let's assume if we can extract symbols, it's roughly okay.
|
|
38
|
+
// Better check: Does TS compiler complain? No, that's heavy.
|
|
39
|
+
// We just verify we CAN parse it.
|
|
40
|
+
await analyzer.analyze(filePath);
|
|
41
|
+
return { passed: true };
|
|
42
|
+
}
|
|
43
|
+
catch (e) {
|
|
44
|
+
return { passed: false, reason: `Syntax Error: ${e.message}` };
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// YELLOW GATE: Staleness & Hygiene (Warning)
|
|
48
|
+
checkYellowGate(_entry) {
|
|
49
|
+
// Example: Check if memory is > 30 days old (if we were checking existing memories)
|
|
50
|
+
// For NEW captures, this is less relevant, but we might check "File modification time" vs "Capture time"
|
|
51
|
+
// Let's implement a simple "Large File" warning for now as a placeholder for Hygiene
|
|
52
|
+
// In real usage, this might check "Last Verified" date.
|
|
53
|
+
return { passed: true };
|
|
54
|
+
}
|
|
55
|
+
async evaluate(filePath) {
|
|
56
|
+
// 1. Check Red Gate (Secrets)
|
|
57
|
+
const redParams = await this.checkRedGate(filePath);
|
|
58
|
+
if (!redParams.passed) {
|
|
59
|
+
return 'RED';
|
|
60
|
+
}
|
|
61
|
+
// 2. Check Blue Gate (Structure) - Optional/Active Mode?
|
|
62
|
+
// Let's make Structure failure -> RED or YELLOW?
|
|
63
|
+
// Syntax error prevents execution -> RED.
|
|
64
|
+
const blueParams = await this.checkStructureGate(filePath);
|
|
65
|
+
if (!blueParams.passed) {
|
|
66
|
+
console.log(`[Gate] Structure Check Failed: ${blueParams.reason}`);
|
|
67
|
+
return 'RED';
|
|
68
|
+
}
|
|
69
|
+
// 3. Check Yellow Gate
|
|
70
|
+
// (Placeholder)
|
|
71
|
+
// 4. Status is Green
|
|
72
|
+
return 'GREEN';
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=gates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates.js","sourceRoot":"","sources":["../../../src/core/memory/gates.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type FileDiffStatus = 'modified' | 'added' | 'deleted' | 'renamed' | 'unknown';
|
|
2
|
+
export declare class Git {
|
|
3
|
+
basePath: string;
|
|
4
|
+
constructor(basePath?: string);
|
|
5
|
+
getHeadHash(): Promise<string>;
|
|
6
|
+
getDiff(target: 'staged' | 'working' | 'last-commit', filePath?: string): Promise<string>;
|
|
7
|
+
getFileStatus(filePath: string): Promise<FileDiffStatus>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=git.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../../src/core/memory/git.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtF,qBAAa,GAAG;IACZ,QAAQ,EAAE,MAAM,CAAC;gBAEL,QAAQ,GAAE,MAAsB;IAItC,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAS9B,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBzF,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;CAgBjE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { execa } from 'execa';
|
|
2
|
+
export class Git {
|
|
3
|
+
basePath;
|
|
4
|
+
constructor(basePath = process.cwd()) {
|
|
5
|
+
this.basePath = basePath;
|
|
6
|
+
}
|
|
7
|
+
async getHeadHash() {
|
|
8
|
+
try {
|
|
9
|
+
const { stdout } = await execa('git', ['rev-parse', 'HEAD'], { cwd: this.basePath });
|
|
10
|
+
return stdout.trim();
|
|
11
|
+
}
|
|
12
|
+
catch (e) {
|
|
13
|
+
return '0000000000000000000000000000000000000000'; // No commit yet
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
async getDiff(target, filePath) {
|
|
17
|
+
const args = ['diff'];
|
|
18
|
+
if (target === 'staged')
|
|
19
|
+
args.push('--cached');
|
|
20
|
+
if (target === 'last-commit')
|
|
21
|
+
args.push('HEAD^', 'HEAD');
|
|
22
|
+
// Minimal context to save tokens, but enough to apply
|
|
23
|
+
args.push('--minimal');
|
|
24
|
+
if (filePath) {
|
|
25
|
+
args.push('--', filePath);
|
|
26
|
+
}
|
|
27
|
+
try {
|
|
28
|
+
const { stdout } = await execa('git', args, { cwd: this.basePath });
|
|
29
|
+
return stdout;
|
|
30
|
+
}
|
|
31
|
+
catch (e) {
|
|
32
|
+
return '';
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
async getFileStatus(filePath) {
|
|
36
|
+
// Check status using git status --porcelain
|
|
37
|
+
try {
|
|
38
|
+
const { stdout } = await execa('git', ['status', '--porcelain', filePath], { cwd: this.basePath });
|
|
39
|
+
if (!stdout)
|
|
40
|
+
return 'unknown'; // Unchanged or untracked (if ignored)
|
|
41
|
+
const code = stdout.substring(0, 2);
|
|
42
|
+
if (code.includes('M'))
|
|
43
|
+
return 'modified';
|
|
44
|
+
if (code.includes('A') || code.includes('?'))
|
|
45
|
+
return 'added'; // ? is untracked
|
|
46
|
+
if (code.includes('D'))
|
|
47
|
+
return 'deleted';
|
|
48
|
+
if (code.includes('R'))
|
|
49
|
+
return 'renamed';
|
|
50
|
+
return 'unknown';
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
return 'unknown';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=git.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../../src/core/memory/git.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,MAAM,OAAO,GAAG;IACZ,QAAQ,CAAS;IAEjB,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,WAAW;QACb,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,0CAA0C,CAAC,CAAC,gBAAgB;QACvE,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAA4C,EAAE,QAAiB;QACzE,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,MAAM,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,MAAM,KAAK,aAAa;YAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzD,sDAAsD;QACtD,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvB,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpE,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAChC,4CAA4C;QAC5C,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnG,IAAI,CAAC,MAAM;gBAAE,OAAO,SAAS,CAAC,CAAC,sCAAsC;YAErE,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,UAAU,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC,CAAC,iBAAiB;YAC/E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACzC,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MemoryEntry } from '../types.js';
|
|
2
|
+
export declare class MemoryStorage {
|
|
3
|
+
basePath: string;
|
|
4
|
+
constructor(basePath?: string);
|
|
5
|
+
get memoryPath(): string;
|
|
6
|
+
get configPath(): string;
|
|
7
|
+
init(): Promise<boolean>;
|
|
8
|
+
append(entry: MemoryEntry): Promise<void>;
|
|
9
|
+
readAll(): Promise<MemoryEntry[]>;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/memory/storage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM1C,qBAAa,aAAa;IACtB,QAAQ,EAAE,MAAM,CAAC;gBAEL,QAAQ,GAAE,MAAsB;IAI5C,IAAI,UAAU,WAEb;IAED,IAAI,UAAU,WAEb;IAEK,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IA2BxB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;CAe1C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import fs from 'fs-extra';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
const MEMORY_DIR = '.memorylink';
|
|
4
|
+
const MEMORY_FILE = 'memory.jsonl';
|
|
5
|
+
const CONFIG_FILE = 'config.json';
|
|
6
|
+
export class MemoryStorage {
|
|
7
|
+
basePath;
|
|
8
|
+
constructor(basePath = process.cwd()) {
|
|
9
|
+
this.basePath = basePath;
|
|
10
|
+
}
|
|
11
|
+
get memoryPath() {
|
|
12
|
+
return path.join(this.basePath, MEMORY_DIR, MEMORY_FILE);
|
|
13
|
+
}
|
|
14
|
+
get configPath() {
|
|
15
|
+
return path.join(this.basePath, MEMORY_DIR, CONFIG_FILE);
|
|
16
|
+
}
|
|
17
|
+
async init() {
|
|
18
|
+
const dir = path.join(this.basePath, MEMORY_DIR);
|
|
19
|
+
if (await fs.pathExists(dir)) {
|
|
20
|
+
// Check if memory file exists, if not create it
|
|
21
|
+
if (!await fs.pathExists(this.memoryPath)) {
|
|
22
|
+
await fs.ensureFile(this.memoryPath);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
return false; // Already initialized fully
|
|
26
|
+
}
|
|
27
|
+
await fs.ensureDir(dir);
|
|
28
|
+
await fs.ensureFile(this.memoryPath);
|
|
29
|
+
// Default Config
|
|
30
|
+
const defaultConfig = {
|
|
31
|
+
version: "1.6.0",
|
|
32
|
+
policies: ["no-secrets", "no-large-files"],
|
|
33
|
+
gates: {
|
|
34
|
+
stale_threshold_hours: 24
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
await fs.writeJson(this.configPath, defaultConfig, { spaces: 2 });
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
async append(entry) {
|
|
41
|
+
// Append as single line JSON
|
|
42
|
+
const line = JSON.stringify(entry) + '\n';
|
|
43
|
+
await fs.appendFile(this.memoryPath, line);
|
|
44
|
+
}
|
|
45
|
+
async readAll() {
|
|
46
|
+
if (!await fs.pathExists(this.memoryPath))
|
|
47
|
+
return [];
|
|
48
|
+
const content = await fs.readFile(this.memoryPath, 'utf8');
|
|
49
|
+
return content
|
|
50
|
+
.split('\n')
|
|
51
|
+
.filter(line => line.trim())
|
|
52
|
+
.map(line => {
|
|
53
|
+
try {
|
|
54
|
+
return JSON.parse(line);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
.filter(e => e !== null);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/core/memory/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,MAAM,UAAU,GAAG,aAAa,CAAC;AACjC,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,WAAW,GAAG,aAAa,CAAC;AAElC,MAAM,OAAO,aAAa;IACtB,QAAQ,CAAS;IAEjB,YAAY,WAAmB,OAAO,CAAC,GAAG,EAAE;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,gDAAgD;YAChD,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC;YAChB,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,4BAA4B;QAC9C,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,iBAAiB;QACjB,MAAM,aAAa,GAAG;YAClB,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;YAC1C,KAAK,EAAE;gBACH,qBAAqB,EAAE,EAAE;aAC5B;SACJ,CAAC;QAEF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAkB;QAC3B,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QAC1C,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;QACT,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,OAAO;aACT,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,GAAG,CAAC,IAAI,CAAC,EAAE;YACR,IAAI,CAAC;gBACD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAkB,CAAC;IAClD,CAAC;CACJ"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface CodeSymbol {
|
|
2
|
+
name: string;
|
|
3
|
+
type: 'class' | 'function' | 'interface' | 'variable' | 'method';
|
|
4
|
+
line: number;
|
|
5
|
+
signature?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare class StructureAnalyzer {
|
|
8
|
+
analyze(filePath: string): Promise<CodeSymbol[]>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.d.ts","sourceRoot":"","sources":["../../../src/core/memory/structure.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,iBAAiB;IAEpB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAqDzD"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import fs from 'fs-extra';
|
|
3
|
+
export class StructureAnalyzer {
|
|
4
|
+
async analyze(filePath) {
|
|
5
|
+
if (!await fs.pathExists(filePath))
|
|
6
|
+
return [];
|
|
7
|
+
const content = await fs.readFile(filePath, 'utf8');
|
|
8
|
+
const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true);
|
|
9
|
+
if (sourceFile.parseDiagnostics && sourceFile.parseDiagnostics.length > 0) {
|
|
10
|
+
const diags = sourceFile.parseDiagnostics;
|
|
11
|
+
throw new Error(`Parse error: ${diags[0].messageText}`);
|
|
12
|
+
}
|
|
13
|
+
const symbols = [];
|
|
14
|
+
const visit = (node) => {
|
|
15
|
+
if (ts.isClassDeclaration(node) && node.name) {
|
|
16
|
+
symbols.push({
|
|
17
|
+
name: node.name.text,
|
|
18
|
+
type: 'class',
|
|
19
|
+
line: sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
else if (ts.isFunctionDeclaration(node) && node.name) {
|
|
23
|
+
symbols.push({
|
|
24
|
+
name: node.name.text,
|
|
25
|
+
type: 'function',
|
|
26
|
+
line: sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1,
|
|
27
|
+
signature: content.substring(node.getStart(), node.body?.getStart() || node.getEnd()).trim()
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else if (ts.isInterfaceDeclaration(node) && node.name) {
|
|
31
|
+
symbols.push({
|
|
32
|
+
name: node.name.text,
|
|
33
|
+
type: 'interface',
|
|
34
|
+
line: sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
else if (ts.isMethodDeclaration(node) && ts.isIdentifier(node.name)) {
|
|
38
|
+
symbols.push({
|
|
39
|
+
name: node.name.text,
|
|
40
|
+
type: 'method',
|
|
41
|
+
line: sourceFile.getLineAndCharacterOfPosition(node.getStart()).line + 1
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// Add more types as needed (variables, enums)
|
|
45
|
+
ts.forEachChild(node, visit);
|
|
46
|
+
};
|
|
47
|
+
visit(sourceFile);
|
|
48
|
+
return symbols;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=structure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/core/memory/structure.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -91,7 +91,7 @@ export interface AuditEvent {
|
|
|
91
91
|
/**
|
|
92
92
|
* Gate rule types
|
|
93
93
|
*/
|
|
94
|
-
export type GateRule = 'block-quarantined' | 'require-e2-for-topics';
|
|
94
|
+
export type GateRule = 'block-quarantined' | 'require-e2-for-topics' | 'valid-syntax';
|
|
95
95
|
/**
|
|
96
96
|
* Gate result
|
|
97
97
|
*/
|
|
@@ -143,4 +143,16 @@ export type Result<T, E = Error> = {
|
|
|
143
143
|
*/
|
|
144
144
|
export declare function Ok<T>(value: T): Result<T, never>;
|
|
145
145
|
export declare function Err<E>(error: E): Result<never, E>;
|
|
146
|
+
export type MemoryGate = 'GREEN' | 'YELLOW' | 'RED';
|
|
147
|
+
export interface MemoryEntry {
|
|
148
|
+
id: string;
|
|
149
|
+
path: string;
|
|
150
|
+
summary: string;
|
|
151
|
+
diff_ref: string;
|
|
152
|
+
status: MemoryStatus;
|
|
153
|
+
gate: MemoryGate;
|
|
154
|
+
policies: string[];
|
|
155
|
+
agent_id: string;
|
|
156
|
+
timestamp: string;
|
|
157
|
+
}
|
|
146
158
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/core/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,aAAa,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAE3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAGzB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,SAAS,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IAGF,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;IACpD,UAAU,CAAC,EAAE;QACX,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,SAAS,GACT,YAAY,GACZ,MAAM,GACN,OAAO,GACP,WAAW,GACX,aAAa,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* valid-syntax gate rule (Blue Gate)
|
|
3
|
+
* Week 3: Deep Logic
|
|
4
|
+
* Based on SPEC.md v4.3.10
|
|
5
|
+
*
|
|
6
|
+
* Rule: FAIL if code has Syntax Errors (AST Parse Failures)
|
|
7
|
+
*/
|
|
8
|
+
import type { Scope, GateResult } from '../../core/types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Check for syntax errors in staged/project files
|
|
11
|
+
*/
|
|
12
|
+
export declare function checkValidSyntax(cwd: string, _scope?: Scope, options?: {
|
|
13
|
+
diff?: boolean;
|
|
14
|
+
files?: string[];
|
|
15
|
+
}): Promise<GateResult>;
|
|
16
|
+
//# sourceMappingURL=valid-syntax.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valid-syntax.d.ts","sourceRoot":"","sources":["../../../src/gate/rules/valid-syntax.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAW5E;;GAEG;AACH,wBAAsB,gBAAgB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,KAAK,EACd,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACnD,OAAO,CAAC,UAAU,CAAC,CA6DrB"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* valid-syntax gate rule (Blue Gate)
|
|
3
|
+
* Week 3: Deep Logic
|
|
4
|
+
* Based on SPEC.md v4.3.10
|
|
5
|
+
*
|
|
6
|
+
* Rule: FAIL if code has Syntax Errors (AST Parse Failures)
|
|
7
|
+
*/
|
|
8
|
+
import { EXIT_CODES } from '../../core/exit-codes.js';
|
|
9
|
+
import { readFile } from 'fs/promises';
|
|
10
|
+
import { join } from 'path';
|
|
11
|
+
import ts from 'typescript';
|
|
12
|
+
// @ts-ignore - glob types missing
|
|
13
|
+
import glob from 'glob';
|
|
14
|
+
import { promisify } from 'util';
|
|
15
|
+
const globAsync = promisify(glob);
|
|
16
|
+
/**
|
|
17
|
+
* Check for syntax errors in staged/project files
|
|
18
|
+
*/
|
|
19
|
+
export async function checkValidSyntax(cwd, _scope, options = {}) {
|
|
20
|
+
const violations = [];
|
|
21
|
+
const filesToCheck = [];
|
|
22
|
+
try {
|
|
23
|
+
// 1. Determine files to check
|
|
24
|
+
if (options.files && options.files.length > 0) {
|
|
25
|
+
filesToCheck.push(...options.files);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
// Scan all .ts/.js files in src needed
|
|
29
|
+
// Production: specific focus on source code to save time
|
|
30
|
+
const matches = await globAsync('src/**/*.{ts,js,tsx,jsx}', { cwd, ignore: ['node_modules/**'] });
|
|
31
|
+
filesToCheck.push(...matches);
|
|
32
|
+
}
|
|
33
|
+
// 2. Parse each file
|
|
34
|
+
for (const file of filesToCheck) {
|
|
35
|
+
const fullPath = join(cwd, file);
|
|
36
|
+
try {
|
|
37
|
+
const content = await readFile(fullPath, 'utf-8');
|
|
38
|
+
// Better approach for speed:
|
|
39
|
+
// Use transpileModule to check for syntax errors
|
|
40
|
+
const result = ts.transpileModule(content, {
|
|
41
|
+
compilerOptions: { noEmit: true, skipLibCheck: true },
|
|
42
|
+
reportDiagnostics: true
|
|
43
|
+
});
|
|
44
|
+
if (result.diagnostics && result.diagnostics.length > 0) {
|
|
45
|
+
// Found syntax errors
|
|
46
|
+
violations.push({
|
|
47
|
+
record_id: 'syntax-error',
|
|
48
|
+
conflict_key: file,
|
|
49
|
+
created_at: new Date().toISOString(),
|
|
50
|
+
quarantine_ref: result.diagnostics[0].messageText.toString()
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
// file reading error or general failure
|
|
56
|
+
console.warn(`Skipping syntax check for ${file}: ${e.message}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const passed = violations.length === 0;
|
|
60
|
+
return {
|
|
61
|
+
passed,
|
|
62
|
+
rule: 'valid-syntax',
|
|
63
|
+
violations,
|
|
64
|
+
exitCode: passed ? EXIT_CODES.SUCCESS : EXIT_CODES.FAILURE,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
return {
|
|
69
|
+
passed: false,
|
|
70
|
+
rule: 'valid-syntax',
|
|
71
|
+
violations: [],
|
|
72
|
+
exitCode: EXIT_CODES.ERROR
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=valid-syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"valid-syntax.js","sourceRoot":"","sources":["../../../src/gate/rules/valid-syntax.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,kCAAkC;AAClC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,GAAW,EACX,MAAc,EACd,UAAgD,EAAE;IAElD,MAAM,UAAU,GAAoB,EAAE,CAAC;IACvC,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC;QACD,8BAA8B;QAC9B,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACJ,uCAAuC;YACvC,yDAAyD;YACzD,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,0BAA0B,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAClG,YAAY,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;QAClC,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAElD,6BAA6B;gBAC7B,iDAAiD;gBACjD,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;oBACvC,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;oBACrD,iBAAiB,EAAE,IAAI;iBAC1B,CAAC,CAAC;gBAEH,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtD,sBAAsB;oBACtB,UAAU,CAAC,IAAI,CAAC;wBACZ,SAAS,EAAE,cAAc;wBACzB,YAAY,EAAE,IAAI;wBAClB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;wBACpC,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE;qBAC/D,CAAC,CAAC;gBACP,CAAC;YAEL,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACd,wCAAwC;gBACxC,OAAO,CAAC,IAAI,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;QAEvC,OAAO;YACH,MAAM;YACN,IAAI,EAAE,cAAc;YACpB,UAAU;YACV,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;SAC7D,CAAC;IAEN,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,OAAO;YACH,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc;YACpB,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,UAAU,CAAC,KAAK;SAC7B,CAAC;IACN,CAAC;AACL,CAAC"}
|
|
@@ -625,13 +625,13 @@ export const SECRET_PATTERNS = [
|
|
|
625
625
|
{
|
|
626
626
|
id: 'vercel-token',
|
|
627
627
|
name: 'Vercel Token',
|
|
628
|
-
pattern: /[a-zA-Z0-9]{24}/i,
|
|
628
|
+
pattern: /(?:vercel[_-]?(?:token|api[_-]?key)|VERCEL_TOKEN)\s*[:=]\s*[a-zA-Z0-9]{24}/i,
|
|
629
629
|
description: 'Vercel deployment token',
|
|
630
630
|
},
|
|
631
631
|
{
|
|
632
632
|
id: 'netlify-token',
|
|
633
633
|
name: 'Netlify Token',
|
|
634
|
-
pattern: /[a-zA-Z0-9_-]{40,}/i,
|
|
634
|
+
pattern: /(?:netlify[_-]?(?:token|auth[_-]?token)|NETLIFY_AUTH_TOKEN)\s*[:=]\s*[a-zA-Z0-9_-]{40,}/i,
|
|
635
635
|
description: 'Netlify personal access token',
|
|
636
636
|
},
|
|
637
637
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/quarantine/patterns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH;;;GAGG;AACH,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,gCAAa,CAAA;AACf,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAUD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC9C,gCAAgC;IAChC;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,8CAA8C;KAC5D;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,mLAAmL;QAC5L,WAAW,EAAE,gFAAgF;KAC9F;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,mGAAmG;QAC5G,WAAW,EAAE,uFAAuF;KACrG;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,oBAAoB;KAClC;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,6CAA6C;KAC3D;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,sDAAsD;QAC/D,WAAW,EAAE,mBAAmB;KACjC;IACD,kCAAkC;IAClC;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,+DAA+D;QACxE,WAAW,EAAE,uBAAuB;KACrC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,qDAAqD;QAC9D,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,yCAAyC;QAClD,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,gBAAgB;KAC9B;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,0CAA0C;QACnD,WAAW,EAAE,kBAAkB;KAChC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,8DAA8D;QACvE,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,sDAAsD;QAC/D,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,kCAAkC;KAChD;IACD,yBAAyB;IACzB;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,uGAAuG;QAChH,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,yBAAyB;QAClC,WAAW,EAAE,2BAA2B;KACzC;IACD,yCAAyC;IACzC;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,oDAAoD;QAC7D,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,uEAAuE;QAChF,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,gBAAgB;QACtB,6FAA6F;QAC7F,kDAAkD;QAClD,OAAO,EAAE,gHAAgH;QACzH,WAAW,EAAE,oCAAoC;KAClD;IACD,6BAA6B;IAC7B;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,kGAAkG;QAC3G,WAAW,EAAE,uDAAuD;KACrE;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,oGAAoG;QAC7G,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,wFAAwF;QACjG,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,wFAAwF;QACxF,sDAAsD;QACtD,6EAA6E;QAC7E,OAAO,EAAE,iPAAiP;QAC1P,WAAW,EAAE,oHAAoH;KAClI;IACD,iCAAiC;IACjC;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,6HAA6H;QACtI,WAAW,EAAE,oDAAoD;KAClE;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,kEAAkE;QAC3E,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,gFAAgF;QACzF,WAAW,EAAE,uBAAuB;KACrC;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EAAE,iBAAiB;KAC/B;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,6CAA6C;QACtD,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,yCAAyC;QAClD,WAAW,EAAE,gBAAgB;KAC9B;IACD,iEAAiE;IACjE;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,gFAAgF;QACzF,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EAAE,0CAA0C;KACxD;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,8EAA8E;QACvF,WAAW,EAAE,mDAAmD;KACjE;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,sGAAsG;QAC/G,WAAW,EAAE,+CAA+C;KAC7D;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,mHAAmH;QAC5H,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,uHAAuH;QAChI,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,6EAA6E;QACtF,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,KAAK;QACT,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,kCAAkC;KAChD;IACD,6DAA6D;IAC7D,0BAA0B;IAC1B;QACE,EAAE,EAAE,uBAAuB;QAC3B,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,4CAA4C;QACrD,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,gFAAgF;QACzF,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,yDAAyD;QAClE,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,2CAA2C;QAC3C,gDAAgD;QAChD,OAAO,EAAE,oFAAoF;QAC7F,WAAW,EAAE,sEAAsE;KACpF;IACD,oBAAoB;IACpB;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,0GAA0G;QACnH,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,qGAAqG;QAC9G,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,mHAAmH;QAC5H,WAAW,EAAE,oCAAoC;KAClD;IACD,uCAAuC;IACvC;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,kGAAkG;QAC3G,WAAW,EAAE,iDAAiD;KAC/D;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sEAAsE;QAC/E,WAAW,EAAE,yCAAyC;KACvD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,4EAA4E;QACrF,WAAW,EAAE,iCAAiC;KAC/C;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,sIAAsI;QAC/I,WAAW,EAAE,qCAAqC;KACnD;IACD,qFAAqF;IACrF;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,8EAA8E;QACvF,WAAW,EAAE,0DAA0D;KACxE;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,oDAAoD;QAC7D,WAAW,EAAE,6DAA6D;KAC3E;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,8FAA8F;QACvG,WAAW,EAAE,2DAA2D;KACzE;IACD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,sFAAsF;QAC/F,WAAW,EAAE,wDAAwD;KACtE;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,uEAAuE;QAChF,WAAW,EAAE,wDAAwD;KACtE;IACD;QACE,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,mEAAmE;QAC5E,WAAW,EAAE,gEAAgE;KAC9E;IACD;QACE,EAAE,EAAE,2BAA2B;QAC/B,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,gEAAgE;QACzE,WAAW,EAAE,wDAAwD;KACtE;IACD;QACE,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,yEAAyE;QAClF,WAAW,EAAE,0DAA0D;KACxE;IACD,yDAAyD;IACzD;QACE,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,oIAAoI;QAC7I,WAAW,EAAE,8DAA8D;QAC3E,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,sIAAsI;QAC/I,WAAW,EAAE,gEAAgE;QAC7E,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,uCAAuC;QAC7C,OAAO,EAAE,mJAAmJ;QAC5J,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,8GAA8G;QACvH,WAAW,EAAE,8CAA8C;QAC3D,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EAAE,4CAA4C;QACzD,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,mDAAmD;QAC5D,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD,yCAAyC;IACzC;QACE,EAAE,EAAE,6BAA6B;QACjC,IAAI,EAAE,iCAAiC;QACvC,OAAO,EAAE,sKAAsK;QAC/K,WAAW,EAAE,mDAAmD;QAChE,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,+BAA+B;QACnC,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,8NAA8N;QACvO,WAAW,EAAE,mEAAmE;QAChF,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,4JAA4J;QACrK,WAAW,EAAE,0CAA0C;QACvD,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,0IAA0I;QACnJ,WAAW,EAAE,kDAAkD;QAC/D,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,8BAA8B;QAClC,IAAI,EAAE,gCAAgC;QACtC,OAAO,EAAE,wFAAwF;QACjG,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,mCAAmC;QACzC,OAAO,EAAE,uJAAuJ;QAChK,WAAW,EAAE,oDAAoD;QACjE,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,yBAAyB;QAC7B,IAAI,EAAE,6BAA6B;QACnC,OAAO,EAAE,uIAAuI;QAChJ,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD;QACE,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,oCAAoC;QAC1C,OAAO,EAAE,0OAA0O;QACnP,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,eAAe,CAAC,IAAI;KAC/B;IACD,2DAA2D;IAC3D;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,4DAA4D;QACrE,WAAW,EAAE,yDAAyD;KACvE;IACD;QACE,EAAE,EAAE,oBAAoB;QACxB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,oCAAoC;KAClD;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,oCAAoC;QAC7C,WAAW,EAAE,0CAA0C;KACxD;IACD,yCAAyC;IACzC;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,8DAA8D;QACvE,WAAW,EAAE,gCAAgC;KAC9C;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,uBAAuB;KACrC;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,6EAA6E;QACtF,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,qCAAqC;QAC9C,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,+BAA+B;QACrC,OAAO,EAAE,4BAA4B;QACrC,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,0BAA0B;QACnC,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,iBAAiB;QAC1B,WAAW,EAAE,mBAAmB;KACjC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,wBAAwB;QAC9B,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,wBAAwB;KACtC;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,uBAAuB;KACrC;IACD;QACE,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,sDAAsD;QAC/D,WAAW,EAAE,qDAAqD;KACnE;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,gDAAgD;KAC9D;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,iFAAiF;QAC1F,WAAW,EAAE,oBAAoB;KAClC;IACD,8CAA8C;IAC9C;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,uFAAuF;QAChG,WAAW,EAAE,mCAAmC;KACjD;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,uBAAuB;QAC7B,OAAO,EAAE,uEAAuE;QAChF,WAAW,EAAE,qCAAqC;KACnD;IACD;QACE,EAAE,EAAE,mBAAmB;QACvB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,8BAA8B;QACvC,WAAW,EAAE,4BAA4B;KAC1C;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,mCAAmC;QAC5C,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,sBAAsB;KACpC;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,kDAAkD;QAC3D,WAAW,EAAE,4CAA4C;KAC1D;IACD;QACE,EAAE,EAAE,aAAa;QACjB,IAAI,EAAE,8BAA8B;QACpC,OAAO,EAAE,sGAAsG;QAC/G,WAAW,EAAE,6BAA6B;KAC3C;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,4FAA4F;QACrG,WAAW,EAAE,sCAAsC;KACpD;IACD;QACE,EAAE,EAAE,eAAe;QACnB,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,+FAA+F;QACxG,WAAW,EAAE,+BAA+B;KAC7C;IACD;QACE,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,8BAA8B;KAC5C;IACD;QACE,EAAE,EAAE,cAAc;QAClB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,cAAc;QACvB,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,2BAA2B;KACzC;IACD;QACE,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,uBAAuB;KACrC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAU;IACvC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/quarantine/patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer-generator.d.ts","sourceRoot":"","sources":["../../src/tools/pointer-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,MAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAsBrC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,
|
|
1
|
+
{"version":3,"file":"pointer-generator.d.ts","sourceRoot":"","sources":["../../src/tools/pointer-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,MAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAsBrC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,MAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAsBrC;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,GAAG,GAAE,MAAsB,EAC3B,OAAO,GAAE,MAAmB,GAC3B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CA6BrC;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,GAAE,MAAsB,GAC1B,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAoBrC"}
|
|
@@ -37,7 +37,7 @@ This file points to the universal hub to ensure consistency across all AI tools.
|
|
|
37
37
|
/**
|
|
38
38
|
* Generate CLAUDE.md file
|
|
39
39
|
*/
|
|
40
|
-
export async function generateClaudeMd(cwd = process.cwd(), hubName = '
|
|
40
|
+
export async function generateClaudeMd(cwd = process.cwd(), hubName = 'AGENT.md') {
|
|
41
41
|
try {
|
|
42
42
|
const claudePath = resolve(cwd, 'CLAUDE.md');
|
|
43
43
|
const content = `# Claude Code Configuration
|
|
@@ -60,7 +60,7 @@ This file points to the universal hub to ensure consistency across all AI tools.
|
|
|
60
60
|
/**
|
|
61
61
|
* Generate GitHub Copilot instructions
|
|
62
62
|
*/
|
|
63
|
-
export async function generateCopilotInstructions(cwd = process.cwd(), hubName = '
|
|
63
|
+
export async function generateCopilotInstructions(cwd = process.cwd(), hubName = 'AGENT.md') {
|
|
64
64
|
try {
|
|
65
65
|
const copilotDir = resolve(cwd, '.github');
|
|
66
66
|
if (!existsSync(copilotDir)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer-generator.js","sourceRoot":"","sources":["../../src/tools/pointer-generator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAEhC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAc,OAAO,CAAC,GAAG,EAAE,EAC3B,UAAkB,WAAW;IAE7B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG;;OAEb,OAAO;;;;;;yBAMW,OAAO;CAC/B,CAAC;QAEE,MAAM,SAAS,CAAC,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,IAAI,YAAY,CACzB,oCAAoC,KAAK,CAAC,OAAO,EAAE,EACnD,oBAAoB,CACrB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAc,OAAO,CAAC,GAAG,EAAE,EAC3B,UAAkB,
|
|
1
|
+
{"version":3,"file":"pointer-generator.js","sourceRoot":"","sources":["../../src/tools/pointer-generator.ts"],"names":[],"mappings":"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"}
|