guardlink 1.4.0 → 1.4.2
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 +48 -0
- package/README.md +17 -3
- package/dist/agents/index.d.ts +8 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +35 -0
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/launcher.d.ts +1 -1
- package/dist/agents/launcher.d.ts.map +1 -1
- package/dist/agents/launcher.js +6 -1
- package/dist/agents/launcher.js.map +1 -1
- package/dist/agents/prompts.d.ts +2 -1
- package/dist/agents/prompts.d.ts.map +1 -1
- package/dist/agents/prompts.js +66 -14
- package/dist/agents/prompts.js.map +1 -1
- package/dist/analyze/prompts.js +1 -1
- package/dist/cli/index.js +86 -49
- package/dist/cli/index.js.map +1 -1
- package/dist/diff/git.js +3 -3
- package/dist/diff/git.js.map +1 -1
- package/dist/init/index.d.ts +7 -0
- package/dist/init/index.d.ts.map +1 -1
- package/dist/init/index.js +60 -24
- package/dist/init/index.js.map +1 -1
- package/dist/init/templates.js +5 -5
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +13 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/suggest.d.ts +1 -0
- package/dist/mcp/suggest.d.ts.map +1 -1
- package/dist/mcp/suggest.js +1 -0
- package/dist/mcp/suggest.js.map +1 -1
- package/dist/parser/clear.d.ts +2 -1
- package/dist/parser/clear.d.ts.map +1 -1
- package/dist/parser/clear.js +18 -28
- package/dist/parser/clear.js.map +1 -1
- package/dist/parser/comment-strip.d.ts +5 -0
- package/dist/parser/comment-strip.d.ts.map +1 -1
- package/dist/parser/comment-strip.js +8 -0
- package/dist/parser/comment-strip.js.map +1 -1
- package/dist/parser/parse-file.d.ts +1 -0
- package/dist/parser/parse-file.d.ts.map +1 -1
- package/dist/parser/parse-file.js +31 -8
- package/dist/parser/parse-file.js.map +1 -1
- package/dist/parser/parse-line.d.ts +6 -0
- package/dist/parser/parse-line.d.ts.map +1 -1
- package/dist/parser/parse-line.js +23 -5
- package/dist/parser/parse-line.js.map +1 -1
- package/dist/parser/parse-project.d.ts +1 -0
- package/dist/parser/parse-project.d.ts.map +1 -1
- package/dist/parser/parse-project.js +17 -2
- package/dist/parser/parse-project.js.map +1 -1
- package/dist/review/index.d.ts +3 -1
- package/dist/review/index.d.ts.map +1 -1
- package/dist/review/index.js +77 -35
- package/dist/review/index.js.map +1 -1
- package/dist/tui/commands.d.ts.map +1 -1
- package/dist/tui/commands.js +72 -46
- package/dist/tui/commands.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/parser/clear.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GuardLink — Annotation clearing utility.
|
|
3
|
-
* Scans project source files and removes all GuardLink annotation
|
|
3
|
+
* Scans project source files and removes all GuardLink annotation lines.
|
|
4
|
+
* Standalone .gal files are treated as raw annotation text.
|
|
4
5
|
*
|
|
5
6
|
* Used by `guardlink clear` and `/clear` to let users start fresh with annotations.
|
|
6
7
|
*
|
|
@@ -15,13 +16,13 @@
|
|
|
15
16
|
import fg from 'fast-glob';
|
|
16
17
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
17
18
|
import { relative } from 'node:path';
|
|
18
|
-
import { stripCommentPrefix } from './comment-strip.js';
|
|
19
|
+
import { isStandaloneAnnotationFile, stripCommentPrefix } from './comment-strip.js';
|
|
19
20
|
// ─── Known GuardLink verbs ──────────────────────────────────────────
|
|
20
21
|
const GUARDLINK_VERBS = new Set([
|
|
21
22
|
'asset', 'threat', 'control',
|
|
22
23
|
'mitigates', 'exposes', 'accepts', 'transfers', 'flows', 'boundary',
|
|
23
24
|
'validates', 'audit', 'owns', 'handles', 'assumes',
|
|
24
|
-
'comment', 'shield', 'shield:begin', 'shield:end',
|
|
25
|
+
'comment', 'source', 'shield', 'shield:begin', 'shield:end',
|
|
25
26
|
// v1 compat
|
|
26
27
|
'review', 'connects',
|
|
27
28
|
]);
|
|
@@ -38,6 +39,7 @@ const DEFAULT_INCLUDE = [
|
|
|
38
39
|
'**/*.html', '**/*.xml', '**/*.svg',
|
|
39
40
|
'**/*.css',
|
|
40
41
|
'**/*.ex', '**/*.exs',
|
|
42
|
+
'**/*.[gG][aA][lL]',
|
|
41
43
|
];
|
|
42
44
|
const DEFAULT_EXCLUDE = [
|
|
43
45
|
'**/node_modules/**', '**/dist/**', '**/build/**', '**/.git/**',
|
|
@@ -45,11 +47,7 @@ const DEFAULT_EXCLUDE = [
|
|
|
45
47
|
'**/tests/**', '**/test/**', '**/__tests__/**',
|
|
46
48
|
];
|
|
47
49
|
// ─── Core logic ─────────────────────────────────────────────────────
|
|
48
|
-
|
|
49
|
-
* Check if a source line contains a GuardLink annotation.
|
|
50
|
-
*/
|
|
51
|
-
function isGuardLinkAnnotationLine(line) {
|
|
52
|
-
const inner = stripCommentPrefix(line);
|
|
50
|
+
function isGuardLinkAnnotationText(inner) {
|
|
53
51
|
if (inner === null)
|
|
54
52
|
return false;
|
|
55
53
|
const trimmed = inner.trim();
|
|
@@ -62,16 +60,6 @@ function isGuardLinkAnnotationLine(line) {
|
|
|
62
60
|
const verb = verbMatch[1];
|
|
63
61
|
return GUARDLINK_VERBS.has(verb);
|
|
64
62
|
}
|
|
65
|
-
/**
|
|
66
|
-
* Check if a line is a continuation description line (-- "...") that follows
|
|
67
|
-
* a GuardLink annotation.
|
|
68
|
-
*/
|
|
69
|
-
function isContinuationLine(line) {
|
|
70
|
-
const inner = stripCommentPrefix(line);
|
|
71
|
-
if (inner === null)
|
|
72
|
-
return false;
|
|
73
|
-
return /^--\s*"/.test(inner.trim());
|
|
74
|
-
}
|
|
75
63
|
/**
|
|
76
64
|
* Remove all GuardLink annotation lines from a file's content.
|
|
77
65
|
* Returns the cleaned content and count of lines removed.
|
|
@@ -80,20 +68,21 @@ function isContinuationLine(line) {
|
|
|
80
68
|
* - Continuation lines (-- "...") that follow an annotation
|
|
81
69
|
* - Empty comment lines that are left between annotations (cleanup)
|
|
82
70
|
*/
|
|
83
|
-
function removeAnnotationsFromContent(content) {
|
|
71
|
+
function removeAnnotationsFromContent(content, allowRawAnnotationLines) {
|
|
84
72
|
const lines = content.split('\n');
|
|
85
73
|
const result = [];
|
|
86
74
|
let removed = 0;
|
|
87
75
|
let lastWasAnnotation = false;
|
|
88
76
|
for (let i = 0; i < lines.length; i++) {
|
|
89
77
|
const line = lines[i];
|
|
90
|
-
|
|
78
|
+
const inner = allowRawAnnotationLines ? line : stripCommentPrefix(line);
|
|
79
|
+
if (isGuardLinkAnnotationText(inner)) {
|
|
91
80
|
removed++;
|
|
92
81
|
lastWasAnnotation = true;
|
|
93
82
|
continue;
|
|
94
83
|
}
|
|
95
84
|
// Remove continuation lines that follow an annotation
|
|
96
|
-
if (lastWasAnnotation &&
|
|
85
|
+
if (lastWasAnnotation && inner !== null && /^--\s*"/.test(inner.trim())) {
|
|
97
86
|
removed++;
|
|
98
87
|
continue;
|
|
99
88
|
}
|
|
@@ -117,22 +106,19 @@ function removeAnnotationsFromContent(content) {
|
|
|
117
106
|
*/
|
|
118
107
|
export async function clearAnnotations(options) {
|
|
119
108
|
const { root, include = DEFAULT_INCLUDE, exclude = DEFAULT_EXCLUDE, dryRun = false, includeDefinitions = false, } = options;
|
|
120
|
-
|
|
121
|
-
const effectiveExclude = includeDefinitions
|
|
122
|
-
? exclude
|
|
123
|
-
: [...exclude, '**/.guardlink/**'];
|
|
124
|
-
const files = await fg(include, {
|
|
109
|
+
const candidateFiles = await fg(include, {
|
|
125
110
|
cwd: root,
|
|
126
|
-
ignore:
|
|
111
|
+
ignore: exclude,
|
|
127
112
|
absolute: true,
|
|
128
113
|
dot: true,
|
|
129
114
|
});
|
|
115
|
+
const files = candidateFiles.filter(filePath => includeDefinitions || !isDefinitionsFile(relative(root, filePath)));
|
|
130
116
|
const modifiedFiles = [];
|
|
131
117
|
const perFile = new Map();
|
|
132
118
|
let totalRemoved = 0;
|
|
133
119
|
for (const filePath of files) {
|
|
134
120
|
const content = await readFile(filePath, 'utf-8');
|
|
135
|
-
const { cleaned, removed } = removeAnnotationsFromContent(content);
|
|
121
|
+
const { cleaned, removed } = removeAnnotationsFromContent(content, isStandaloneAnnotationFile(filePath));
|
|
136
122
|
if (removed > 0) {
|
|
137
123
|
const relPath = relative(root, filePath);
|
|
138
124
|
modifiedFiles.push(relPath);
|
|
@@ -145,4 +131,8 @@ export async function clearAnnotations(options) {
|
|
|
145
131
|
}
|
|
146
132
|
return { modifiedFiles, totalRemoved, perFile };
|
|
147
133
|
}
|
|
134
|
+
function isDefinitionsFile(relPath) {
|
|
135
|
+
const normalized = relPath.replaceAll('\\', '/');
|
|
136
|
+
return normalized.startsWith('.guardlink/definitions.');
|
|
137
|
+
}
|
|
148
138
|
//# sourceMappingURL=clear.js.map
|
package/dist/parser/clear.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../../src/parser/clear.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"clear.js","sourceRoot":"","sources":["../../src/parser/clear.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
* or null if the line is not a comment.
|
|
8
8
|
*/
|
|
9
9
|
export declare function stripCommentPrefix(line: string): string | null;
|
|
10
|
+
/**
|
|
11
|
+
* Standalone GAL files store raw annotation lines without host-language
|
|
12
|
+
* comment prefixes, unlike annotations embedded in source files.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isStandaloneAnnotationFile(filePath: string): boolean;
|
|
10
15
|
/**
|
|
11
16
|
* Detect file's primary comment style from extension.
|
|
12
17
|
* Used for multi-line continuation detection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment-strip.d.ts","sourceRoot":"","sources":["../../src/parser/comment-strip.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"comment-strip.d.ts","sourceRoot":"","sources":["../../src/parser/comment-strip.ts"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+C9D;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEpE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBtD"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { extname } from 'node:path';
|
|
1
2
|
/**
|
|
2
3
|
* Comment prefix stripping per §2.9.
|
|
3
4
|
* Strips the host language's comment prefix to expose the annotation text.
|
|
@@ -50,6 +51,13 @@ export function stripCommentPrefix(line) {
|
|
|
50
51
|
return ocamlBlock[1];
|
|
51
52
|
return null;
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Standalone GAL files store raw annotation lines without host-language
|
|
56
|
+
* comment prefixes, unlike annotations embedded in source files.
|
|
57
|
+
*/
|
|
58
|
+
export function isStandaloneAnnotationFile(filePath) {
|
|
59
|
+
return extname(filePath).toLowerCase() === '.gal';
|
|
60
|
+
}
|
|
53
61
|
/**
|
|
54
62
|
* Detect file's primary comment style from extension.
|
|
55
63
|
* Used for multi-line continuation detection.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comment-strip.js","sourceRoot":"","sources":["../../src/parser/comment-strip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"comment-strip.js","sourceRoot":"","sources":["../../src/parser/comment-strip.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GuardLink — File-level parser.
|
|
3
3
|
* Reads source files and extracts all GuardLink annotations.
|
|
4
|
+
* Standalone .gal files are treated as raw annotation text.
|
|
4
5
|
*
|
|
5
6
|
* @exposes #parser to #path-traversal [high] cwe:CWE-22 -- "File path from caller read via readFile; no validation here"
|
|
6
7
|
* @exposes #parser to #dos [medium] cwe:CWE-400 -- "Large files loaded entirely into memory"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-file.d.ts","sourceRoot":"","sources":["../../src/parser/parse-file.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parse-file.d.ts","sourceRoot":"","sources":["../../src/parser/parse-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAA+B,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAKlG;;GAEG;AACH,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAGtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,GAAG,WAAW,CA8FtF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* GuardLink — File-level parser.
|
|
3
3
|
* Reads source files and extracts all GuardLink annotations.
|
|
4
|
+
* Standalone .gal files are treated as raw annotation text.
|
|
4
5
|
*
|
|
5
6
|
* @exposes #parser to #path-traversal [high] cwe:CWE-22 -- "File path from caller read via readFile; no validation here"
|
|
6
7
|
* @exposes #parser to #dos [medium] cwe:CWE-400 -- "Large files loaded entirely into memory"
|
|
@@ -9,7 +10,7 @@
|
|
|
9
10
|
* @flows #parser -> Annotations via parseString -- "Parsed annotation output"
|
|
10
11
|
*/
|
|
11
12
|
import { readFile } from 'node:fs/promises';
|
|
12
|
-
import { stripCommentPrefix } from './comment-strip.js';
|
|
13
|
+
import { isStandaloneAnnotationFile, stripCommentPrefix } from './comment-strip.js';
|
|
13
14
|
import { parseLine } from './parse-line.js';
|
|
14
15
|
import { unescapeDescription } from './normalize.js';
|
|
15
16
|
/**
|
|
@@ -29,20 +30,24 @@ export function parseString(content, filePath = '<input>') {
|
|
|
29
30
|
const diagnostics = [];
|
|
30
31
|
let lastAnnotation = null;
|
|
31
32
|
let inShield = false;
|
|
33
|
+
const allowRawAnnotationLines = isStandaloneAnnotationFile(filePath);
|
|
34
|
+
let currentSource = null;
|
|
32
35
|
for (let i = 0; i < lines.length; i++) {
|
|
33
36
|
const lineNum = i + 1; // 1-indexed
|
|
34
37
|
const rawLine = lines[i];
|
|
35
|
-
// Strip comment prefix
|
|
36
|
-
|
|
38
|
+
// Strip comment prefix unless this is a standalone .gal file, where
|
|
39
|
+
// annotations are stored as raw lines instead of host-language comments.
|
|
40
|
+
const inner = allowRawAnnotationLines ? rawLine : stripCommentPrefix(rawLine);
|
|
37
41
|
if (inner === null) {
|
|
38
42
|
lastAnnotation = null;
|
|
39
43
|
continue;
|
|
40
44
|
}
|
|
45
|
+
const text = inner.trimStart();
|
|
41
46
|
// Check for shield block boundaries — always parse these even inside shields
|
|
42
|
-
const trimmed =
|
|
47
|
+
const trimmed = text.trim();
|
|
43
48
|
if (trimmed.startsWith('@shield:end')) {
|
|
44
49
|
const location = { file: filePath, line: lineNum };
|
|
45
|
-
const result = parseLine(
|
|
50
|
+
const result = parseLine(text, location);
|
|
46
51
|
if (result.annotation)
|
|
47
52
|
annotations.push(result.annotation);
|
|
48
53
|
inShield = false;
|
|
@@ -51,7 +56,7 @@ export function parseString(content, filePath = '<input>') {
|
|
|
51
56
|
}
|
|
52
57
|
if (trimmed.startsWith('@shield:begin')) {
|
|
53
58
|
const location = { file: filePath, line: lineNum };
|
|
54
|
-
const result = parseLine(
|
|
59
|
+
const result = parseLine(text, location);
|
|
55
60
|
if (result.annotation)
|
|
56
61
|
annotations.push(result.annotation);
|
|
57
62
|
inShield = true;
|
|
@@ -62,7 +67,7 @@ export function parseString(content, filePath = '<input>') {
|
|
|
62
67
|
if (inShield)
|
|
63
68
|
continue;
|
|
64
69
|
// Check for continuation line: -- "..."
|
|
65
|
-
const contMatch =
|
|
70
|
+
const contMatch = text.match(/^--\s*"((?:[^"\\]|\\.)*)"/);
|
|
66
71
|
if (contMatch && lastAnnotation) {
|
|
67
72
|
// Append to last annotation's description
|
|
68
73
|
const contDesc = unescapeDescription(contMatch[1]);
|
|
@@ -76,8 +81,26 @@ export function parseString(content, filePath = '<input>') {
|
|
|
76
81
|
}
|
|
77
82
|
// Try to parse as annotation
|
|
78
83
|
const location = { file: filePath, line: lineNum };
|
|
79
|
-
const result = parseLine(
|
|
84
|
+
const result = parseLine(text, location);
|
|
85
|
+
if (result.sourceDirective) {
|
|
86
|
+
currentSource = {
|
|
87
|
+
file: result.sourceDirective.file,
|
|
88
|
+
line: result.sourceDirective.line,
|
|
89
|
+
parent_symbol: result.sourceDirective.symbol ?? null,
|
|
90
|
+
};
|
|
91
|
+
lastAnnotation = null;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
80
94
|
if (result.annotation) {
|
|
95
|
+
if (allowRawAnnotationLines && currentSource) {
|
|
96
|
+
result.annotation.location = {
|
|
97
|
+
file: currentSource.file,
|
|
98
|
+
line: currentSource.line,
|
|
99
|
+
parent_symbol: currentSource.parent_symbol ?? null,
|
|
100
|
+
origin_file: filePath,
|
|
101
|
+
origin_line: lineNum,
|
|
102
|
+
};
|
|
103
|
+
}
|
|
81
104
|
annotations.push(result.annotation);
|
|
82
105
|
lastAnnotation = result.annotation;
|
|
83
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-file.js","sourceRoot":"","sources":["../../src/parser/parse-file.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parse-file.js","sourceRoot":"","sources":["../../src/parser/parse-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,16 @@
|
|
|
7
7
|
* @comment -- "Regex patterns designed with bounded quantifiers and explicit structure"
|
|
8
8
|
*/
|
|
9
9
|
import type { Annotation, ParseDiagnostic, SourceLocation } from '../types/index.js';
|
|
10
|
+
export interface SourceDirective {
|
|
11
|
+
file: string;
|
|
12
|
+
line: number;
|
|
13
|
+
symbol?: string;
|
|
14
|
+
}
|
|
10
15
|
export interface ParseLineResult {
|
|
11
16
|
annotation: Annotation | null;
|
|
12
17
|
diagnostic: ParseDiagnostic | null;
|
|
13
18
|
isContinuation: boolean;
|
|
19
|
+
sourceDirective?: SourceDirective | null;
|
|
14
20
|
}
|
|
15
21
|
/**
|
|
16
22
|
* Parse a single annotation line (after comment prefix has been stripped).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-line.d.ts","sourceRoot":"","sources":["../../src/parser/parse-line.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAAE,cAAc,EAChC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-line.d.ts","sourceRoot":"","sources":["../../src/parser/parse-line.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EAAE,cAAc,EAChC,MAAM,mBAAmB,CAAC;AA4E3B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;CAC1C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,cAAc,GACvB,eAAe,CA4LjB"}
|
|
@@ -17,6 +17,9 @@ const THREAT_REF = String.raw `(?:#[a-zA-Z0-9_-]+|[A-Za-z]\w*(?:[_\- ][A-Za-z]\w
|
|
|
17
17
|
const SEVERITY = String.raw `\[(P[0-3]|critical|high|medium|low)\]`;
|
|
18
18
|
const EXT_REF = String.raw `([a-zA-Z]+:[A-Za-z0-9_:.\-]+)`;
|
|
19
19
|
const DESC = String.raw `--\s*"((?:[^"\\]|\\.)*)"`;
|
|
20
|
+
const SOURCE_FILE = String.raw `\S+`;
|
|
21
|
+
const SOURCE_LINE = String.raw `[1-9]\d*`;
|
|
22
|
+
const SOURCE_SYMBOL = String.raw `\S+`;
|
|
20
23
|
// Capture external refs (0 or more, space-separated)
|
|
21
24
|
const EXT_REFS_OPT = String.raw `((?:\s+[a-zA-Z]+:[A-Za-z0-9_:.\-]+)*)`;
|
|
22
25
|
// ─── Verb-specific patterns ──────────────────────────────────────────
|
|
@@ -45,6 +48,8 @@ const PATTERNS = {
|
|
|
45
48
|
assumes: new RegExp(String.raw `^@assumes\s+(${ASSET_REF})(?:\s+${DESC})?$`),
|
|
46
49
|
// Comment — developer note, description only
|
|
47
50
|
comment: new RegExp(String.raw `^@comment(?:\s+${DESC})?$`),
|
|
51
|
+
// Standalone .gal directive — sets logical source location for following annotations
|
|
52
|
+
source: new RegExp(String.raw `^@source\s+file:(${SOURCE_FILE})\s+line:(${SOURCE_LINE})(?:\s+symbol:(${SOURCE_SYMBOL}))?$`),
|
|
48
53
|
// Special
|
|
49
54
|
shield: new RegExp(String.raw `^@shield(?!:)(?:\s+${DESC})?$`),
|
|
50
55
|
shield_begin: new RegExp(String.raw `^@shield:begin(?:\s+${DESC})?$`),
|
|
@@ -72,9 +77,9 @@ export function parseLine(text, location) {
|
|
|
72
77
|
// Check for continuation line (-- "...")
|
|
73
78
|
const contMatch = trimmed.match(new RegExp(String.raw `^${DESC}$`));
|
|
74
79
|
if (contMatch) {
|
|
75
|
-
return { annotation: null, diagnostic: null, isContinuation: true };
|
|
80
|
+
return { annotation: null, diagnostic: null, isContinuation: true, sourceDirective: null };
|
|
76
81
|
}
|
|
77
|
-
return { annotation: null, diagnostic: null, isContinuation: false };
|
|
82
|
+
return { annotation: null, diagnostic: null, isContinuation: false, sourceDirective: null };
|
|
78
83
|
}
|
|
79
84
|
const base = { location, raw: trimmed };
|
|
80
85
|
let m;
|
|
@@ -181,6 +186,19 @@ export function parseLine(text, location) {
|
|
|
181
186
|
if ((m = trimmed.match(PATTERNS.comment))) {
|
|
182
187
|
return ok({ ...base, verb: 'comment', description: desc(m[1]) });
|
|
183
188
|
}
|
|
189
|
+
// ── @source ──
|
|
190
|
+
if ((m = trimmed.match(PATTERNS.source))) {
|
|
191
|
+
return {
|
|
192
|
+
annotation: null,
|
|
193
|
+
diagnostic: null,
|
|
194
|
+
isContinuation: false,
|
|
195
|
+
sourceDirective: {
|
|
196
|
+
file: m[1],
|
|
197
|
+
line: Number(m[2]),
|
|
198
|
+
symbol: m[3] || undefined,
|
|
199
|
+
},
|
|
200
|
+
};
|
|
201
|
+
}
|
|
184
202
|
// ── @shield ──
|
|
185
203
|
if ((m = trimmed.match(PATTERNS.shield_begin))) {
|
|
186
204
|
return ok({ ...base, verb: 'shield:begin', description: desc(m[1]) });
|
|
@@ -197,7 +215,7 @@ export function parseLine(text, location) {
|
|
|
197
215
|
const knownVerbs = new Set([
|
|
198
216
|
'asset', 'threat', 'control', 'mitigates', 'exposes', 'accepts',
|
|
199
217
|
'transfers', 'flows', 'boundary', 'validates', 'audit', 'owns',
|
|
200
|
-
'handles', 'assumes', 'comment', 'shield', 'shield:begin', 'shield:end',
|
|
218
|
+
'handles', 'assumes', 'comment', 'source', 'shield', 'shield:begin', 'shield:end',
|
|
201
219
|
// v1 compat
|
|
202
220
|
'review', 'connects',
|
|
203
221
|
]);
|
|
@@ -216,11 +234,11 @@ export function parseLine(text, location) {
|
|
|
216
234
|
}
|
|
217
235
|
}
|
|
218
236
|
// Not a GuardLink annotation (could be @param, @returns, etc.)
|
|
219
|
-
return { annotation: null, diagnostic: null, isContinuation: false };
|
|
237
|
+
return { annotation: null, diagnostic: null, isContinuation: false, sourceDirective: null };
|
|
220
238
|
}
|
|
221
239
|
// ─── Helpers ─────────────────────────────────────────────────────────
|
|
222
240
|
function ok(annotation) {
|
|
223
|
-
return { annotation, diagnostic: null, isContinuation: false };
|
|
241
|
+
return { annotation, diagnostic: null, isContinuation: false, sourceDirective: null };
|
|
224
242
|
}
|
|
225
243
|
function desc(raw) {
|
|
226
244
|
if (!raw)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-line.js","sourceRoot":"","sources":["../../src/parser/parse-line.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-line.js","sourceRoot":"","sources":["../../src/parser/parse-line.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
* @mitigates #parser against #dos using #resource-limits -- "DEFAULT_EXCLUDE skips build artifacts, tests; limits effective file count"
|
|
9
9
|
* @flows ProjectRoot -> #parser via fast-glob -- "Directory traversal path"
|
|
10
10
|
* @flows #parser -> ThreatModel via assembleModel -- "Aggregated threat model output"
|
|
11
|
+
* @comment -- "Scans standalone .gal files in addition to comment-based source annotations"
|
|
11
12
|
* @boundary #parser and FileSystem (#fs-boundary) -- "Trust boundary between parser and disk I/O"
|
|
12
13
|
*/
|
|
13
14
|
import type { ThreatModel, ParseDiagnostic } from '../types/index.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-project.d.ts","sourceRoot":"","sources":["../../src/parser/parse-project.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"parse-project.d.ts","sourceRoot":"","sources":["../../src/parser/parse-project.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EACE,WAAW,EAAe,eAAe,EAStD,MAAM,mBAAmB,CAAC;AAI3B,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwBD;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC;IACxE,KAAK,EAAE,WAAW,CAAC;IACnB,WAAW,EAAE,eAAe,EAAE,CAAC;CAChC,CAAC,CA6ED"}
|
|
@@ -8,10 +8,11 @@
|
|
|
8
8
|
* @mitigates #parser against #dos using #resource-limits -- "DEFAULT_EXCLUDE skips build artifacts, tests; limits effective file count"
|
|
9
9
|
* @flows ProjectRoot -> #parser via fast-glob -- "Directory traversal path"
|
|
10
10
|
* @flows #parser -> ThreatModel via assembleModel -- "Aggregated threat model output"
|
|
11
|
+
* @comment -- "Scans standalone .gal files in addition to comment-based source annotations"
|
|
11
12
|
* @boundary #parser and FileSystem (#fs-boundary) -- "Trust boundary between parser and disk I/O"
|
|
12
13
|
*/
|
|
13
14
|
import fg from 'fast-glob';
|
|
14
|
-
import { relative } from 'node:path';
|
|
15
|
+
import { isAbsolute, relative } from 'node:path';
|
|
15
16
|
import { parseFile } from './parse-file.js';
|
|
16
17
|
import { loadWorkspaceConfig } from '../workspace/index.js';
|
|
17
18
|
const DEFAULT_INCLUDE = [
|
|
@@ -27,6 +28,7 @@ const DEFAULT_INCLUDE = [
|
|
|
27
28
|
'**/*.html', '**/*.xml', '**/*.svg',
|
|
28
29
|
'**/*.css',
|
|
29
30
|
'**/*.ex', '**/*.exs',
|
|
31
|
+
'**/*.[gG][aA][lL]',
|
|
30
32
|
];
|
|
31
33
|
const DEFAULT_EXCLUDE = [
|
|
32
34
|
'**/node_modules/**', '**/dist/**', '**/build/**', '**/.git/**',
|
|
@@ -54,13 +56,19 @@ export async function parseProject(options) {
|
|
|
54
56
|
const relPath = relative(root, file);
|
|
55
57
|
// Normalize file paths to relative
|
|
56
58
|
for (const ann of result.annotations) {
|
|
57
|
-
ann.location.file =
|
|
59
|
+
ann.location.file = normalizeLocationPath(ann.location.file, file, root);
|
|
60
|
+
if (ann.location.origin_file) {
|
|
61
|
+
ann.location.origin_file = normalizeLocationPath(ann.location.origin_file, file, root);
|
|
62
|
+
}
|
|
58
63
|
}
|
|
59
64
|
for (const diag of result.diagnostics) {
|
|
60
65
|
diag.file = relPath;
|
|
61
66
|
}
|
|
62
67
|
if (result.annotations.length > 0) {
|
|
63
68
|
filesWithAnnotations.add(relPath);
|
|
69
|
+
for (const ann of result.annotations) {
|
|
70
|
+
filesWithAnnotations.add(ann.location.file);
|
|
71
|
+
}
|
|
64
72
|
}
|
|
65
73
|
allAnnotations.push(...result.annotations);
|
|
66
74
|
allDiagnostics.push(...result.diagnostics);
|
|
@@ -96,6 +104,13 @@ export async function parseProject(options) {
|
|
|
96
104
|
model.external_refs = detectExternalRefs(model, root);
|
|
97
105
|
return { model, diagnostics: allDiagnostics };
|
|
98
106
|
}
|
|
107
|
+
function normalizeLocationPath(locationFile, physicalFile, root) {
|
|
108
|
+
if (locationFile === physicalFile)
|
|
109
|
+
return relative(root, physicalFile);
|
|
110
|
+
if (isAbsolute(locationFile))
|
|
111
|
+
return relative(root, locationFile);
|
|
112
|
+
return locationFile.replaceAll('\\', '/');
|
|
113
|
+
}
|
|
99
114
|
function getAnnotationId(ann) {
|
|
100
115
|
if ('id' in ann)
|
|
101
116
|
return ann.id;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-project.js","sourceRoot":"","sources":["../../src/parser/parse-project.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-project.js","sourceRoot":"","sources":["../../src/parser/parse-project.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAYjD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAa5D,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU;IAC5C,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;IAC1C,WAAW,EAAE,SAAS,EAAE,YAAY;IACpC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU;IACrD,SAAS,EAAE,YAAY,EAAE,WAAW;IACpC,UAAU,EAAE,UAAU,EAAE,SAAS;IACjC,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,UAAU;IACvB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,UAAU,EAAE,UAAU;IACnC,UAAU;IACV,SAAS,EAAE,UAAU;IACrB,mBAAmB;CACpB,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY;IAC/D,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa;IAClE,aAAa,EAAE,YAAY,EAAE,iBAAiB;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAI7D,MAAM,EACJ,IAAI,EACJ,OAAO,GAAG,eAAe,EACzB,OAAO,GAAG,eAAe,EACzB,OAAO,GAAG,SAAS,GACpB,GAAG,OAAO,CAAC;IAEZ,gEAAgE;IAChE,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,OAAO,EAAE;QAC9B,GAAG,EAAE,IAAI;QACT,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,IAAI;QACd,GAAG,EAAE,IAAI;KACV,CAAC,CAAC;IAEH,kBAAkB;IAClB,MAAM,cAAc,GAAiB,EAAE,CAAC;IACxC,MAAM,cAAc,GAAsB,EAAE,CAAC;IAC7C,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACrC,mCAAmC;QACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACrC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzE,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7B,GAAG,CAAC,QAAQ,CAAC,WAAW,GAAG,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACtB,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gBACrC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;QACD,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,kCAAkC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC;gBAC5B,cAAc,CAAC,IAAI,CAAC;oBAClB,KAAK,EAAE,OAAO;oBACd,OAAO,EAAE,yBAAyB,EAAE,sBAAsB,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG;oBACrG,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;oBACvB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI;iBACxB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IAED,4FAA4F;IAC5F,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,CAAC,GAAG,oBAAoB,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,gBAAgB,GAAG,WAAW;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;SAC1G,IAAI,EAAE,CAAC;IAEV,uBAAuB;IACvB,MAAM,KAAK,GAAG,aAAa,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAErG,6DAA6D;IAC7D,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAEtD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAChD,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,YAAoB,EAAE,IAAY;IACrF,IAAI,YAAY,KAAK,YAAY;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,eAAe,CAAC,GAAe;IACtC,IAAI,IAAI,IAAI,GAAG;QAAE,OAAQ,GAAW,CAAC,EAAE,CAAC;IACxC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,WAAyB,EAAE,SAAiB,EAAE,OAAe,EAAE,cAAwB,EAAE,gBAA0B;IACxI,MAAM,KAAK,GAAgB;QACzB,OAAO,EAAE,OAAO;QAChB,OAAO;QACP,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,YAAY,EAAE,SAAS;QACvB,kBAAkB,EAAE,WAAW,CAAC,MAAM;QACtC,eAAe,EAAE,cAAc;QAC/B,iBAAiB,EAAE,gBAAgB;QACnC,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,EAAE;QACV,SAAS,EAAE,EAAE;QACb,aAAa,EAAE,EAAE;QACjB,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE;YACR,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,WAAW,CAAC,MAAM;YACrC,gBAAgB,EAAE,CAAC;YACnB,oBAAoB,EAAE,EAAE;SACzB;KACF,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;YACjB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,GAAG,GAAsB,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;oBACvB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,CAAC,GAAG,GAAuB,CAAC;gBAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,GAA0B,CAAC;gBACrC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO;oBACpD,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACtD,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;oBAChC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,GAA0B,CAAC;gBACrC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM;oBACpD,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,GAAG,GAAsB,CAAC;gBACjC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;oBACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS;oBAC1D,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,MAAM,CAAC,GAAG,GAAyB,CAAC;gBACpC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;oBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE;oBAChD,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,CAAC,GAAG,GAA0B,CAAC;gBACrC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;oBAClC,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,GAAG,GAAsB,CAAC;gBACjC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;oBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,CAAC,GAAG,GAAqB,CAAC;gBAChC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC;oBACnB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK;oBAC9B,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;oBACvB,cAAc,EAAE,CAAC,CAAC,cAAoC;oBACtD,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;oBACrB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,CAAC,GAAG,GAAwB,CAAC;gBACnC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAClB,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACjD,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,cAAc,CAAC;YACpB,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,GAAG,GAAuB,CAAC;gBAClC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;oBACjB,MAAM,EAAE,CAAC,CAAC,WAAW;oBACrB,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,sDAAsD;IACtD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ;YAAE,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACtE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,QAAQ;YAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAChB,CAAC,CAAC,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAQ,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8CAA8C;IAC9C,kDAAkD;IAElD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AAExE;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,KAAkB,EAAE,IAAY;IAC1D,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvB,yCAAyC;IACzC,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,MAAM,CAAC,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACpB,CAAC;IACF,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,qDAAqD;IACrD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;IAC7D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;IAC7D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAAC,CAAC;IAC7D,CAAC;IAED,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,yBAAyB;IAEzD,SAAS,QAAQ,CAAC,GAAuB,EAAE,IAAoB,EAAE,QAAwB;QACvF,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAE1B,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO;QAE9B,wCAAwC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,gDAAgD;QAExE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QAEtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,IAAI,CAAC,IAAI,CAAC;YACR,GAAG;YACH,YAAY,EAAE,IAAI;YAClB,QAAQ;YACR,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC3C,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,OAAO;YAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QAClC,QAAQ,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAChC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACjC,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC5C,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/review/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export interface ReviewableExposure {
|
|
|
20
20
|
/** 1-based index in the review list */
|
|
21
21
|
index: number;
|
|
22
22
|
exposure: ThreatModelExposure;
|
|
23
|
-
/** Stable ID for MCP
|
|
23
|
+
/** Stable ID for MCP */
|
|
24
24
|
id: string;
|
|
25
25
|
}
|
|
26
26
|
export interface ReviewAction {
|
|
@@ -32,6 +32,8 @@ export interface ReviewResult {
|
|
|
32
32
|
action: ReviewAction;
|
|
33
33
|
/** Lines inserted into the file (empty for skip) */
|
|
34
34
|
linesInserted: number;
|
|
35
|
+
/** Physical file modified (or logical file for skip) */
|
|
36
|
+
targetFile: string;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Get all unmitigated exposures eligible for review, sorted by severity.
|