@owasp-aghast/aghast 0.8.4 → 0.9.0-rc.1

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.
Files changed (107) hide show
  1. package/dist/build-config.d.ts.map +1 -1
  2. package/dist/build-config.js +101 -2
  3. package/dist/build-config.js.map +1 -1
  4. package/dist/check-library.d.ts +25 -0
  5. package/dist/check-library.d.ts.map +1 -1
  6. package/dist/check-library.js +165 -0
  7. package/dist/check-library.js.map +1 -1
  8. package/dist/ci-metadata.d.ts +42 -0
  9. package/dist/ci-metadata.d.ts.map +1 -0
  10. package/dist/ci-metadata.js +131 -0
  11. package/dist/ci-metadata.js.map +1 -0
  12. package/dist/cli.js +4 -1
  13. package/dist/cli.js.map +1 -1
  14. package/dist/concurrency.d.ts +18 -0
  15. package/dist/concurrency.d.ts.map +1 -0
  16. package/dist/concurrency.js +39 -0
  17. package/dist/concurrency.js.map +1 -0
  18. package/dist/cost-tracker.d.ts +45 -0
  19. package/dist/cost-tracker.d.ts.map +1 -0
  20. package/dist/cost-tracker.js +56 -0
  21. package/dist/cost-tracker.js.map +1 -0
  22. package/dist/discoveries/glob-discovery.d.ts +21 -0
  23. package/dist/discoveries/glob-discovery.d.ts.map +1 -0
  24. package/dist/discoveries/glob-discovery.js +215 -0
  25. package/dist/discoveries/glob-discovery.js.map +1 -0
  26. package/dist/discoveries/script-discovery.d.ts +117 -0
  27. package/dist/discoveries/script-discovery.d.ts.map +1 -0
  28. package/dist/discoveries/script-discovery.js +593 -0
  29. package/dist/discoveries/script-discovery.js.map +1 -0
  30. package/dist/docs-url.d.ts +14 -0
  31. package/dist/docs-url.d.ts.map +1 -0
  32. package/dist/docs-url.js +17 -0
  33. package/dist/docs-url.js.map +1 -0
  34. package/dist/error-codes.d.ts +12 -1
  35. package/dist/error-codes.d.ts.map +1 -1
  36. package/dist/error-codes.js +16 -2
  37. package/dist/error-codes.js.map +1 -1
  38. package/dist/formatters/csv-formatter.d.ts +12 -1
  39. package/dist/formatters/csv-formatter.d.ts.map +1 -1
  40. package/dist/formatters/csv-formatter.js +64 -2
  41. package/dist/formatters/csv-formatter.js.map +1 -1
  42. package/dist/formatters/html-formatter.d.ts.map +1 -1
  43. package/dist/formatters/html-formatter.js +43 -3
  44. package/dist/formatters/html-formatter.js.map +1 -1
  45. package/dist/formatters/index.d.ts.map +1 -1
  46. package/dist/formatters/index.js +2 -0
  47. package/dist/formatters/index.js.map +1 -1
  48. package/dist/formatters/markdown-formatter.d.ts +61 -0
  49. package/dist/formatters/markdown-formatter.d.ts.map +1 -0
  50. package/dist/formatters/markdown-formatter.js +557 -0
  51. package/dist/formatters/markdown-formatter.js.map +1 -0
  52. package/dist/formatters/sarif-formatter.d.ts +7 -0
  53. package/dist/formatters/sarif-formatter.d.ts.map +1 -1
  54. package/dist/formatters/sarif-formatter.js +80 -0
  55. package/dist/formatters/sarif-formatter.js.map +1 -1
  56. package/dist/formatters/types.d.ts +24 -0
  57. package/dist/formatters/types.d.ts.map +1 -1
  58. package/dist/index.d.ts +4 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +342 -9
  61. package/dist/index.js.map +1 -1
  62. package/dist/issue-file-writer.d.ts +21 -0
  63. package/dist/issue-file-writer.d.ts.map +1 -0
  64. package/dist/issue-file-writer.js +307 -0
  65. package/dist/issue-file-writer.js.map +1 -0
  66. package/dist/judge.d.ts +62 -0
  67. package/dist/judge.d.ts.map +1 -0
  68. package/dist/judge.js +305 -0
  69. package/dist/judge.js.map +1 -0
  70. package/dist/mock-agent-provider.d.ts +3 -0
  71. package/dist/mock-agent-provider.d.ts.map +1 -1
  72. package/dist/mock-agent-provider.js +13 -0
  73. package/dist/mock-agent-provider.js.map +1 -1
  74. package/dist/new-check.d.ts.map +1 -1
  75. package/dist/new-check.js +322 -13
  76. package/dist/new-check.js.map +1 -1
  77. package/dist/opencode-provider.d.ts.map +1 -1
  78. package/dist/opencode-provider.js +33 -0
  79. package/dist/opencode-provider.js.map +1 -1
  80. package/dist/repo-scan.d.ts +80 -0
  81. package/dist/repo-scan.d.ts.map +1 -0
  82. package/dist/repo-scan.js +250 -0
  83. package/dist/repo-scan.js.map +1 -0
  84. package/dist/result-handlers/pr-comment-handler.d.ts +136 -0
  85. package/dist/result-handlers/pr-comment-handler.d.ts.map +1 -0
  86. package/dist/result-handlers/pr-comment-handler.js +381 -0
  87. package/dist/result-handlers/pr-comment-handler.js.map +1 -0
  88. package/dist/retry.d.ts +128 -0
  89. package/dist/retry.d.ts.map +1 -0
  90. package/dist/retry.js +261 -0
  91. package/dist/retry.js.map +1 -0
  92. package/dist/runtime-config.d.ts.map +1 -1
  93. package/dist/runtime-config.js +62 -0
  94. package/dist/runtime-config.js.map +1 -1
  95. package/dist/scan-runner.d.ts +31 -22
  96. package/dist/scan-runner.d.ts.map +1 -1
  97. package/dist/scan-runner.js +145 -100
  98. package/dist/scan-runner.js.map +1 -1
  99. package/dist/semgrep-runner.js +6 -4
  100. package/dist/semgrep-runner.js.map +1 -1
  101. package/dist/stats.d.ts.map +1 -1
  102. package/dist/stats.js +4 -1
  103. package/dist/stats.js.map +1 -1
  104. package/dist/types.d.ts +149 -2
  105. package/dist/types.d.ts.map +1 -1
  106. package/dist/types.js.map +1 -1
  107. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-provider.js","sourceRoot":"","sources":["../src/opencode-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-provider.js","sourceRoot":"","sources":["../src/opencode-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ /**
2
+ * Repository scanning for dynamic check-matching.
3
+ *
4
+ * Provides a small, cached snapshot of a repository's filesystem (file paths,
5
+ * extensions present) and any user-supplied tags so that
6
+ * `MatchCriteria` rules in `checks-config.json` can be evaluated without
7
+ * re-walking the tree per check.
8
+ *
9
+ * Bounded recursion: a fixed ignore list (`node_modules`, `.git`, `dist`,
10
+ * `build`, `.worktrees`) is always applied and the scan stops at a depth
11
+ * cap. This is intentionally cheap — `MatchCriteria` is meant to gate which
12
+ * checks run, not to enumerate the whole repo.
13
+ */
14
+ import type { MatchCriteria } from './types.js';
15
+ /**
16
+ * Test-only knobs to exercise the depth/file caps without building a 50k-file
17
+ * fixture. NOT part of the public API.
18
+ */
19
+ export interface ScanRepositoryOptions {
20
+ maxDepth?: number;
21
+ maxFiles?: number;
22
+ }
23
+ /** Cached snapshot of a repository's structure relevant to MatchCriteria. */
24
+ export interface RepoSnapshot {
25
+ /** Absolute repository path (resolved). */
26
+ repoPath: string;
27
+ /** All non-ignored file paths, relative to repoPath, with forward slashes. */
28
+ files: string[];
29
+ /** Set of file extensions present (lowercased, including leading dot, e.g. ".ts"). */
30
+ extensions: Set<string>;
31
+ /** Tags from `.aghast-tags` (newline-separated) or `.aghast.json` `tags`. */
32
+ tags: Set<string>;
33
+ }
34
+ /**
35
+ * Build a RepoSnapshot for the given path. Walks the filesystem once,
36
+ * applying the default ignore list. Errors reading individual entries are
37
+ * swallowed so a permission issue on a single subtree doesn't kill matching.
38
+ */
39
+ export declare function scanRepository(repoPath: string, options?: ScanRepositoryOptions): Promise<RepoSnapshot>;
40
+ /**
41
+ * Evaluate MatchCriteria against a repo snapshot.
42
+ *
43
+ * Semantics:
44
+ * - hasFileTypes: at least one extension in the list is present in the repo
45
+ * - hasFiles: every entry exists (literal path under repo OR glob match)
46
+ * - hasPaths: at least one file matches at least one of the globs
47
+ * - tags: every listed tag is present
48
+ *
49
+ * If multiple criteria are set, ALL must pass (AND). An empty MatchCriteria
50
+ * (no fields) matches nothing — explicit opt-in is required.
51
+ */
52
+ export declare function evaluateMatchCriteria(criteria: MatchCriteria, snapshot: RepoSnapshot): boolean;
53
+ /**
54
+ * Return a cached RepoSnapshot for the given path, scanning on first request.
55
+ * The cache is keyed by absolute repository path so multiple checks reusing
56
+ * the same repo share one filesystem walk.
57
+ *
58
+ * On rejection, the failing promise is evicted so a later caller can retry
59
+ * (avoids "poisoned cache" where a transient error becomes permanent for the
60
+ * lifetime of the process). `scanRepository` currently swallows per-entry
61
+ * errors and always resolves, but the eviction guard keeps that contract from
62
+ * silently breaking if `scanRepository` ever changes.
63
+ */
64
+ export declare function getRepoSnapshot(repoPath: string): Promise<RepoSnapshot>;
65
+ /**
66
+ * Clear the snapshot cache. Called by `runScan` at the start of each
67
+ * invocation (so successive scans don't reuse stale filesystem state) and by
68
+ * tests between cases.
69
+ *
70
+ * Note: the cache is module-scoped, so calling this from concurrent
71
+ * `runScan` invocations will wipe each other's in-flight entries. Sequential
72
+ * invocations are the primary supported pattern.
73
+ */
74
+ export declare function clearRepoSnapshotCache(): void;
75
+ /**
76
+ * Test-only: peek at the snapshot cache for a path. NOT part of the public
77
+ * API. Used by unit tests to assert cache population / eviction behaviour.
78
+ */
79
+ export declare function __peekSnapshotCacheForTesting(repoPath: string): Promise<RepoSnapshot> | undefined;
80
+ //# sourceMappingURL=repo-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-scan.d.ts","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AA0BhD;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,sFAAsF;IACtF,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,6EAA6E;IAC7E,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,YAAY,CAAC,CAqEvB;AA0CD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,YAAY,GACrB,OAAO,CAiDT;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAavE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,SAAS,CAEjG"}
@@ -0,0 +1,250 @@
1
+ /**
2
+ * Repository scanning for dynamic check-matching.
3
+ *
4
+ * Provides a small, cached snapshot of a repository's filesystem (file paths,
5
+ * extensions present) and any user-supplied tags so that
6
+ * `MatchCriteria` rules in `checks-config.json` can be evaluated without
7
+ * re-walking the tree per check.
8
+ *
9
+ * Bounded recursion: a fixed ignore list (`node_modules`, `.git`, `dist`,
10
+ * `build`, `.worktrees`) is always applied and the scan stops at a depth
11
+ * cap. This is intentionally cheap — `MatchCriteria` is meant to gate which
12
+ * checks run, not to enumerate the whole repo.
13
+ */
14
+ import { readdir, readFile } from 'node:fs/promises';
15
+ import { join, relative, sep } from 'node:path';
16
+ import picomatch from 'picomatch';
17
+ import { logDebug } from './logging.js';
18
+ const TAG = 'repo-scan';
19
+ /** Directories always skipped during scanning. */
20
+ const DEFAULT_IGNORE_DIRS = new Set([
21
+ 'node_modules',
22
+ '.git',
23
+ 'dist',
24
+ 'build',
25
+ '.worktrees',
26
+ '.next',
27
+ '.nuxt',
28
+ '.venv',
29
+ 'venv',
30
+ '__pycache__',
31
+ 'target',
32
+ 'coverage',
33
+ ]);
34
+ /** Cap directory depth to avoid runaway recursion on pathological repos. */
35
+ const MAX_DEPTH = 12;
36
+ /** Cap total files inspected so very large monorepos still match in bounded time. */
37
+ const MAX_FILES = 50_000;
38
+ /**
39
+ * Build a RepoSnapshot for the given path. Walks the filesystem once,
40
+ * applying the default ignore list. Errors reading individual entries are
41
+ * swallowed so a permission issue on a single subtree doesn't kill matching.
42
+ */
43
+ export async function scanRepository(repoPath, options = {}) {
44
+ const maxDepth = options.maxDepth ?? MAX_DEPTH;
45
+ const maxFiles = options.maxFiles ?? MAX_FILES;
46
+ const files = [];
47
+ const extensions = new Set();
48
+ let truncatedByFileCap = false;
49
+ let truncatedByDepthCap = false;
50
+ async function walk(dir, depth) {
51
+ if (depth > maxDepth) {
52
+ truncatedByDepthCap = true;
53
+ return;
54
+ }
55
+ if (files.length >= maxFiles) {
56
+ truncatedByFileCap = true;
57
+ return;
58
+ }
59
+ let entries;
60
+ try {
61
+ entries = await readdir(dir, { withFileTypes: true });
62
+ }
63
+ catch {
64
+ return;
65
+ }
66
+ for (const entry of entries) {
67
+ if (files.length >= maxFiles) {
68
+ truncatedByFileCap = true;
69
+ return;
70
+ }
71
+ const name = entry.name;
72
+ if (entry.isDirectory()) {
73
+ if (DEFAULT_IGNORE_DIRS.has(name))
74
+ continue;
75
+ await walk(join(dir, name), depth + 1);
76
+ }
77
+ else if (entry.isFile()) {
78
+ const full = join(dir, name);
79
+ const rel = relative(repoPath, full).split(sep).join('/');
80
+ files.push(rel);
81
+ const dot = name.lastIndexOf('.');
82
+ if (dot > 0 && dot < name.length - 1) {
83
+ extensions.add(name.slice(dot).toLowerCase());
84
+ }
85
+ }
86
+ }
87
+ }
88
+ await walk(repoPath, 0);
89
+ // Surface truncation: silently dropping files/subtrees can make `matchCriteria`
90
+ // miss matches in very large or very deep repos. Logged at debug so it's only
91
+ // visible when the user opts in via --debug / --log-level debug.
92
+ if (truncatedByFileCap) {
93
+ logDebug(TAG, `Repo scan truncated at MAX_FILES=${maxFiles} files for "${repoPath}". ` +
94
+ `matchCriteria evaluation is best-effort beyond this cap.`);
95
+ }
96
+ if (truncatedByDepthCap) {
97
+ logDebug(TAG, `Repo scan truncated at MAX_DEPTH=${maxDepth} for "${repoPath}". ` +
98
+ `Subtrees deeper than this were skipped during matchCriteria evaluation.`);
99
+ }
100
+ const tags = await loadTags(repoPath);
101
+ return { repoPath, files, extensions, tags };
102
+ }
103
+ /**
104
+ * Read tags from `<repo>/.aghast-tags` (newline-separated) or
105
+ * `<repo>/.aghast.json` `tags` array. Returns an empty set if neither exists.
106
+ */
107
+ async function loadTags(repoPath) {
108
+ const tags = new Set();
109
+ // .aghast-tags
110
+ try {
111
+ const tagsFile = join(repoPath, '.aghast-tags');
112
+ const raw = await readFile(tagsFile, 'utf-8');
113
+ for (const line of raw.split(/\r?\n/)) {
114
+ const t = line.trim();
115
+ if (t && !t.startsWith('#'))
116
+ tags.add(t);
117
+ }
118
+ }
119
+ catch {
120
+ // Missing or unreadable; ignore.
121
+ }
122
+ // .aghast.json -> tags array
123
+ try {
124
+ const cfgFile = join(repoPath, '.aghast.json');
125
+ const raw = await readFile(cfgFile, 'utf-8');
126
+ const parsed = JSON.parse(raw);
127
+ if (typeof parsed === 'object' &&
128
+ parsed !== null &&
129
+ Array.isArray(parsed.tags)) {
130
+ for (const t of parsed.tags) {
131
+ if (typeof t === 'string' && t.trim() !== '')
132
+ tags.add(t.trim());
133
+ }
134
+ }
135
+ }
136
+ catch {
137
+ // Missing or unreadable / invalid JSON; ignore.
138
+ }
139
+ return tags;
140
+ }
141
+ /**
142
+ * Evaluate MatchCriteria against a repo snapshot.
143
+ *
144
+ * Semantics:
145
+ * - hasFileTypes: at least one extension in the list is present in the repo
146
+ * - hasFiles: every entry exists (literal path under repo OR glob match)
147
+ * - hasPaths: at least one file matches at least one of the globs
148
+ * - tags: every listed tag is present
149
+ *
150
+ * If multiple criteria are set, ALL must pass (AND). An empty MatchCriteria
151
+ * (no fields) matches nothing — explicit opt-in is required.
152
+ */
153
+ export function evaluateMatchCriteria(criteria, snapshot) {
154
+ const hasAny = !!criteria.hasFileTypes?.length ||
155
+ !!criteria.hasFiles?.length ||
156
+ !!criteria.hasPaths?.length ||
157
+ !!criteria.tags?.length;
158
+ if (!hasAny)
159
+ return false;
160
+ if (criteria.hasFileTypes && criteria.hasFileTypes.length > 0) {
161
+ const wanted = criteria.hasFileTypes
162
+ .filter((e) => e.trim() !== '')
163
+ .map((e) => (e.startsWith('.') ? e : '.' + e).toLowerCase());
164
+ if (wanted.length === 0)
165
+ return false;
166
+ const hit = wanted.some((ext) => snapshot.extensions.has(ext));
167
+ if (!hit)
168
+ return false;
169
+ }
170
+ if (criteria.hasFiles && criteria.hasFiles.length > 0) {
171
+ const fileSet = new Set(snapshot.files);
172
+ for (const entry of criteria.hasFiles) {
173
+ const normalized = entry.replace(/\\/g, '/');
174
+ if (fileSet.has(normalized))
175
+ continue;
176
+ // Literal lookup missed. If `entry` has no glob metacharacters there's
177
+ // no point compiling a matcher and scanning the file list — it's a
178
+ // guaranteed miss. Only fall back to glob matching for actual globs.
179
+ if (!picomatch.scan(normalized).isGlob) {
180
+ return false;
181
+ }
182
+ const matcher = picomatch(normalized, { dot: true });
183
+ if (!snapshot.files.some((f) => matcher(f))) {
184
+ return false;
185
+ }
186
+ }
187
+ }
188
+ if (criteria.hasPaths && criteria.hasPaths.length > 0) {
189
+ const matcher = picomatch(criteria.hasPaths.map((p) => p.replace(/\\/g, '/')), {
190
+ dot: true,
191
+ });
192
+ if (!snapshot.files.some((f) => matcher(f)))
193
+ return false;
194
+ }
195
+ if (criteria.tags && criteria.tags.length > 0) {
196
+ for (const t of criteria.tags) {
197
+ if (!snapshot.tags.has(t))
198
+ return false;
199
+ }
200
+ }
201
+ return true;
202
+ }
203
+ // --- Cache ---
204
+ const snapshotCache = new Map();
205
+ /**
206
+ * Return a cached RepoSnapshot for the given path, scanning on first request.
207
+ * The cache is keyed by absolute repository path so multiple checks reusing
208
+ * the same repo share one filesystem walk.
209
+ *
210
+ * On rejection, the failing promise is evicted so a later caller can retry
211
+ * (avoids "poisoned cache" where a transient error becomes permanent for the
212
+ * lifetime of the process). `scanRepository` currently swallows per-entry
213
+ * errors and always resolves, but the eviction guard keeps that contract from
214
+ * silently breaking if `scanRepository` ever changes.
215
+ */
216
+ export function getRepoSnapshot(repoPath) {
217
+ const existing = snapshotCache.get(repoPath);
218
+ if (existing)
219
+ return existing;
220
+ const promise = scanRepository(repoPath);
221
+ snapshotCache.set(repoPath, promise);
222
+ promise.catch(() => {
223
+ // Only delete if the cached promise is still the one we set (a later call
224
+ // may have already replaced it).
225
+ if (snapshotCache.get(repoPath) === promise) {
226
+ snapshotCache.delete(repoPath);
227
+ }
228
+ });
229
+ return promise;
230
+ }
231
+ /**
232
+ * Clear the snapshot cache. Called by `runScan` at the start of each
233
+ * invocation (so successive scans don't reuse stale filesystem state) and by
234
+ * tests between cases.
235
+ *
236
+ * Note: the cache is module-scoped, so calling this from concurrent
237
+ * `runScan` invocations will wipe each other's in-flight entries. Sequential
238
+ * invocations are the primary supported pattern.
239
+ */
240
+ export function clearRepoSnapshotCache() {
241
+ snapshotCache.clear();
242
+ }
243
+ /**
244
+ * Test-only: peek at the snapshot cache for a path. NOT part of the public
245
+ * API. Used by unit tests to assert cache population / eviction behaviour.
246
+ */
247
+ export function __peekSnapshotCacheForTesting(repoPath) {
248
+ return snapshotCache.get(repoPath);
249
+ }
250
+ //# sourceMappingURL=repo-scan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-scan.js","sourceRoot":"","sources":["../src/repo-scan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,MAAM,GAAG,GAAG,WAAW,CAAC;AAExB,kDAAkD;AAClD,MAAM,mBAAmB,GAAwB,IAAI,GAAG,CAAC;IACvD,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,YAAY;IACZ,OAAO;IACP,OAAO;IACP,OAAO;IACP,MAAM;IACN,aAAa;IACb,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAEH,4EAA4E;AAC5E,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,qFAAqF;AACrF,MAAM,SAAS,GAAG,MAAM,CAAC;AAuBzB;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,QAAgB,EAChB,UAAiC,EAAE;IAEnC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,KAAK,UAAU,IAAI,CAAC,GAAW,EAAE,KAAa;QAC5C,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;YACrB,mBAAmB,GAAG,IAAI,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC7B,kBAAkB,GAAG,IAAI,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC7B,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC5C,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAExB,gFAAgF;IAChF,8EAA8E;IAC9E,iEAAiE;IACjE,IAAI,kBAAkB,EAAE,CAAC;QACvB,QAAQ,CACN,GAAG,EACH,oCAAoC,QAAQ,eAAe,QAAQ,KAAK;YACtE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,IAAI,mBAAmB,EAAE,CAAC;QACxB,QAAQ,CACN,GAAG,EACH,oCAAoC,QAAQ,SAAS,QAAQ,KAAK;YAChE,yEAAyE,CAC5E,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEtC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,QAAQ,CAAC,QAAgB;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,eAAe;IACf,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QAC1C,IACE,OAAO,MAAM,KAAK,QAAQ;YAC1B,MAAM,KAAK,IAAI;YACf,KAAK,CAAC,OAAO,CAAE,MAAkC,CAAC,IAAI,CAAC,EACvD,CAAC;YACD,KAAK,MAAM,CAAC,IAAK,MAAkC,CAAC,IAAiB,EAAE,CAAC;gBACtE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE;oBAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,gDAAgD;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAuB,EACvB,QAAsB;IAEtB,MAAM,MAAM,GACV,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM;QAC/B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;QAC3B,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM;QAC3B,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAE1B,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,GAAG;YAAE,OAAO,KAAK,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;gBAAE,SAAS;YACtC,uEAAuE;YACvE,mEAAmE;YACnE,qEAAqE;YACrE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;gBACvC,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,EAAE;YAC7E,GAAG,EAAE,IAAI;SACV,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5D,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,gBAAgB;AAEhB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAiC,CAAC;AAE/D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QACjB,0EAA0E;QAC1E,iCAAiC;QACjC,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,OAAO,EAAE,CAAC;YAC5C,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB;IACpC,aAAa,CAAC,KAAK,EAAE,CAAC;AACxB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC5D,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * GitHub PR comment result handler (Phase 1 of Spec E.7).
3
+ *
4
+ * Posts aghast scan findings as inline review comments on a GitHub pull request.
5
+ * Issues that fall outside the PR diff are skipped (with a debug log). Existing
6
+ * comments authored by aghast are deduplicated using a hidden HTML marker
7
+ * embedded in the comment body.
8
+ *
9
+ * Phase-1 limitations (intentional):
10
+ * - Multi-line findings (`endLine > startLine`) are anchored at `startLine`
11
+ * only; we do not yet emit GitHub's multi-line `start_line`/`line` form.
12
+ * - Dedup is best-effort and per-run: two parallel runs (e.g. CI matrix
13
+ * shards) on the same PR can each pass the dedup check and post duplicate
14
+ * comments. Confine `--pr` to a single matrix shard, or run after the
15
+ * matrix completes. A future phase could PATCH instead of POST.
16
+ *
17
+ * Future phases (issue tracker integration, AI remediation, IDE/LSP, Slack/email
18
+ * notifications) are intentionally out of scope here — see GitHub issue #119.
19
+ */
20
+ import type { ScanResults, SecurityIssue } from '../types.js';
21
+ /**
22
+ * Minimal subset of the GitHub PR "files" API response we care about.
23
+ * Each entry describes one file in the PR diff; `patch` contains the unified-diff
24
+ * hunks for that file (omitted by GitHub for binary or very large files).
25
+ */
26
+ export interface PullRequestFile {
27
+ filename: string;
28
+ status: string;
29
+ patch?: string;
30
+ }
31
+ /**
32
+ * Minimal subset of the GitHub review-comments API response used for dedup.
33
+ */
34
+ export interface ExistingReviewComment {
35
+ id: number;
36
+ path: string;
37
+ line: number | null;
38
+ body: string;
39
+ }
40
+ /**
41
+ * Single inline comment in the payload sent to the GitHub Reviews API.
42
+ * Matches the schema documented at:
43
+ * https://docs.github.com/rest/pulls/reviews#create-a-review-for-a-pull-request
44
+ */
45
+ export interface ReviewComment {
46
+ path: string;
47
+ line: number;
48
+ side: 'LEFT' | 'RIGHT';
49
+ body: string;
50
+ }
51
+ export interface PRCommentContext {
52
+ owner: string;
53
+ repo: string;
54
+ prNumber: number;
55
+ /** Optional commit SHAs — currently informational; the GitHub API uses
56
+ * the PR's head commit by default when posting a review. */
57
+ baseSha?: string;
58
+ headSha?: string;
59
+ /** Optional explicit token. If omitted, the `gh` CLI's stored auth is used. */
60
+ githubToken?: string;
61
+ }
62
+ export interface PRCommentResult {
63
+ posted: number;
64
+ skipped: number;
65
+ /**
66
+ * Findings that were eligible to post but exceeded the per-review cap. They
67
+ * are named in the review summary and remain in the scan report; they are not
68
+ * counted as `skipped`, which means "deliberately not applicable".
69
+ */
70
+ omitted?: number;
71
+ }
72
+ /**
73
+ * Pluggable command executor — lets tests inject a fake `gh` so we don't hit
74
+ * GitHub. Receives positional args (no shell interpolation). Returns stdout
75
+ * and the exit code.
76
+ */
77
+ export interface CommandExecutor {
78
+ (command: string, args: string[], options?: {
79
+ input?: string;
80
+ env?: NodeJS.ProcessEnv;
81
+ }): Promise<{
82
+ stdout: string;
83
+ stderr: string;
84
+ exitCode: number;
85
+ }>;
86
+ }
87
+ export declare const defaultExecutor: CommandExecutor;
88
+ /**
89
+ * Parse a unified-diff `patch` (as returned by GitHub's PR files API) into the
90
+ * set of new-file line numbers that were added or modified by the PR.
91
+ *
92
+ * GitHub PR review comments can target either the LEFT (base) or RIGHT (head)
93
+ * side. We only post comments on lines that exist on the head side — i.e. lines
94
+ * actually changed (added) by this PR — to avoid leaving stale comments on
95
+ * unchanged code.
96
+ */
97
+ export declare function parsePatchAddedLines(patch: string): Set<number>;
98
+ /**
99
+ * Build a map of file path → set of new-side line numbers changed by the PR.
100
+ */
101
+ export declare function buildDiffLineMap(files: PullRequestFile[]): Map<string, Set<number>>;
102
+ /**
103
+ * Stable hash identifying a single (check + file + line + description) tuple.
104
+ * Embedded as an HTML comment in the body so future runs can recognise — and
105
+ * skip — comments they previously posted.
106
+ */
107
+ export declare function issueHash(issue: SecurityIssue): string;
108
+ export declare function buildCommentBody(issue: SecurityIssue): string;
109
+ export declare function extractMarkerHash(body: string): string | undefined;
110
+ /**
111
+ * Map a SecurityIssue onto a ReviewComment, or return undefined if the issue's
112
+ * line is not part of the PR diff.
113
+ */
114
+ export declare function issueToReviewComment(issue: SecurityIssue, diffLines: Map<string, Set<number>>): ReviewComment | undefined;
115
+ export interface PostPRCommentsOptions {
116
+ /** Inject a custom executor for testing. Defaults to spawning `gh`. */
117
+ executor?: CommandExecutor;
118
+ /**
119
+ * Maximum inline comments in one review (default 50). Findings beyond the cap
120
+ * are reported in the review summary rather than dropped silently.
121
+ */
122
+ maxComments?: number;
123
+ }
124
+ /**
125
+ * Post aghast scan issues as inline GitHub PR review comments.
126
+ *
127
+ * Workflow:
128
+ * 1. Fetch the PR's changed-file list and parse each file's diff hunks.
129
+ * 2. For each issue, compute the corresponding (path, line, RIGHT) target
130
+ * and skip issues whose line is outside the diff.
131
+ * 3. Fetch existing review comments and skip any whose hidden marker hash
132
+ * already matches an in-flight comment.
133
+ * 4. Post the remainder as a single review with `event=COMMENT`.
134
+ */
135
+ export declare function postPRComments(results: ScanResults, ctx: PRCommentContext, options?: PostPRCommentsOptions): Promise<PRCommentResult>;
136
+ //# sourceMappingURL=pr-comment-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-comment-handler.d.ts","sourceRoot":"","sources":["../../src/result-handlers/pr-comment-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAM9D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB;iEAC6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,CACE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;KAAE,GACpD,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAkDD,eAAO,MAAM,eAAe,EAAE,eAmC7B,CAAC;AAIF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAmC/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAOnF;AAID;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CActD;AAKD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAc7D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAClC,aAAa,GAAG,SAAS,CAW3B;AAyGD,MAAM,WAAW,qBAAqB;IACpC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,gBAAgB,EACrB,OAAO,GAAE,qBAA0B,GAClC,OAAO,CAAC,eAAe,CAAC,CAuG1B"}