ghagga-core 2.4.1 → 2.5.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.
Files changed (63) hide show
  1. package/dist/enhance/enhance.d.ts +31 -0
  2. package/dist/enhance/enhance.d.ts.map +1 -0
  3. package/dist/enhance/enhance.js +140 -0
  4. package/dist/enhance/enhance.js.map +1 -0
  5. package/dist/enhance/index.d.ts +5 -0
  6. package/dist/enhance/index.d.ts.map +1 -0
  7. package/dist/enhance/index.js +3 -0
  8. package/dist/enhance/index.js.map +1 -0
  9. package/dist/enhance/prompt.d.ts +22 -0
  10. package/dist/enhance/prompt.d.ts.map +1 -0
  11. package/dist/enhance/prompt.js +71 -0
  12. package/dist/enhance/prompt.js.map +1 -0
  13. package/dist/enhance/types.d.ts +55 -0
  14. package/dist/enhance/types.d.ts.map +1 -0
  15. package/dist/enhance/types.js +6 -0
  16. package/dist/enhance/types.js.map +1 -0
  17. package/dist/health/index.d.ts +4 -0
  18. package/dist/health/index.d.ts.map +1 -0
  19. package/dist/health/index.js +4 -0
  20. package/dist/health/index.js.map +1 -0
  21. package/dist/health/recommendations.d.ts +17 -0
  22. package/dist/health/recommendations.d.ts.map +1 -0
  23. package/dist/health/recommendations.js +81 -0
  24. package/dist/health/recommendations.js.map +1 -0
  25. package/dist/health/score.d.ts +32 -0
  26. package/dist/health/score.d.ts.map +1 -0
  27. package/dist/health/score.js +73 -0
  28. package/dist/health/score.js.map +1 -0
  29. package/dist/health/trends.d.ts +31 -0
  30. package/dist/health/trends.d.ts.map +1 -0
  31. package/dist/health/trends.js +88 -0
  32. package/dist/health/trends.js.map +1 -0
  33. package/dist/index.d.ts +6 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +3 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/pipeline.d.ts.map +1 -1
  38. package/dist/pipeline.js +41 -0
  39. package/dist/pipeline.js.map +1 -1
  40. package/dist/sarif/builder.d.ts +17 -0
  41. package/dist/sarif/builder.d.ts.map +1 -0
  42. package/dist/sarif/builder.js +88 -0
  43. package/dist/sarif/builder.js.map +1 -0
  44. package/dist/sarif/index.d.ts +3 -0
  45. package/dist/sarif/index.d.ts.map +1 -0
  46. package/dist/sarif/index.js +2 -0
  47. package/dist/sarif/index.js.map +1 -0
  48. package/dist/sarif/types.d.ts +52 -0
  49. package/dist/sarif/types.d.ts.map +1 -0
  50. package/dist/sarif/types.js +8 -0
  51. package/dist/sarif/types.js.map +1 -0
  52. package/dist/tools/index.d.ts +1 -0
  53. package/dist/tools/index.d.ts.map +1 -1
  54. package/dist/tools/index.js +2 -1
  55. package/dist/tools/index.js.map +1 -1
  56. package/dist/tools/runner.d.ts +7 -14
  57. package/dist/tools/runner.d.ts.map +1 -1
  58. package/dist/tools/runner.js +10 -60
  59. package/dist/tools/runner.js.map +1 -1
  60. package/dist/types.d.ts +14 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/dist/types.js.map +1 -1
  63. package/package.json +1 -1
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Health trend tracking — persistent history for score comparison.
3
+ */
4
+ /** A single health history entry. */
5
+ export interface HealthHistoryEntry {
6
+ timestamp: string;
7
+ score: number;
8
+ findingCounts: Record<string, number>;
9
+ toolsRun: string[];
10
+ projectPath: string;
11
+ }
12
+ /** Trend comparison result. */
13
+ export interface HealthTrend {
14
+ previous: number | null;
15
+ delta: number | null;
16
+ direction: 'up' | 'down' | 'unchanged' | null;
17
+ }
18
+ /**
19
+ * Load history entries for a project.
20
+ * Returns [] on missing or corrupt file.
21
+ */
22
+ export declare function loadHistory(configDir: string, projectPath: string): HealthHistoryEntry[];
23
+ /**
24
+ * Save a new history entry, pruning to max 10 per project.
25
+ */
26
+ export declare function saveHistory(configDir: string, entry: HealthHistoryEntry): void;
27
+ /**
28
+ * Compute trend from current score vs last history entry.
29
+ */
30
+ export declare function computeTrend(currentScore: number, history: HealthHistoryEntry[]): HealthTrend;
31
+ //# sourceMappingURL=trends.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trends.d.ts","sourceRoot":"","sources":["../../src/health/trends.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+BAA+B;AAC/B,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;CAC/C;AAKD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAYxF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAyC9E;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAc7F"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Health trend tracking — persistent history for score comparison.
3
+ */
4
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
5
+ import { join } from 'node:path';
6
+ const HISTORY_FILE = 'health-history.json';
7
+ const MAX_ENTRIES_PER_PROJECT = 10;
8
+ /**
9
+ * Load history entries for a project.
10
+ * Returns [] on missing or corrupt file.
11
+ */
12
+ export function loadHistory(configDir, projectPath) {
13
+ const filePath = join(configDir, HISTORY_FILE);
14
+ try {
15
+ if (!existsSync(filePath))
16
+ return [];
17
+ const raw = readFileSync(filePath, 'utf-8');
18
+ const all = JSON.parse(raw);
19
+ if (!Array.isArray(all))
20
+ return [];
21
+ return all.filter((e) => e.projectPath === projectPath);
22
+ }
23
+ catch {
24
+ return [];
25
+ }
26
+ }
27
+ /**
28
+ * Save a new history entry, pruning to max 10 per project.
29
+ */
30
+ export function saveHistory(configDir, entry) {
31
+ const filePath = join(configDir, HISTORY_FILE);
32
+ try {
33
+ // Ensure directory exists
34
+ if (!existsSync(configDir)) {
35
+ mkdirSync(configDir, { recursive: true });
36
+ }
37
+ // Load existing entries
38
+ let all = [];
39
+ try {
40
+ if (existsSync(filePath)) {
41
+ const raw = readFileSync(filePath, 'utf-8');
42
+ const parsed = JSON.parse(raw);
43
+ if (Array.isArray(parsed))
44
+ all = parsed;
45
+ }
46
+ }
47
+ catch {
48
+ all = [];
49
+ }
50
+ // Add new entry
51
+ all.push(entry);
52
+ // Prune: keep only last MAX_ENTRIES_PER_PROJECT per project
53
+ const grouped = new Map();
54
+ for (const e of all) {
55
+ const key = e.projectPath;
56
+ if (!grouped.has(key))
57
+ grouped.set(key, []);
58
+ grouped.get(key).push(e);
59
+ }
60
+ const pruned = [];
61
+ for (const entries of grouped.values()) {
62
+ pruned.push(...entries.slice(-MAX_ENTRIES_PER_PROJECT));
63
+ }
64
+ writeFileSync(filePath, JSON.stringify(pruned, null, 2), 'utf-8');
65
+ }
66
+ catch {
67
+ // Permission denied or other I/O error — silently ignore
68
+ }
69
+ }
70
+ /**
71
+ * Compute trend from current score vs last history entry.
72
+ */
73
+ export function computeTrend(currentScore, history) {
74
+ if (history.length === 0) {
75
+ return { previous: null, delta: null, direction: null };
76
+ }
77
+ const last = history[history.length - 1];
78
+ const delta = currentScore - last.score;
79
+ let direction;
80
+ if (delta > 0)
81
+ direction = 'up';
82
+ else if (delta < 0)
83
+ direction = 'down';
84
+ else
85
+ direction = 'unchanged';
86
+ return { previous: last.score, delta, direction };
87
+ }
88
+ //# sourceMappingURL=trends.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trends.js","sourceRoot":"","sources":["../../src/health/trends.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAkBjC,MAAM,YAAY,GAAG,qBAAqB,CAAC;AAC3C,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,WAAmB;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB,EAAE,KAAyB;IACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,wBAAwB;QACxB,IAAI,GAAG,GAAyB,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;gBAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,GAAG,GAAG,MAAM,CAAC;YAC1C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,GAAG,EAAE,CAAC;QACX,CAAC;QAED,gBAAgB;QAChB,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhB,4DAA4D;QAC5D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAgC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,CAAC,CAAC,WAAW,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,MAAM,GAAyB,EAAE,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC1D,CAAC;QAED,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,YAAoB,EAAE,OAA6B;IAC9E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC1C,MAAM,KAAK,GAAG,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;IAExC,IAAI,SAAmC,CAAC;IACxC,IAAI,KAAK,GAAG,CAAC;QAAE,SAAS,GAAG,IAAI,CAAC;SAC3B,IAAI,KAAK,GAAG,CAAC;QAAE,SAAS,GAAG,MAAM,CAAC;;QAClC,SAAS,GAAG,WAAW,CAAC;IAE7B,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AACpD,CAAC"}
package/dist/index.d.ts CHANGED
@@ -21,4 +21,10 @@ export { SqliteMemoryStorage, type SqliteMemoryStorageOptions } from './memory/s
21
21
  export { formatReviewComment, SEVERITY_EMOJI, STATUS_EMOJI } from './format.js';
22
22
  export type { ActivatedTool, ExecOptions, ExecutionContext, RawToolOutput, TimeBudget, ToolActivationInput, ToolCategory, ToolDefinition, ToolName, ToolTier, } from './tools/index.js';
23
23
  export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
24
+ export type { SarifDocument, SarifLevel, SarifLocation, SarifResult, SarifRule, } from './sarif/index.js';
25
+ export { buildSarif } from './sarif/index.js';
26
+ export type { EnhancedReviewFinding, EnhanceInput, EnhanceMetadata, EnhanceResult, FilteredFinding, FindingGroup, } from './enhance/index.js';
27
+ export { enhanceFindings, mergeEnhanceResult } from './enhance/index.js';
28
+ export type { HealthHistoryEntry, HealthRecommendation, HealthScore, HealthTrend, } from './health/index.js';
29
+ export { computeHealthScore, computeTrend, formatTopIssues, generateRecommendations, getScoreColor, loadHistory, SEVERITY_WEIGHTS, saveHistory, } from './health/index.js';
24
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,UAAU,EACV,UAAU,EAEV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9D,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIjF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAI1F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhF,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAI/C,YAAY,EACV,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,WAAW,EACX,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,EACX,aAAa,EAEb,eAAe,EAEf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,EAEb,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EAEZ,oBAAoB,EACpB,UAAU,EACV,UAAU,EAEV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9D,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIjF,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAInE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAI1F,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhF,YAAY,EACV,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAI1B,YAAY,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,GACV,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIzE,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,EACX,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -21,4 +21,7 @@ export { SqliteMemoryStorage } from './memory/sqlite.js';
21
21
  // ─── Formatting ─────────────────────────────────────────────────
22
22
  export { formatReviewComment, SEVERITY_EMOJI, STATUS_EMOJI } from './format.js';
23
23
  export { allocateTimeBudget, createNodeExecutionContext, getEffectiveBudget, initializeDefaultTools, isToolRegistryEnabled, resetInitialization, resolveActivatedTools, runTools, ToolRegistry, toolRegistry, } from './tools/index.js';
24
+ export { buildSarif } from './sarif/index.js';
25
+ export { enhanceFindings, mergeEnhanceResult } from './enhance/index.js';
26
+ export { computeHealthScore, computeTrend, formatTopIssues, generateRecommendations, getScoreColor, loadHistory, SEVERITY_WEIGHTS, saveHistory, } from './health/index.js';
24
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBhF,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AA0C/C,mEAAmE;AAEnE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAK9D,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEnE,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAmC,MAAM,oBAAoB,CAAC;AAE1F,mEAAmE;AAEnE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiBhF,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,QAAQ,EACR,YAAY,EACZ,YAAY,GACb,MAAM,kBAAkB,CAAC;AAW1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAY9C,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAUzE,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAeH,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AA0CpB;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAqN9E"}
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAiBH,OAAO,KAAK,EAIV,WAAW,EACX,YAAY,EAEb,MAAM,YAAY,CAAC;AA0CpB;;;;;;;;;;GAUG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CA+P9E"}
package/dist/pipeline.js CHANGED
@@ -18,6 +18,8 @@ import { runConsensusReview } from './agents/consensus.js';
18
18
  import { buildStackHints } from './agents/prompts.js';
19
19
  import { runSimpleReview } from './agents/simple.js';
20
20
  import { runWorkflowReview } from './agents/workflow.js';
21
+ import { enhanceFindings, mergeEnhanceResult } from './enhance/index.js';
22
+ import { serializeFindings } from './enhance/prompt.js';
21
23
  import { persistReviewObservations } from './memory/persist.js';
22
24
  import { searchMemoryForContext } from './memory/search.js';
23
25
  import { initializeDefaultTools } from './tools/plugins/index.js';
@@ -131,6 +133,37 @@ export async function reviewPipeline(input) {
131
133
  detail: toolsSummary + (memoryContext ? '\n memory: loaded' : '\n memory: disabled'),
132
134
  });
133
135
  }
136
+ // ── Step 5.5: AI Enhance (optional) ─────────────────────────
137
+ let enhancedStaticFindings;
138
+ let enhanceMetadata;
139
+ if (input.enhance) {
140
+ // Collect all static findings
141
+ const allStaticFindings = [];
142
+ for (const toolResult of Object.values(staticResult)) {
143
+ allStaticFindings.push(...toolResult.findings);
144
+ }
145
+ if (allStaticFindings.length > 0) {
146
+ emit({ step: 'static-analysis', message: 'Enhancing findings with AI...' });
147
+ try {
148
+ const primary = resolvePrimaryProvider(input);
149
+ const serialized = serializeFindings(allStaticFindings);
150
+ const { result: eResult, metadata: eMeta } = await enhanceFindings({
151
+ findings: serialized,
152
+ provider: primary.provider,
153
+ model: primary.model,
154
+ apiKey: primary.apiKey,
155
+ });
156
+ enhancedStaticFindings = mergeEnhanceResult(allStaticFindings, eResult);
157
+ enhanceMetadata = eMeta;
158
+ }
159
+ catch {
160
+ emit({
161
+ step: 'static-analysis',
162
+ message: 'AI enhance failed — continuing without enhancement',
163
+ });
164
+ }
165
+ }
166
+ }
134
167
  // ── Step 6: Execute agent mode (or skip if AI disabled) ────
135
168
  let result;
136
169
  if (!aiEnabled) {
@@ -226,6 +259,14 @@ export async function reviewPipeline(input) {
226
259
  ? toolResult.findings
227
260
  : []);
228
261
  result.findings = [...result.findings, ...staticFindings];
262
+ // ── Merge enhanced static findings into result ──────────────
263
+ if (enhancedStaticFindings && enhanceMetadata) {
264
+ result.enhanced = true;
265
+ result.enhanceMetadata = enhanceMetadata;
266
+ // Replace static-sourced findings with enhanced versions
267
+ const nonStaticFindings = result.findings.filter((f) => f.source === 'ai');
268
+ result.findings = [...enhancedStaticFindings, ...nonStaticFindings];
269
+ }
229
270
  // Track which tools ran successfully
230
271
  result.metadata.toolsRun = [];
231
272
  result.metadata.toolsSkipped = [];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,2BAA2B,EAC3B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,mEAAmE;AAEnE;;;GAGG;AACH,SAAS,aAAa,CAAC,KAAkB;IACvC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,oEAAoE;IACpE,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,sDAAsD;IACtD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAkB;IACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAE5C,uCAAuC;IACvC,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE1C,8DAA8D;IAC9D,aAAa,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAEvD,8DAA8D;IAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAClF,IAAI,CAAC;QACH,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,UAAU,QAAQ,CAAC,MAAM,qBAAqB,aAAa,CAAC,MAAM,kBAAkB;QAC7F,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;KAC3D,CAAC,CAAC;IAEH,kDAAkD;IAClD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED,8CAA8C;IAC9C,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAElD,8DAA8D;IAC9D,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,EAAE,eAAe;QACrB,OAAO,EAAE,YAAY,MAAM,CAAC,MAAM,gBAAgB;QAClD,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,mBAAmB;KACzF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAC1D,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,YAAY,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC5E,IAAI,CAAC;QACH,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,iBAAiB,UAAU,CAAC,cAAc,EAAE,kBAAkB;KACxE,CAAC,CAAC;IAEH,8DAA8D;IAC9D,yFAAyF;IACzF,mDAAmD;IACnD,IAAI,CAAC;QACH,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,KAAK,CAAC,yBAAyB;YACtC,CAAC,CAAC,kDAAkD;YACpD,CAAC,CAAC,4CAA4C;KACjD,CAAC,CAAC;IACH,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,KAAK,CAAC,yBAAyB;YAC7B,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,yBAAyB,CAAC;YAClD,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAC1C,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KACtE,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAEhE,CAAC;QACC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,KAAK,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,CAAC;aAC3F,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAI,CAAC;YACH,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,0BAA0B;YACnC,MAAM,EAAE,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;IAED,8DAA8D;IAC9D,IAAI,MAAoB,CAAC;IAEzB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,iCAAiC;QACjC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,qDAAqD,EAAE,CAAC,CAAC;QAC9F,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,+CAA+C;QAC/C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC;YACH,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,WAAW,KAAK,CAAC,IAAI,eAAe,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK;SACpF,CAAC,CAAC;QAEH,IAAI,CAAC;YACH,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACnB,KAAK,QAAQ;oBACX,MAAM,GAAG,MAAM,eAAe,CAAC;wBAC7B,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,OAAO,CAAC,QAAuB;wBACzC,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,aAAa;wBACb,aAAa;wBACb,UAAU;wBACV,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;wBACvC,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,UAAU;oBACb,MAAM,GAAG,MAAM,iBAAiB,CAAC;wBAC/B,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,OAAO,CAAC,QAAuB;wBACzC,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,aAAa;wBACb,aAAa;wBACb,UAAU;wBACV,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;wBACvC,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,WAAW;oBACd,MAAM,GAAG,MAAM,kBAAkB,CAAC;wBAChC,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE;4BACN;gCACE,QAAQ,EAAE,OAAO,CAAC,QAAuB;gCACzC,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gCACtB,MAAM,EAAE,KAAK;6BACd;4BACD;gCACE,QAAQ,EAAE,OAAO,CAAC,QAAuB;gCACzC,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gCACtB,MAAM,EAAE,SAAS;6BAClB;4BACD;gCACE,QAAQ,EAAE,OAAO,CAAC,QAAuB;gCACzC,KAAK,EAAE,OAAO,CAAC,KAAK;gCACpB,MAAM,EAAE,OAAO,CAAC,MAAM;gCACtB,MAAM,EAAE,SAAS;6BAClB;yBACF;wBACD,aAAa;wBACb,aAAa;wBACb,UAAU;wBACV,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;wBACvC,UAAU,EAAE,KAAK,CAAC,UAAU;qBAC7B,CAAC,CAAC;oBACH,MAAM;gBAER,OAAO,CAAC,CAAC,CAAC;oBACR,MAAM,WAAW,GAAU,KAAK,CAAC,IAAI,CAAC;oBACtC,MAAM,IAAI,KAAK,CAAC,wBAAwB,WAAW,EAAE,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,uEAAuE;YACvE,OAAO,CAAC,IAAI,CACV,mEAAmE,EACnE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;YACF,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,mDAAmD,EAAE,CAAC,CAAC;YAC7F,MAAM,GAAG,sBAAsB,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,CAAC,MAAM,GAAG,oBAAoB,CAAC;YACrC,MAAM,CAAC,OAAO,GAAG,qBAAqB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,6CAA6C,CAAC;QAC9I,CAAC;IACH,CAAC;IAED,8DAA8D;IAC9D,MAAM,CAAC,cAAc,GAAG,YAAY,CAAC;IACrC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;IAErC,oFAAoF;IACpF,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACxE,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,UAAU;QACtE,CAAC,CAAC,UAAU,CAAC,QAAQ;QACrB,CAAC,CAAC,EAAE,CACP,CAAC;IACF,MAAM,CAAC,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,GAAG,cAAc,CAAC,CAAC;IAE1D,qCAAqC;IACrC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC;IAC9B,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,EAAE,CAAC;IAClC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAEzD,mEAAmE;IACnE,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACxE,MAAM,yBAAyB,CAC7B,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,OAAO,CAAC,YAAY,EAC1B,KAAK,CAAC,OAAO,CAAC,QAAQ,EACtB,MAAM,CACP,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACzB,OAAO,CAAC,IAAI,CACV,6CAA6C,EAC7C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mEAAmE;AAEnE;;;GAGG;AACH,SAAS,gBAAgB,CAAC,KAAkB;IAC1C,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAClD,yEAAyE;IACzE,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/E,OAAO,CAAC,IAAI,CACV,sGAAsG,CACvG,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAAC,KAAkB;IAChD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAA0C;QAC1D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAkB;IAC7C,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,aAAa,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,IAAI,aAAa,CAAC;AACtC,CAAC;AAED,mEAAmE;AAEnE;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAAC,QAAkB,EAAE,KAAkB;IACzE,IAAI,CAAC;QACH,uEAAuE;QACvE,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,oDAAoD;QAC3E,CAAC;QAED,OAAO,MAAM,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE;YACzC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa;YAC3C,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;YACvC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,SAAS;YACnC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;YACvC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,YAAY;YACzC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa;SAC5C,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,yDAAyD,EACzD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,MAAM,EAAE,OAAgB;YACxB,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC7D,eAAe,EAAE,CAAC;SACnB,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,WAAW;YAClB,GAAG,EAAE,WAAW;SACjB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,gBAAgB,CAAC,KAAkB,EAAE,QAAkB;IACpE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,OAAO,MAAM,sBAAsB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CACV,uDAAuD,EACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAkB,EAAE,SAAiB;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IAEzC,8DAA8D;IAC9D,MAAM,iBAAiB,GAAG,EAAE,MAAM,EAAE,SAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC;IAC3F,MAAM,cAAc,GAA8C;QAChE,OAAO,EAAE,EAAE,GAAG,iBAAiB,EAAE;QACjC,KAAK,EAAE,EAAE,GAAG,iBAAiB,EAAE;QAC/B,GAAG,EAAE,EAAE,GAAG,iBAAiB,EAAE;KAC9B,CAAC;IAEF,uDAAuD;IACvD,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAEjD,oEAAoE;IACpE,IAAI,qBAAqB,EAAE,EAAE,CAAC;QAC5B,sBAAsB,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,iBAAiB,EAAE,CAAC;YACvD,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,SAAyB;QACjC,OAAO,EAAE,yEAAyE;QAClF,QAAQ,EAAE,EAAE;QACZ,cAAc;QACd,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE;YACR,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM;YACvD,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS;YACjD,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,YAAY;SAC3B;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,sBAAsB,CAC7B,YAAuD,EACvD,IAAqC,EACrC,SAAiB;IAEjB,uEAAuE;IACvE,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACrE,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,UAAU;QACtE,CAAC,CAAC,UAAU,CAAC,QAAQ;QACrB,CAAC,CAAC,EAAE,CACP,CAAC;IACF,MAAM,iBAAiB,GAAG,WAAW,CAAC,IAAI,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAC1D,CAAC;IAEF,OAAO;QACL,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;QAC/C,OAAO,EACL,WAAW,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,yBAAyB,WAAW,CAAC,MAAM,2CAA2C;YACxF,CAAC,CAAC,+DAA+D;QACrE,QAAQ,EAAE,EAAE,EAAE,2BAA2B;QACzC,cAAc,EAAE,YAAY;QAC5B,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE;YACR,IAAI;YACJ,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,aAAa;YACpB,UAAU,EAAE,CAAC;YACb,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;YACvC,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE;SACjB;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * SARIF v2.1.0 builder — pure function.
3
+ *
4
+ * Maps a ReviewResult to a valid SARIF document for
5
+ * GitHub Code Scanning and other SARIF consumers.
6
+ */
7
+ import type { ReviewResult } from '../types.js';
8
+ import type { SarifDocument } from './types.js';
9
+ /**
10
+ * Build a SARIF v2.1.0 document from a ReviewResult.
11
+ *
12
+ * @param result - The review pipeline result
13
+ * @param version - The GHAGGA version string (e.g. "2.5.0")
14
+ * @returns A valid SARIF v2.1.0 document
15
+ */
16
+ export declare function buildSarif(result: ReviewResult, version: string): SarifDocument;
17
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/sarif/builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAqD,MAAM,YAAY,CAAC;AAgCnG;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,aAAa,CAoD/E"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * SARIF v2.1.0 builder — pure function.
3
+ *
4
+ * Maps a ReviewResult to a valid SARIF document for
5
+ * GitHub Code Scanning and other SARIF consumers.
6
+ */
7
+ const SARIF_SCHEMA = 'https://raw.githubusercontent.com/oasis-tcs/sarif-spec/main/sarif-2.1/schema/sarif-schema-2.1.0.json';
8
+ /**
9
+ * Map GHAGGA severity to SARIF level.
10
+ */
11
+ function toSarifLevel(severity) {
12
+ switch (severity) {
13
+ case 'critical':
14
+ case 'high':
15
+ return 'error';
16
+ case 'medium':
17
+ return 'warning';
18
+ case 'low':
19
+ case 'info':
20
+ return 'note';
21
+ default:
22
+ return 'note';
23
+ }
24
+ }
25
+ /**
26
+ * Build a SARIF rule ID from source and category.
27
+ * Format: "source/category" with spaces replaced by dashes.
28
+ */
29
+ function buildRuleId(source, category) {
30
+ const slug = (s) => s.toLowerCase().replace(/\s+/g, '-');
31
+ return `${slug(source)}/${slug(category)}`;
32
+ }
33
+ /**
34
+ * Build a SARIF v2.1.0 document from a ReviewResult.
35
+ *
36
+ * @param result - The review pipeline result
37
+ * @param version - The GHAGGA version string (e.g. "2.5.0")
38
+ * @returns A valid SARIF v2.1.0 document
39
+ */
40
+ export function buildSarif(result, version) {
41
+ // Collect unique rules
42
+ const ruleMap = new Map();
43
+ const sarifResults = [];
44
+ for (const finding of result.findings) {
45
+ const source = finding.source ?? 'ai';
46
+ const category = finding.category ?? 'general';
47
+ const ruleId = buildRuleId(source, category);
48
+ // Register rule if not seen
49
+ if (!ruleMap.has(ruleId)) {
50
+ ruleMap.set(ruleId, {
51
+ id: ruleId,
52
+ shortDescription: { text: category },
53
+ defaultConfiguration: { level: toSarifLevel(finding.severity) },
54
+ });
55
+ }
56
+ // Build location
57
+ const location = {
58
+ physicalLocation: {
59
+ artifactLocation: { uri: finding.file },
60
+ ...(finding.line ? { region: { startLine: finding.line } } : {}),
61
+ },
62
+ };
63
+ sarifResults.push({
64
+ ruleId,
65
+ message: { text: finding.message },
66
+ level: toSarifLevel(finding.severity),
67
+ locations: [location],
68
+ });
69
+ }
70
+ return {
71
+ $schema: SARIF_SCHEMA,
72
+ version: '2.1.0',
73
+ runs: [
74
+ {
75
+ tool: {
76
+ driver: {
77
+ name: 'ghagga',
78
+ version,
79
+ informationUri: 'https://ghagga.dev',
80
+ rules: Array.from(ruleMap.values()),
81
+ },
82
+ },
83
+ results: sarifResults,
84
+ },
85
+ ],
86
+ };
87
+ }
88
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../../src/sarif/builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,YAAY,GAChB,sGAAsG,CAAC;AAEzG;;GAEG;AACH,SAAS,YAAY,CAAC,QAAyB;IAC7C,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC;QAChB,KAAK,MAAM;YACT,OAAO,OAAO,CAAC;QACjB,KAAK,QAAQ;YACX,OAAO,SAAS,CAAC;QACnB,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,MAAM,CAAC;QAChB;YACE,OAAO,MAAM,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,MAAc,EAAE,QAAgB;IACnD,MAAM,IAAI,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,MAAoB,EAAE,OAAe;IAC9D,uBAAuB;IACvB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC7C,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC/C,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE7C,4BAA4B;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE;gBAClB,EAAE,EAAE,MAAM;gBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACpC,oBAAoB,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;aAChE,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAkB;YAC9B,gBAAgB,EAAE;gBAChB,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE;gBACvC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACjE;SACF,CAAC;QAEF,YAAY,CAAC,IAAI,CAAC;YAChB,MAAM;YACN,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE;YAClC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC;YACrC,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,OAAO,EAAE,YAAY;QACrB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ;gBACE,IAAI,EAAE;oBACJ,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,OAAO;wBACP,cAAc,EAAE,oBAAoB;wBACpC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;qBACpC;iBACF;gBACD,OAAO,EAAE,YAAY;aACtB;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { buildSarif } from './builder.js';
2
+ export type { SarifDocument, SarifLevel, SarifLocation, SarifResult, SarifRule } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sarif/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { buildSarif } from './builder.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sarif/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Minimal SARIF v2.1.0 type subset for GHAGGA output.
3
+ *
4
+ * Only the interfaces we produce — not the full 100+ type schema.
5
+ * See: https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html
6
+ */
7
+ export interface SarifDocument {
8
+ $schema: string;
9
+ version: '2.1.0';
10
+ runs: SarifRun[];
11
+ }
12
+ export interface SarifRun {
13
+ tool: {
14
+ driver: SarifDriver;
15
+ };
16
+ results: SarifResult[];
17
+ }
18
+ export interface SarifDriver {
19
+ name: string;
20
+ version: string;
21
+ informationUri: string;
22
+ rules: SarifRule[];
23
+ }
24
+ export interface SarifRule {
25
+ id: string;
26
+ shortDescription: {
27
+ text: string;
28
+ };
29
+ defaultConfiguration: {
30
+ level: SarifLevel;
31
+ };
32
+ }
33
+ export type SarifLevel = 'error' | 'warning' | 'note' | 'none';
34
+ export interface SarifResult {
35
+ ruleId: string;
36
+ message: {
37
+ text: string;
38
+ };
39
+ level: SarifLevel;
40
+ locations: SarifLocation[];
41
+ }
42
+ export interface SarifLocation {
43
+ physicalLocation: {
44
+ artifactLocation: {
45
+ uri: string;
46
+ };
47
+ region?: {
48
+ startLine: number;
49
+ };
50
+ };
51
+ }
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sarif/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACnC,oBAAoB,EAAE;QAAE,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;CAC7C;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE;QAChB,gBAAgB,EAAE;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QAClC,MAAM,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC;KAChC,CAAC;CACH"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Minimal SARIF v2.1.0 type subset for GHAGGA output.
3
+ *
4
+ * Only the interfaces we produce — not the full 100+ type schema.
5
+ * See: https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/sarif/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -12,5 +12,6 @@ export { allocateTimeBudget, getEffectiveBudget } from './budget.js';
12
12
  export { runTools } from './orchestrator.js';
13
13
  export { createNodeExecutionContext } from './execution.js';
14
14
  export { initializeDefaultTools, resetInitialization } from './plugins/index.js';
15
+ /** @deprecated Always returns true. Kept for backward compatibility. */
15
16
  export { isToolRegistryEnabled } from './runner.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI3D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,QAAQ,GACT,MAAM,YAAY,CAAC;AAIpB,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI3D,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAIrD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAIrE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIjF,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -15,6 +15,7 @@ export { runTools } from './orchestrator.js';
15
15
  export { createNodeExecutionContext } from './execution.js';
16
16
  // ─── Plugins ────────────────────────────────────────────────────
17
17
  export { initializeDefaultTools, resetInitialization } from './plugins/index.js';
18
- // ─── Runner (feature flag) ──────────────────────────────────────
18
+ // ─── Runner ─────────────────────────────────────────────────────
19
+ /** @deprecated Always returns true. Kept for backward compatibility. */
19
20
  export { isToolRegistryEnabled } from './runner.js';
20
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,mEAAmE;AAEnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,mEAAmE;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,mEAAmE;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,mEAAmE;AAEnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,mEAAmE;AAEnE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,mEAAmE;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAeH,mEAAmE;AAEnE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAK3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAErD,mEAAmE;AAEnE,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAErE,mEAAmE;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,mEAAmE;AAEnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAE5D,mEAAmE;AAEnE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,mEAAmE;AAEnE,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,27 +1,20 @@
1
1
  /**
2
2
  * Static analysis tool runner.
3
- * Runs Semgrep, Trivy, and CPD sequentially to avoid memory pressure.
4
3
  *
5
- * These tools are run one at a time because running them in parallel
6
- * (Python + JVM + Go) can exceed container memory limits (2GB on Cloud Run).
7
- *
8
- * Feature flag `GHAGGA_TOOL_REGISTRY`:
9
- * - When true: uses the new registry-driven orchestrator (Phase 2+)
10
- * - When false/unset: uses the existing hardcoded 3-tool path
4
+ * Uses the registry-driven orchestrator to run all enabled static analysis
5
+ * tools sequentially to avoid memory pressure in constrained containers.
11
6
  */
12
7
  import type { ReviewSettings, StaticAnalysisResult } from '../types.js';
13
8
  /**
14
- * Check if the tool registry feature flag is enabled.
9
+ * Whether the tool registry is enabled.
10
+ * @deprecated Always returns true. Kept for backward compatibility with existing imports.
15
11
  */
16
12
  export declare function isToolRegistryEnabled(): boolean;
17
13
  /**
18
- * Run all enabled static analysis tools sequentially.
19
- *
20
- * When GHAGGA_TOOL_REGISTRY=true, uses the registry-driven orchestrator.
21
- * Otherwise, falls back to the hardcoded 3-tool path.
14
+ * Run all enabled static analysis tools using the registry-driven orchestrator.
22
15
  *
23
- * @param files - Map of file paths to file contents (for Semgrep)
24
- * @param scanPath - Directory path on disk (for Trivy and CPD)
16
+ * @param files - Map of file paths to file contents
17
+ * @param scanPath - Directory path on disk
25
18
  * @param settings - Which tools are enabled
26
19
  */
27
20
  export declare function runStaticAnalysis(files: Map<string, string>, scanPath: string, settings: Pick<ReviewSettings, 'enableSemgrep' | 'enableTrivy' | 'enableCpd' | 'customRules' | 'enabledTools' | 'disabledTools'>): Promise<StaticAnalysisResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/tools/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAE,oBAAoB,EAAc,MAAM,aAAa,CAAC;AAoBnG;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAkBD;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,CACZ,cAAc,EACd,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CACjG,GACA,OAAO,CAAC,oBAAoB,CAAC,CA6B/B;AA8CD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAqChF"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../src/tools/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAiB,cAAc,EAAE,oBAAoB,EAAc,MAAM,aAAa,CAAC;AAUnG;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,CACZ,cAAc,EACd,eAAe,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,cAAc,GAAG,eAAe,CACjG,GACA,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AA8CD;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,oBAAoB,GAAG,MAAM,CAqChF"}