ghagga-core 2.5.0 → 2.6.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 (153) hide show
  1. package/README.md +1 -1
  2. package/dist/agents/consensus.d.ts +16 -0
  3. package/dist/agents/consensus.d.ts.map +1 -1
  4. package/dist/agents/consensus.js +57 -33
  5. package/dist/agents/consensus.js.map +1 -1
  6. package/dist/agents/diagnostic.d.ts +55 -0
  7. package/dist/agents/diagnostic.d.ts.map +1 -0
  8. package/dist/agents/diagnostic.js +143 -0
  9. package/dist/agents/diagnostic.js.map +1 -0
  10. package/dist/agents/prompts.d.ts +6 -4
  11. package/dist/agents/prompts.d.ts.map +1 -1
  12. package/dist/agents/prompts.js +110 -24
  13. package/dist/agents/prompts.js.map +1 -1
  14. package/dist/agents/simple.d.ts +7 -0
  15. package/dist/agents/simple.d.ts.map +1 -1
  16. package/dist/agents/simple.js +32 -18
  17. package/dist/agents/simple.js.map +1 -1
  18. package/dist/agents/workflow.d.ts +28 -1
  19. package/dist/agents/workflow.d.ts.map +1 -1
  20. package/dist/agents/workflow.js +112 -45
  21. package/dist/agents/workflow.js.map +1 -1
  22. package/dist/enhance/enhance.d.ts.map +1 -1
  23. package/dist/enhance/enhance.js +16 -4
  24. package/dist/enhance/enhance.js.map +1 -1
  25. package/dist/format.d.ts +47 -1
  26. package/dist/format.d.ts.map +1 -1
  27. package/dist/format.js +175 -3
  28. package/dist/format.js.map +1 -1
  29. package/dist/graph/blast-radius.d.ts +57 -0
  30. package/dist/graph/blast-radius.d.ts.map +1 -0
  31. package/dist/graph/blast-radius.js +145 -0
  32. package/dist/graph/blast-radius.js.map +1 -0
  33. package/dist/graph/builder.d.ts +50 -0
  34. package/dist/graph/builder.d.ts.map +1 -0
  35. package/dist/graph/builder.js +210 -0
  36. package/dist/graph/builder.js.map +1 -0
  37. package/dist/graph/extractors/go.d.ts +9 -0
  38. package/dist/graph/extractors/go.d.ts.map +1 -0
  39. package/dist/graph/extractors/go.js +78 -0
  40. package/dist/graph/extractors/go.js.map +1 -0
  41. package/dist/graph/extractors/index.d.ts +22 -0
  42. package/dist/graph/extractors/index.d.ts.map +1 -0
  43. package/dist/graph/extractors/index.js +37 -0
  44. package/dist/graph/extractors/index.js.map +1 -0
  45. package/dist/graph/extractors/java.d.ts +9 -0
  46. package/dist/graph/extractors/java.d.ts.map +1 -0
  47. package/dist/graph/extractors/java.js +80 -0
  48. package/dist/graph/extractors/java.js.map +1 -0
  49. package/dist/graph/extractors/javascript.d.ts +9 -0
  50. package/dist/graph/extractors/javascript.d.ts.map +1 -0
  51. package/dist/graph/extractors/javascript.js +204 -0
  52. package/dist/graph/extractors/javascript.js.map +1 -0
  53. package/dist/graph/extractors/python.d.ts +9 -0
  54. package/dist/graph/extractors/python.d.ts.map +1 -0
  55. package/dist/graph/extractors/python.js +103 -0
  56. package/dist/graph/extractors/python.js.map +1 -0
  57. package/dist/graph/extractors/rust.d.ts +9 -0
  58. package/dist/graph/extractors/rust.d.ts.map +1 -0
  59. package/dist/graph/extractors/rust.js +115 -0
  60. package/dist/graph/extractors/rust.js.map +1 -0
  61. package/dist/graph/extractors/types.d.ts +31 -0
  62. package/dist/graph/extractors/types.d.ts.map +1 -0
  63. package/dist/graph/extractors/types.js +9 -0
  64. package/dist/graph/extractors/types.js.map +1 -0
  65. package/dist/graph/extractors/typescript.d.ts +9 -0
  66. package/dist/graph/extractors/typescript.d.ts.map +1 -0
  67. package/dist/graph/extractors/typescript.js +151 -0
  68. package/dist/graph/extractors/typescript.js.map +1 -0
  69. package/dist/graph/index.d.ts +15 -0
  70. package/dist/graph/index.d.ts.map +1 -0
  71. package/dist/graph/index.js +14 -0
  72. package/dist/graph/index.js.map +1 -0
  73. package/dist/graph/loader.d.ts +43 -0
  74. package/dist/graph/loader.d.ts.map +1 -0
  75. package/dist/graph/loader.js +104 -0
  76. package/dist/graph/loader.js.map +1 -0
  77. package/dist/graph/schema.d.ts +113 -0
  78. package/dist/graph/schema.d.ts.map +1 -0
  79. package/dist/graph/schema.js +144 -0
  80. package/dist/graph/schema.js.map +1 -0
  81. package/dist/health/trends.js +1 -1
  82. package/dist/health/trends.js.map +1 -1
  83. package/dist/index.d.ts +20 -5
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +10 -4
  86. package/dist/index.js.map +1 -1
  87. package/dist/memory/sqlite.js +4 -4
  88. package/dist/memory/sqlite.js.map +1 -1
  89. package/dist/pipeline.d.ts.map +1 -1
  90. package/dist/pipeline.js +291 -42
  91. package/dist/pipeline.js.map +1 -1
  92. package/dist/providers/cli-bridge.d.ts +136 -0
  93. package/dist/providers/cli-bridge.d.ts.map +1 -0
  94. package/dist/providers/cli-bridge.js +457 -0
  95. package/dist/providers/cli-bridge.js.map +1 -0
  96. package/dist/providers/fallback.d.ts +8 -0
  97. package/dist/providers/fallback.d.ts.map +1 -1
  98. package/dist/providers/fallback.js +24 -8
  99. package/dist/providers/fallback.js.map +1 -1
  100. package/dist/providers/gateway.d.ts +40 -0
  101. package/dist/providers/gateway.d.ts.map +1 -0
  102. package/dist/providers/gateway.js +52 -0
  103. package/dist/providers/gateway.js.map +1 -0
  104. package/dist/providers/generate-fn.d.ts +62 -0
  105. package/dist/providers/generate-fn.d.ts.map +1 -0
  106. package/dist/providers/generate-fn.js +84 -0
  107. package/dist/providers/generate-fn.js.map +1 -0
  108. package/dist/providers/index.d.ts +5 -0
  109. package/dist/providers/index.d.ts.map +1 -1
  110. package/dist/providers/index.js +53 -0
  111. package/dist/providers/index.js.map +1 -1
  112. package/dist/tools/plugins/index.d.ts +2 -0
  113. package/dist/tools/plugins/index.d.ts.map +1 -1
  114. package/dist/tools/plugins/index.js +7 -0
  115. package/dist/tools/plugins/index.js.map +1 -1
  116. package/dist/tools/plugins/zizmor.d.ts +22 -0
  117. package/dist/tools/plugins/zizmor.d.ts.map +1 -0
  118. package/dist/tools/plugins/zizmor.js +112 -0
  119. package/dist/tools/plugins/zizmor.js.map +1 -0
  120. package/dist/tools/resolve.js +1 -1
  121. package/dist/tools/resolve.js.map +1 -1
  122. package/dist/tools/types.d.ts +1 -1
  123. package/dist/tools/types.d.ts.map +1 -1
  124. package/dist/types.d.ts +54 -3
  125. package/dist/types.d.ts.map +1 -1
  126. package/dist/types.js +21 -1
  127. package/dist/types.js.map +1 -1
  128. package/dist/utils/concurrency.d.ts +29 -0
  129. package/dist/utils/concurrency.d.ts.map +1 -0
  130. package/dist/utils/concurrency.js +40 -0
  131. package/dist/utils/concurrency.js.map +1 -0
  132. package/dist/utils/context-levels.d.ts +113 -0
  133. package/dist/utils/context-levels.d.ts.map +1 -0
  134. package/dist/utils/context-levels.js +255 -0
  135. package/dist/utils/context-levels.js.map +1 -0
  136. package/dist/utils/diff.d.ts +25 -0
  137. package/dist/utils/diff.d.ts.map +1 -1
  138. package/dist/utils/diff.js +28 -0
  139. package/dist/utils/diff.js.map +1 -1
  140. package/dist/utils/llm-timeout.d.ts +38 -0
  141. package/dist/utils/llm-timeout.d.ts.map +1 -0
  142. package/dist/utils/llm-timeout.js +76 -0
  143. package/dist/utils/llm-timeout.js.map +1 -0
  144. package/dist/utils/path-protection.d.ts +59 -0
  145. package/dist/utils/path-protection.d.ts.map +1 -0
  146. package/dist/utils/path-protection.js +136 -0
  147. package/dist/utils/path-protection.js.map +1 -0
  148. package/dist/utils/token-budget.d.ts +34 -1
  149. package/dist/utils/token-budget.d.ts.map +1 -1
  150. package/dist/utils/token-budget.js +108 -3
  151. package/dist/utils/token-budget.js.map +1 -1
  152. package/package.json +21 -19
  153. package/LICENSE +0 -21
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Zizmor plugin — GitHub Actions security analysis (auto-detect).
3
+ *
4
+ * Scans .github/workflows/*.{yml,yaml} files for security vulnerabilities
5
+ * including template injection, unpinned actions, and excessive permissions.
6
+ *
7
+ * Uses ExecutionContext for DI instead of direct child_process.
8
+ */
9
+ // ─── Constants ──────────────────────────────────────────────────
10
+ const ZIZMOR_VERSION = '1.23.1';
11
+ const ZIZMOR_BIN = '/usr/local/bin/zizmor';
12
+ /** Regex for GitHub Actions workflow files */
13
+ const WORKFLOW_PATTERN = /(^|\/)\.github\/workflows\/[^/]+\.(yml|yaml)$/;
14
+ // ─── Severity Mapping ───────────────────────────────────────────
15
+ const SARIF_SEVERITY_MAP = {
16
+ error: 'high',
17
+ warning: 'medium',
18
+ note: 'info',
19
+ none: 'low',
20
+ };
21
+ /**
22
+ * Rules that indicate direct code execution risk.
23
+ * Findings from these rules are elevated to 'critical' regardless of SARIF level.
24
+ */
25
+ const CRITICAL_RULES = new Set(['template-injection']);
26
+ /**
27
+ * Map zizmor SARIF severity level to GHAGGA FindingSeverity.
28
+ * Exported for direct unit testing.
29
+ */
30
+ export function mapZizmorSeverity(level, ruleId) {
31
+ if (ruleId && CRITICAL_RULES.has(ruleId)) {
32
+ return 'critical';
33
+ }
34
+ return SARIF_SEVERITY_MAP[level.toLowerCase()] ?? 'low';
35
+ }
36
+ // ─── Parse Function ─────────────────────────────────────────────
37
+ /**
38
+ * Parse zizmor SARIF v2.1.0 output into ReviewFinding[].
39
+ * Exported for direct testing with fixture data.
40
+ */
41
+ export function parseZizmorOutput(raw, repoDir) {
42
+ if (raw.timedOut)
43
+ return [];
44
+ try {
45
+ const sarif = JSON.parse(raw.stdout);
46
+ const results = sarif.runs?.[0]?.results;
47
+ if (!results || results.length === 0)
48
+ return [];
49
+ return results.map((result) => {
50
+ const location = result.locations?.[0]?.physicalLocation;
51
+ const uri = location?.artifactLocation?.uri ?? 'unknown';
52
+ const line = location?.region?.startLine;
53
+ const ruleId = result.ruleId ?? 'unknown';
54
+ const messageText = result.message?.text ?? 'Security issue detected';
55
+ const level = result.level ?? 'none';
56
+ return {
57
+ severity: mapZizmorSeverity(level, ruleId),
58
+ category: 'security',
59
+ file: uri.replace(`${repoDir}/`, ''),
60
+ line,
61
+ message: `${ruleId}: ${messageText}`,
62
+ source: 'zizmor',
63
+ };
64
+ });
65
+ }
66
+ catch {
67
+ return [];
68
+ }
69
+ }
70
+ // ─── Plugin Definition ──────────────────────────────────────────
71
+ export const zizmorPlugin = {
72
+ name: 'zizmor',
73
+ displayName: 'Zizmor',
74
+ category: 'security',
75
+ tier: 'auto-detect',
76
+ version: ZIZMOR_VERSION,
77
+ outputFormat: 'sarif',
78
+ cachePaths: [ZIZMOR_BIN],
79
+ detect(files) {
80
+ return files.some((f) => WORKFLOW_PATTERN.test(f));
81
+ },
82
+ async install(ctx) {
83
+ const cached = await ctx.cacheRestore('zizmor', [ZIZMOR_BIN]);
84
+ if (cached) {
85
+ try {
86
+ await ctx.exec('zizmor', ['--version'], { timeoutMs: 10_000 });
87
+ return;
88
+ }
89
+ catch {
90
+ ctx.log('warn', 'Zizmor cache restored but binary not functional, reinstalling');
91
+ }
92
+ }
93
+ await ctx.exec('bash', [
94
+ '-c',
95
+ `curl -sL "https://github.com/woodruffw/zizmor/releases/download/v${ZIZMOR_VERSION}/zizmor-x86_64-unknown-linux-gnu" -o ${ZIZMOR_BIN} && chmod +x ${ZIZMOR_BIN}`,
96
+ ], { timeoutMs: 120_000 });
97
+ await ctx.exec('zizmor', ['--version'], { timeoutMs: 10_000 });
98
+ await ctx.cacheSave('zizmor', [ZIZMOR_BIN]);
99
+ },
100
+ async run(ctx, _repoDir, files, timeout) {
101
+ const workflowFiles = files.filter((f) => WORKFLOW_PATTERN.test(f));
102
+ if (workflowFiles.length === 0) {
103
+ return { stdout: '{}', stderr: '', exitCode: 0, timedOut: false };
104
+ }
105
+ return ctx.exec('zizmor', ['--format', 'sarif', ...workflowFiles], {
106
+ timeoutMs: timeout,
107
+ allowExitCodes: [1], // zizmor returns 1 when findings are present
108
+ });
109
+ },
110
+ parse: parseZizmorOutput,
111
+ };
112
+ //# sourceMappingURL=zizmor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zizmor.js","sourceRoot":"","sources":["../../../src/tools/plugins/zizmor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,mEAAmE;AAEnE,MAAM,cAAc,GAAG,QAAQ,CAAC;AAChC,MAAM,UAAU,GAAG,uBAAuB,CAAC;AAE3C,8CAA8C;AAC9C,MAAM,gBAAgB,GAAG,+CAA+C,CAAC;AA0BzE,mEAAmE;AAEnE,MAAM,kBAAkB,GAAoC;IAC1D,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,KAAK;CACZ,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,MAAe;IAC9D,IAAI,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC;AAC1D,CAAC;AAED,mEAAmE;AAEnE;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,GAAkB,EAAE,OAAe;IACnE,IAAI,GAAG,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,KAAK,GAAa,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QACzC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEhD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC;YACzD,MAAM,GAAG,GAAG,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,SAAS,CAAC;YACzD,MAAM,IAAI,GAAG,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;YAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,yBAAyB,CAAC;YACtE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC;YAErC,OAAO;gBACL,QAAQ,EAAE,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;gBAC1C,QAAQ,EAAE,UAAU;gBACpB,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,EAAE,EAAE,CAAC;gBACpC,IAAI;gBACJ,OAAO,EAAE,GAAG,MAAM,KAAK,WAAW,EAAE;gBACpC,MAAM,EAAE,QAAiB;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,mEAAmE;AAEnE,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,QAAQ;IACrB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,cAAc;IACvB,YAAY,EAAE,OAAO;IACrB,UAAU,EAAE,CAAC,UAAU,CAAC;IAExB,MAAM,CAAC,KAAe;QACpB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAqB;QACjC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC9D,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC/D,OAAO;YACT,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,+DAA+D,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;QAED,MAAM,GAAG,CAAC,IAAI,CACZ,MAAM,EACN;YACE,IAAI;YACJ,oEAAoE,cAAc,wCAAwC,UAAU,gBAAgB,UAAU,EAAE;SACjK,EACD,EAAE,SAAS,EAAE,OAAO,EAAE,CACvB,CAAC;QACF,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,MAAM,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAqB,EACrB,QAAgB,EAChB,KAAe,EACf,OAAe;QAEf,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACpE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,EAAE;YACjE,SAAS,EAAE,OAAO;YAClB,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,6CAA6C;SACnE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,EAAE,iBAAiB;CACzB,CAAC"}
@@ -26,7 +26,7 @@ export function resolveActivatedTools(input) {
26
26
  }
27
27
  // Step 2: Run detect(files) for each auto-detect tool
28
28
  for (const tool of registry.getByTier('auto-detect')) {
29
- if (tool.detect && tool.detect(files)) {
29
+ if (tool.detect?.(files)) {
30
30
  activated.set(tool.name, { definition: tool, reason: 'auto-detect' });
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/tools/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqBH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC9D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACpF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAuD;YAC1E,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;SACvC,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,eAAe,EAAE,CAAC;YAC7C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/tools/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAqBH;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAA0B;IAC9D,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAE/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAEnD,yCAAyC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,IAAI,EAAE,CAAC;oBACT,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,6FAA6F;IAC7F,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,+EAA+E;IAC/E,MAAM,mBAAmB,GAAG,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IACpF,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,eAAe,GAAuD;YAC1E,EAAE,IAAI,EAAE,KAAK,CAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9C,EAAE,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;YAC1C,EAAE,IAAI,EAAE,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;SACvC,CAAC;QAEF,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,eAAe,EAAE,CAAC;YAC7C,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;gBACnB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * Distribution adapters implement ExecutionContext.
9
9
  */
10
10
  import type { ReviewFinding } from '../types.js';
11
- export type ToolName = 'semgrep' | 'trivy' | 'cpd' | 'gitleaks' | 'shellcheck' | 'markdownlint' | 'lizard' | 'ruff' | 'bandit' | 'golangci-lint' | 'biome' | 'pmd' | 'psalm' | 'clippy' | 'hadolint';
11
+ export type ToolName = 'semgrep' | 'trivy' | 'cpd' | 'gitleaks' | 'shellcheck' | 'markdownlint' | 'lizard' | 'ruff' | 'bandit' | 'golangci-lint' | 'biome' | 'pmd' | 'psalm' | 'clippy' | 'hadolint' | 'zizmor';
12
12
  export type ToolCategory = 'security' | 'quality' | 'secrets' | 'complexity' | 'duplication' | 'sca' | 'docs' | 'linting';
13
13
  export type ToolTier = 'always-on' | 'auto-detect';
14
14
  export interface RawToolOutput {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -4,10 +4,10 @@
4
4
  * These types define the contract between the core review engine
5
5
  * and all distribution adapters (server, CLI, action).
6
6
  */
7
- export type ReviewMode = 'simple' | 'workflow' | 'consensus';
8
- export type LLMProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'ollama' | 'qwen';
7
+ export type ReviewMode = 'simple' | 'workflow' | 'consensus' | 'diagnostic';
8
+ export type LLMProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'ollama' | 'qwen' | 'groq' | 'cerebras' | 'deepseek' | 'openrouter' | 'cli-bridge' | 'gateway';
9
9
  /** Providers available in the SaaS dashboard (excludes Ollama) */
10
- export type SaaSProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'qwen';
10
+ export type SaaSProvider = 'anthropic' | 'openai' | 'google' | 'github' | 'qwen' | 'groq' | 'cerebras' | 'deepseek' | 'openrouter' | 'cli-bridge' | 'gateway';
11
11
  export type ReviewLevel = 'soft' | 'normal' | 'strict';
12
12
  /**
13
13
  * A single entry in the provider fallback chain.
@@ -21,6 +21,10 @@ export interface ProviderChainEntry {
21
21
  model: string;
22
22
  /** Decrypted API key (populated at runtime by the server, never stored in plaintext) */
23
23
  apiKey: string;
24
+ /** OpenCode model in `provider/model` format. Only meaningful when provider === 'cli-bridge'. */
25
+ cliModel?: string;
26
+ /** Gateway base URL. Only meaningful when provider === 'gateway'. */
27
+ gatewayUrl?: string;
24
28
  }
25
29
  /**
26
30
  * Progress callback for pipeline steps.
@@ -76,6 +80,12 @@ export interface ReviewInput {
76
80
  * Undefined in CLI/Action modes where tools run locally.
77
81
  */
78
82
  precomputedStaticAnalysis?: StaticAnalysisResult;
83
+ /**
84
+ * Graph loader for blast-radius analysis.
85
+ * Injected by the caller (SaaS: GitHubApiGraphLoader, CLI: SQLiteGraphLoader).
86
+ * When undefined, blast-radius is skipped (current behavior).
87
+ */
88
+ graphLoader?: import('./graph/schema.js').GraphLoader;
79
89
  /** Enable AI-powered post-analysis enhancement. Default: false. */
80
90
  enhance?: boolean;
81
91
  }
@@ -91,6 +101,12 @@ export interface ReviewSettings {
91
101
  enabledTools?: string[];
92
102
  /** Force-disable specific tools (overrides always-on and auto-detect) */
93
103
  disabledTools?: string[];
104
+ /** Enable blast-radius analysis using dependency graph. Default: false. */
105
+ enableBlastRadius?: boolean;
106
+ /** Max files in blast-radius before falling back to full diff. Default: 50. */
107
+ maxBlastRadiusFiles?: number;
108
+ /** Max traversal depth for dependency graph. Default: 3. */
109
+ traversalDepth?: number;
94
110
  }
95
111
  export interface ReviewContext {
96
112
  /** Repository full name (e.g., "owner/repo") */
@@ -102,6 +118,25 @@ export interface ReviewContext {
102
118
  /** List of all file paths in the diff */
103
119
  fileList: string[];
104
120
  }
121
+ export type HypothesisConfidence = 'high' | 'medium' | 'low';
122
+ /**
123
+ * A testable hypothesis about a potential bug or issue.
124
+ * Generated by the diagnostic review mode.
125
+ */
126
+ export interface Hypothesis {
127
+ /** Hypothesis identifier (e.g., "H1", "H2") */
128
+ id: string;
129
+ /** Short description of what might be wrong */
130
+ title: string;
131
+ /** When/why this would fail — the conditions that trigger the bug */
132
+ conditions: string;
133
+ /** How to test or verify this hypothesis */
134
+ verification: string;
135
+ /** Confidence level based on evidence in the diff */
136
+ confidence: HypothesisConfidence;
137
+ /** Files related to this hypothesis */
138
+ relatedFiles: string[];
139
+ }
105
140
  export type ReviewStatus = 'PASSED' | 'FAILED' | 'NEEDS_HUMAN_REVIEW' | 'SKIPPED';
106
141
  export type FindingSeverity = 'critical' | 'high' | 'medium' | 'low' | 'info';
107
142
  export type FindingSource = 'ai' | 'semgrep' | 'trivy' | 'cpd' | (string & {});
@@ -122,6 +157,8 @@ export interface ReviewResult {
122
157
  enhanced?: boolean;
123
158
  /** Metadata from the AI enhance pass (present when enhanced === true). */
124
159
  enhanceMetadata?: import('./enhance/types.js').EnhanceMetadata;
160
+ /** Diagnostic hypotheses (present when mode === 'diagnostic'). */
161
+ hypotheses?: Hypothesis[];
125
162
  }
126
163
  export interface ReviewFinding {
127
164
  /** Severity level */
@@ -162,6 +199,20 @@ export interface ReviewMetadata {
162
199
  toolsRun: string[];
163
200
  /** Static analysis tools that were skipped or failed */
164
201
  toolsSkipped: string[];
202
+ /** Blast-radius analysis results (present when enableBlastRadius is true). */
203
+ blastRadius?: import('./graph/schema.js').BlastRadiusMetadata;
204
+ /** Total additions across all diff files. */
205
+ totalAdditions?: number;
206
+ /** Total deletions across all diff files. */
207
+ totalDeletions?: number;
208
+ /** List of changed file paths (from the diff, after filtering). */
209
+ fileList?: string[];
210
+ /**
211
+ * Models used per specialist/vote (workflow and consensus modes).
212
+ * Format: ["scope-analysis:anthropic/claude-sonnet-4-20250514", ...]
213
+ * Useful for debugging multi-provider distribution.
214
+ */
215
+ modelsUsed?: string[];
165
216
  }
166
217
  export type ToolStatus = 'success' | 'skipped' | 'error' | 'timeout';
167
218
  export interface ToolResult {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -11,7 +11,21 @@ export const DEFAULT_SETTINGS = {
11
11
  enableCpd: true,
12
12
  enableMemory: true,
13
13
  customRules: [],
14
- ignorePatterns: ['*.md', '*.txt', '.gitignore', 'LICENSE', '*.lock'],
14
+ ignorePatterns: [
15
+ '*.md',
16
+ '*.txt',
17
+ '.gitignore',
18
+ 'LICENSE',
19
+ '*.lock',
20
+ 'package-lock.json',
21
+ 'pnpm-lock.yaml',
22
+ 'bun.lockb',
23
+ 'composer.lock',
24
+ 'Gemfile.lock',
25
+ 'Cargo.lock',
26
+ 'poetry.lock',
27
+ 'go.sum',
28
+ ],
15
29
  reviewLevel: 'normal',
16
30
  enabledTools: [],
17
31
  disabledTools: [],
@@ -23,5 +37,11 @@ export const DEFAULT_MODELS = {
23
37
  github: 'gpt-4o-mini',
24
38
  ollama: 'qwen2.5-coder:7b',
25
39
  qwen: 'qwen-coder-plus',
40
+ groq: 'llama-3.3-70b-versatile',
41
+ cerebras: 'llama-3.3-70b',
42
+ deepseek: 'deepseek-chat',
43
+ openrouter: 'deepseek/deepseek-chat',
44
+ 'cli-bridge': 'auto',
45
+ gateway: 'auto',
26
46
  };
27
47
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwaH,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;IACpE,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,iBAAiB;CACxB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqgBH,mEAAmE;AAEnE,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC9C,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,IAAI;IAClB,WAAW,EAAE,EAAE;IACf,cAAc,EAAE;QACd,MAAM;QACN,OAAO;QACP,YAAY;QACZ,SAAS;QACT,QAAQ;QACR,mBAAmB;QACnB,gBAAgB;QAChB,WAAW;QACX,eAAe;QACf,cAAc;QACd,YAAY;QACZ,aAAa;QACb,QAAQ;KACT;IACD,WAAW,EAAE,QAAQ;IACrB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAgC;IACzD,SAAS,EAAE,0BAA0B;IACrC,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,kBAAkB;IAC1B,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,yBAAyB;IAC/B,QAAQ,EAAE,eAAe;IACzB,QAAQ,EAAE,eAAe;IACzB,UAAU,EAAE,wBAAwB;IACpC,YAAY,EAAE,MAAM;IACpB,OAAO,EAAE,MAAM;CAChB,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Concurrency limiter for LLM calls.
3
+ *
4
+ * Instead of firing all N calls at once via Promise.allSettled,
5
+ * this utility processes them in batches of `concurrency` with
6
+ * an optional delay between batches. This prevents exceeding
7
+ * TPM (Tokens Per Minute) limits on free-tier providers.
8
+ *
9
+ * Example: 5 tasks with concurrency=2, delayMs=500
10
+ * Batch 1: [task1, task2] → run in parallel
11
+ * wait 500ms
12
+ * Batch 2: [task3, task4] → run in parallel
13
+ * wait 500ms
14
+ * Batch 3: [task5] → run alone
15
+ */
16
+ export interface ConcurrencyOptions {
17
+ /** Max concurrent tasks (default: 2) */
18
+ concurrency?: number;
19
+ /** Delay in ms between batches (default: 0) */
20
+ delayMs?: number;
21
+ }
22
+ /**
23
+ * Run async tasks with bounded concurrency and optional inter-batch delay.
24
+ *
25
+ * Returns PromiseSettledResult[] in the same order as the input tasks,
26
+ * matching the Promise.allSettled contract for easy migration.
27
+ */
28
+ export declare function runWithConcurrency<T>(tasks: (() => Promise<T>)[], options?: ConcurrencyOptions): Promise<PromiseSettledResult<T>[]>;
29
+ //# sourceMappingURL=concurrency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.d.ts","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,KAAK,EAAE,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAsBpC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Concurrency limiter for LLM calls.
3
+ *
4
+ * Instead of firing all N calls at once via Promise.allSettled,
5
+ * this utility processes them in batches of `concurrency` with
6
+ * an optional delay between batches. This prevents exceeding
7
+ * TPM (Tokens Per Minute) limits on free-tier providers.
8
+ *
9
+ * Example: 5 tasks with concurrency=2, delayMs=500
10
+ * Batch 1: [task1, task2] → run in parallel
11
+ * wait 500ms
12
+ * Batch 2: [task3, task4] → run in parallel
13
+ * wait 500ms
14
+ * Batch 3: [task5] → run alone
15
+ */
16
+ /**
17
+ * Run async tasks with bounded concurrency and optional inter-batch delay.
18
+ *
19
+ * Returns PromiseSettledResult[] in the same order as the input tasks,
20
+ * matching the Promise.allSettled contract for easy migration.
21
+ */
22
+ export async function runWithConcurrency(tasks, options = {}) {
23
+ const { concurrency = 2, delayMs = 0 } = options;
24
+ // Fast path: if concurrency >= task count, run all at once (original behavior)
25
+ if (concurrency >= tasks.length) {
26
+ return Promise.allSettled(tasks.map((fn) => fn()));
27
+ }
28
+ const results = [];
29
+ for (let i = 0; i < tasks.length; i += concurrency) {
30
+ const batch = tasks.slice(i, i + concurrency);
31
+ const batchResults = await Promise.allSettled(batch.map((fn) => fn()));
32
+ results.push(...batchResults);
33
+ // Delay between batches (skip after the last batch)
34
+ if (delayMs > 0 && i + concurrency < tasks.length) {
35
+ await new Promise((resolve) => setTimeout(resolve, delayMs));
36
+ }
37
+ }
38
+ return results;
39
+ }
40
+ //# sourceMappingURL=concurrency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concurrency.js","sourceRoot":"","sources":["../../src/utils/concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA2B,EAC3B,UAA8B,EAAE;IAEhC,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;IAEjD,+EAA+E;IAC/E,IAAI,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAChC,OAAO,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAA8B,EAAE,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE,CAAC;QACnD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;QAE9B,oDAAoD;QACpD,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Progressive context loading system (L0/L1/L2).
3
+ *
4
+ * For small models with tight token budgets (e.g., Groq free tier: 4-6K total),
5
+ * the full static analysis and memory context can consume the entire context budget,
6
+ * leaving little room for the actual diff. This module provides three fidelity
7
+ * levels that are automatically selected based on the available token budget.
8
+ *
9
+ * Levels:
10
+ * L0 (~20-50 tokens) — One-sentence summary
11
+ * L1 (~100-200 tokens) — Bullet list with key details
12
+ * L2 (full) — Current behavior, unchanged
13
+ */
14
+ import type { ReviewFinding, StaticAnalysisResult } from '../types.js';
15
+ export type ContextLevel = 'L0' | 'L1' | 'L2';
16
+ /**
17
+ * Estimate token count from text using the 4-chars-per-token heuristic.
18
+ * Matches the same approximation used in `truncateDiff()`.
19
+ */
20
+ export declare function estimateTokens(text: string): number;
21
+ /**
22
+ * Choose the optimal context fidelity level based on available budget.
23
+ *
24
+ * Decision tree:
25
+ * 1. If the full (L2) context fits within the budget → L2
26
+ * 2. If the budget can accommodate an L1 summary (≥150 tokens) → L1
27
+ * 3. Otherwise → L0
28
+ *
29
+ * @param contextBudget - Available tokens for context from `calculateTokenBudget()`
30
+ * @param estimatedFullTokens - Token estimate for the full (L2) context
31
+ */
32
+ export declare function chooseContextLevel(contextBudget: number, estimatedFullTokens: number): ContextLevel;
33
+ /**
34
+ * Extract all findings from a StaticAnalysisResult (all tools, dynamic).
35
+ */
36
+ export declare function collectAllFindings(staticResult: StaticAnalysisResult): ReviewFinding[];
37
+ /**
38
+ * Extract the names of all tools that ran successfully.
39
+ */
40
+ export declare function collectToolNames(staticResult: StaticAnalysisResult): string[];
41
+ /**
42
+ * L0: One-sentence summary of static analysis findings.
43
+ *
44
+ * Output: "Static analysis (semgrep, trivy): 5 findings (2 high, 3 medium)"
45
+ * Or: "Static analysis: no findings"
46
+ *
47
+ * @param findings - All findings from static analysis tools
48
+ * @param toolNames - Names of tools that ran successfully
49
+ */
50
+ export declare function formatStaticContextL0(findings: ReviewFinding[], toolNames: string[]): string;
51
+ /**
52
+ * L1: Bullet list with file, line, severity, and rule name.
53
+ *
54
+ * Output:
55
+ * ## Static Analysis Summary
56
+ * - [high] auth.ts:45 — SQL injection (semgrep)
57
+ * - [medium] db.ts:12 — Unparameterized query (semgrep)
58
+ *
59
+ * Caps at 15 findings to stay within ~200 tokens. Sorted by severity.
60
+ *
61
+ * @param findings - All findings from static analysis tools
62
+ */
63
+ export declare function formatStaticContextL1(findings: ReviewFinding[]): string;
64
+ /**
65
+ * L0: One-sentence summary of available memory context.
66
+ *
67
+ * Output: "Memory: 3 past observations about this codebase available"
68
+ * Or: "" (if no memory)
69
+ *
70
+ * @param memory - The full memory context string, or null
71
+ */
72
+ export declare function formatMemoryContextL0(memory: string | null): string;
73
+ /**
74
+ * L1: Abbreviated bullet list of memory items (titles only).
75
+ *
76
+ * Output:
77
+ * ## Past Review Memory (summary)
78
+ * - [DECISION] Switched from sessions to JWT
79
+ * - [BUGFIX] Fixed N+1 in user list
80
+ *
81
+ * @param memory - The full memory context string, or null
82
+ */
83
+ export declare function formatMemoryContextL1(memory: string | null): string;
84
+ export interface ProgressiveContextInput {
85
+ staticResult: StaticAnalysisResult;
86
+ memoryContext: string | null;
87
+ stackHints: string;
88
+ contextBudget: number;
89
+ /** Full static context string (L2). Pre-formatted by formatStaticAnalysisContext(). */
90
+ fullStaticContext: string;
91
+ }
92
+ export interface ProgressiveContextOutput {
93
+ /** The context-level-adjusted static context string. */
94
+ staticContext: string;
95
+ /** The context-level-adjusted memory context string. */
96
+ memoryContext: string | null;
97
+ /** Stack hints are passed through unchanged (already compact). */
98
+ stackHints: string;
99
+ /** The chosen level for static analysis context. */
100
+ staticLevel: ContextLevel;
101
+ /** The chosen level for memory context. */
102
+ memoryLevel: ContextLevel;
103
+ }
104
+ /**
105
+ * Build context strings at the optimal fidelity level for the available budget.
106
+ *
107
+ * The budget is split: static analysis gets priority, then memory fills remaining.
108
+ * Stack hints pass through unchanged (they are already compact).
109
+ *
110
+ * @returns Context strings and chosen levels for logging
111
+ */
112
+ export declare function buildProgressiveContext(input: ProgressiveContextInput): ProgressiveContextOutput;
113
+ //# sourceMappingURL=context-levels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-levels.d.ts","sourceRoot":"","sources":["../../src/utils/context-levels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAc,MAAM,aAAa,CAAC;AAInF,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAe9C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,EACrB,mBAAmB,EAAE,MAAM,GAC1B,YAAY,CAQd;AAID;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,oBAAoB,GAAG,aAAa,EAAE,CAQtF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,oBAAoB,GAAG,MAAM,EAAE,CAU7E;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,CAW5F;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CA8BvE;AAaD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAOnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAgBnE;AAID,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,oBAAoB,CAAC;IACnC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IAEtB,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,wDAAwD;IACxD,aAAa,EAAE,MAAM,CAAC;IAEtB,wDAAwD;IACxD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,WAAW,EAAE,YAAY,CAAC;IAE1B,2CAA2C;IAC3C,WAAW,EAAE,YAAY,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,uBAAuB,GAAG,wBAAwB,CAiDhG"}