@oddessentials/odd-ai-reviewers 1.8.0 → 1.10.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 (47) hide show
  1. package/dist/agents/ai_semantic_review.d.ts.map +1 -1
  2. package/dist/agents/ai_semantic_review.js +7 -1
  3. package/dist/agents/ai_semantic_review.js.map +1 -1
  4. package/dist/agents/control_flow/safe-source-detector.d.ts.map +1 -1
  5. package/dist/agents/control_flow/safe-source-detector.js +11 -1
  6. package/dist/agents/control_flow/safe-source-detector.js.map +1 -1
  7. package/dist/agents/control_flow/scope-stack.d.ts +54 -0
  8. package/dist/agents/control_flow/scope-stack.d.ts.map +1 -1
  9. package/dist/agents/control_flow/scope-stack.js +128 -0
  10. package/dist/agents/control_flow/scope-stack.js.map +1 -1
  11. package/dist/agents/control_flow/vulnerability-detector.d.ts.map +1 -1
  12. package/dist/agents/control_flow/vulnerability-detector.js +380 -2
  13. package/dist/agents/control_flow/vulnerability-detector.js.map +1 -1
  14. package/dist/agents/opencode.d.ts.map +1 -1
  15. package/dist/agents/opencode.js +7 -1
  16. package/dist/agents/opencode.js.map +1 -1
  17. package/dist/agents/pr_agent.d.ts.map +1 -1
  18. package/dist/agents/pr_agent.js +7 -1
  19. package/dist/agents/pr_agent.js.map +1 -1
  20. package/dist/agents/security.d.ts.map +1 -1
  21. package/dist/agents/security.js +12 -0
  22. package/dist/agents/security.js.map +1 -1
  23. package/dist/benchmark/adapter.d.ts +58 -0
  24. package/dist/benchmark/adapter.d.ts.map +1 -1
  25. package/dist/benchmark/adapter.js +229 -2
  26. package/dist/benchmark/adapter.js.map +1 -1
  27. package/dist/cli/dependencies/schemas.d.ts +3 -3
  28. package/dist/main.d.ts.map +1 -1
  29. package/dist/main.js +1 -1
  30. package/dist/main.js.map +1 -1
  31. package/dist/phases/report.d.ts +1 -1
  32. package/dist/phases/report.d.ts.map +1 -1
  33. package/dist/phases/report.js +28 -3
  34. package/dist/phases/report.js.map +1 -1
  35. package/dist/prompts/shared-conventions.generated.d.ts +8 -0
  36. package/dist/prompts/shared-conventions.generated.d.ts.map +1 -0
  37. package/dist/prompts/shared-conventions.generated.js +8 -0
  38. package/dist/prompts/shared-conventions.generated.js.map +1 -0
  39. package/dist/report/finding-validator.d.ts +34 -2
  40. package/dist/report/finding-validator.d.ts.map +1 -1
  41. package/dist/report/finding-validator.js +148 -6
  42. package/dist/report/finding-validator.js.map +1 -1
  43. package/dist/report/framework-pattern-filter.d.ts +53 -0
  44. package/dist/report/framework-pattern-filter.d.ts.map +1 -0
  45. package/dist/report/framework-pattern-filter.js +240 -0
  46. package/dist/report/framework-pattern-filter.js.map +1 -0
  47. package/package.json +1 -1
@@ -10,6 +10,7 @@ import { withRetry } from './retry.js';
10
10
  import { withTokenCompatibility } from './token-compat.js';
11
11
  import { parseJsonResponse } from './json-utils.js';
12
12
  import { getCurrentDateUTC } from './date-utils.js';
13
+ import { SHARED_CONVENTIONS_SUMMARY } from '../prompts/shared-conventions.generated.js';
13
14
  // Supported file extensions for PR-Agent review
14
15
  const SUPPORTED_EXTENSIONS = [
15
16
  '.ts',
@@ -156,7 +157,12 @@ export const prAgentAgent = {
156
157
  4. When uncertain about data flow or context (e.g., a function's return value is not visible in the diff), report at "info" severity with an explicit uncertainty qualifier: "Potential issue — verify that [specific concern]."
157
158
 
158
159
  ### Framework & Language Conventions
159
- Do NOT flag: (1) Express 4-param error middleware unused _next, (2) identical query keys as double-fetching (React Query dedup), (3) Promise.allSettled iteration as "wrong order", (4) TypeScript _prefix unused params, (5) assertNever/exhaustive switch as missing error handling, (6) constants adjacent to their only usage as needing externalization.`;
160
+ Do NOT flag: (1) Express 4-param error middleware unused _next, (2) identical query keys as double-fetching (React Query dedup), (3) Promise.allSettled iteration as "wrong order", (4) TypeScript _prefix unused params, (5) assertNever/exhaustive switch as missing error handling, (6) constants adjacent to their only usage as needing externalization.
161
+
162
+ ### Active Context Directives
163
+ Before generating findings: (1) CHECK any Project Rules provided — do not contradict documented decisions, (2) CHECK any PR Description provided — understand stated intent before flagging changes.
164
+
165
+ ${SHARED_CONVENTIONS_SUMMARY}`;
160
166
  if (existsSync(PROMPT_PATH)) {
161
167
  try {
162
168
  systemPrompt = await readFile(PROMPT_PATH, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"pr_agent.js","sourceRoot":"","sources":["../../src/agents/pr_agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pr_agent.js","sourceRoot":"","sources":["../../src/agents/pr_agent.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/agents/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,MAAM,OAAO,GACf,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,oBAAoB,GACpB,WAAW,CAAC;AAwIhB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxB;AAiBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAEpC;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAUA;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9E,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC,CA8DD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxB"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/agents/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,MAAM,MAAM,OAAO,GACf,SAAS,GACT,WAAW,GACX,UAAU,GACV,UAAU,GACV,oBAAoB,GACpB,WAAW,CAAC;AAoJhB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqBxB;AAiBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAEpC;AAED,wBAAgB,aAAa,CAC3B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GACtC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIxB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,IAAI,OAAO,CAElE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAUA;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9E,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC,CA8DD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC3C,WAAW,CAAC,EAAE,MAAM,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmCxB"}
@@ -21,6 +21,12 @@ const COMMON_AGENT_ENV_ALLOWLIST = [
21
21
  'TERM',
22
22
  'NO_COLOR',
23
23
  'NODE_ENV',
24
+ // Windows: required for Python to find user-level packages (e.g., Semgrep)
25
+ 'APPDATA',
26
+ // Windows: required for subprocess creation (CreateProcess)
27
+ 'SYSTEMROOT',
28
+ // Windows: Python fallback for HOME
29
+ 'USERPROFILE',
24
30
  ];
25
31
  const AGENT_ENV_ALLOWLIST = {
26
32
  semgrep: [],
@@ -92,6 +98,12 @@ const ROUTER_ENV_ALLOWLIST = [
92
98
  'LC_ALL',
93
99
  'TERM',
94
100
  'NODE_ENV',
101
+ // Windows: required for Python to find user-level packages (e.g., Semgrep)
102
+ 'APPDATA',
103
+ // Windows: required for subprocess creation (CreateProcess)
104
+ 'SYSTEMROOT',
105
+ // Windows: Python fallback for HOME
106
+ 'USERPROFILE',
95
107
  // AI Provider Keys (canonical only)
96
108
  'OPENAI_API_KEY',
97
109
  'ANTHROPIC_API_KEY',
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/agents/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/agents/security.ts"],"names":[],"mappings":"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"}
@@ -35,5 +35,63 @@ export declare function getUnsupportedScenarioReason(scenario: BenchmarkScenario
35
35
  * 5. Apply timeout via Promise.race
36
36
  */
37
37
  export declare function runScenario(scenario: BenchmarkScenario, timeout?: number): Promise<Finding[]>;
38
+ /** Version tag embedded in snapshot metadata for format compatibility checks. */
39
+ export declare const SNAPSHOT_ADAPTER_VERSION = "1.0.0";
40
+ export interface SnapshotMetadata {
41
+ recordedAt: string;
42
+ promptTemplateHash: string;
43
+ modelId: string;
44
+ provider: string;
45
+ fixtureHash: string;
46
+ adapterVersion: string;
47
+ }
48
+ export interface RecordedResponse {
49
+ findings: Finding[];
50
+ rawOutput: string;
51
+ }
52
+ export interface ResponseSnapshot {
53
+ metadata: SnapshotMetadata;
54
+ response: RecordedResponse;
55
+ }
56
+ export interface DriftField {
57
+ field: keyof SnapshotMetadata;
58
+ expected: string;
59
+ actual: string;
60
+ }
61
+ export interface DriftCheckResult {
62
+ valid: boolean;
63
+ drifted: DriftField[];
64
+ }
65
+ /** Compute SHA-256 hash of a string, returned as hex. */
66
+ export declare function sha256(content: string): string;
67
+ /**
68
+ * Load a recorded snapshot for a given scenario ID.
69
+ * Returns undefined if no snapshot file exists.
70
+ */
71
+ export declare function loadSnapshot(scenarioId: string, snapshotDir: string): Promise<ResponseSnapshot | undefined>;
72
+ /**
73
+ * Validate snapshot metadata against current system state.
74
+ * Returns drift details if any metadata field has changed.
75
+ */
76
+ export declare function validateSnapshotMetadata(snapshot: ResponseSnapshot, currentPromptHash: string, currentFixtureHash: string): DriftCheckResult;
77
+ /**
78
+ * Run a benchmark scenario using a recorded snapshot.
79
+ * Validates metadata first; throws if snapshot not found or drift detected.
80
+ */
81
+ export declare function runWithSnapshot(scenarioId: string, snapshotDir: string, currentPromptHash: string, currentFixtureHash: string, scenario?: BenchmarkScenario): Promise<Finding[]>;
82
+ /**
83
+ * Record a live LLM response as a snapshot for a given scenario.
84
+ */
85
+ export declare function recordSnapshot(scenarioId: string, response: RecordedResponse, metadata: SnapshotMetadata, snapshotDir: string): Promise<void>;
86
+ /**
87
+ * Build snapshot metadata for a recorded scenario.
88
+ */
89
+ export declare function buildSnapshotMetadata(promptHash: string, fixtureHash: string, modelId?: string, provider?: string): SnapshotMetadata;
90
+ /**
91
+ * Run a benchmark scenario against a live LLM and return the response.
92
+ * Requires either ANTHROPIC_API_KEY or OPENAI_API_KEY in the environment.
93
+ * Used exclusively by the benchmark:record command (RECORD=true).
94
+ */
95
+ export declare function runLiveScenario(scenario: BenchmarkScenario): Promise<RecordedResponse>;
38
96
  export {};
39
97
  //# sourceMappingURL=adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/benchmark/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQtD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAyC5D;AAyED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAiBvF;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,SAAqB,GAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAoFpB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/benchmark/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAiBH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQtD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAyC5D;AAyED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAiBvF;AAED;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,SAAqB,GAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAoFpB;AAMD,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,UAAU,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,gBAAgB,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,gBAAgB,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,UAAU,EAAE,CAAC;CACvB;AAED,yDAAyD;AACzD,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C;AAOD;;;GAGG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAQvC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,GACzB,gBAAgB,CAoBlB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,kBAAkB,EAAE,MAAM,EAC1B,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,OAAO,EAAE,CAAC,CAkDpB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,SAAiD,EACxD,QAAQ,SAAiD,GACxD,gBAAgB,CASlB;AAuBD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyC5F"}
@@ -13,8 +13,13 @@
13
13
  * This adapter does NOT make network calls - it is purely local AST analysis.
14
14
  */
15
15
  import ts from 'typescript';
16
+ import { createHash } from 'node:crypto';
17
+ import { readFile, writeFile, mkdir } from 'node:fs/promises';
18
+ import { existsSync } from 'node:fs';
19
+ import { join } from 'node:path';
16
20
  import { VulnerabilityDetector } from '../agents/control_flow/vulnerability-detector.js';
17
- import { validateFindings } from '../report/finding-validator.js';
21
+ import { validateFindingsSemantics, validateNormalizedFindings, } from '../report/finding-validator.js';
22
+ import { filterFrameworkConventionFindings, getValidFindings, } from '../report/framework-pattern-filter.js';
18
23
  import { createLogger } from '../agents/control_flow/logger.js';
19
24
  const DETERMINISTIC_PATTERNS = new Set(['A', 'E']);
20
25
  /**
@@ -193,7 +198,7 @@ export async function runScenario(scenario, timeout = DEFAULT_TIMEOUT_MS) {
193
198
  const inputFindings = scenario.syntheticFindings ?? allFindings;
194
199
  const lineResolver = createBenchmarkLineResolver(diffFiles, scenario.diff);
195
200
  const diffFilePaths = diffFiles.map((df) => df.path);
196
- const summary = validateFindings(inputFindings, lineResolver, diffFilePaths);
201
+ const summary = validateNormalizedFindings(inputFindings, lineResolver, diffFilePaths);
197
202
  return summary.validFindings;
198
203
  }
199
204
  return allFindings;
@@ -214,4 +219,226 @@ export async function runScenario(scenario, timeout = DEFAULT_TIMEOUT_MS) {
214
219
  clearTimeout(timer);
215
220
  }
216
221
  }
222
+ // =============================================================================
223
+ // Snapshot Adapter (FR-020, FR-021)
224
+ // =============================================================================
225
+ /** Version tag embedded in snapshot metadata for format compatibility checks. */
226
+ export const SNAPSHOT_ADAPTER_VERSION = '1.0.0';
227
+ /** Compute SHA-256 hash of a string, returned as hex. */
228
+ export function sha256(content) {
229
+ return createHash('sha256').update(content).digest('hex');
230
+ }
231
+ /** Snapshot file name for a given scenario ID. */
232
+ function snapshotFileName(scenarioId) {
233
+ return `${scenarioId}.snapshot.json`;
234
+ }
235
+ /**
236
+ * Load a recorded snapshot for a given scenario ID.
237
+ * Returns undefined if no snapshot file exists.
238
+ */
239
+ export async function loadSnapshot(scenarioId, snapshotDir) {
240
+ const filePath = join(snapshotDir, snapshotFileName(scenarioId));
241
+ try {
242
+ const content = await readFile(filePath, 'utf-8');
243
+ return JSON.parse(content);
244
+ }
245
+ catch {
246
+ return undefined;
247
+ }
248
+ }
249
+ /**
250
+ * Validate snapshot metadata against current system state.
251
+ * Returns drift details if any metadata field has changed.
252
+ */
253
+ export function validateSnapshotMetadata(snapshot, currentPromptHash, currentFixtureHash) {
254
+ const drifted = [];
255
+ if (snapshot.metadata.promptTemplateHash !== currentPromptHash) {
256
+ drifted.push({
257
+ field: 'promptTemplateHash',
258
+ expected: currentPromptHash,
259
+ actual: snapshot.metadata.promptTemplateHash,
260
+ });
261
+ }
262
+ if (snapshot.metadata.fixtureHash !== currentFixtureHash) {
263
+ drifted.push({
264
+ field: 'fixtureHash',
265
+ expected: currentFixtureHash,
266
+ actual: snapshot.metadata.fixtureHash,
267
+ });
268
+ }
269
+ return { valid: drifted.length === 0, drifted };
270
+ }
271
+ /**
272
+ * Run a benchmark scenario using a recorded snapshot.
273
+ * Validates metadata first; throws if snapshot not found or drift detected.
274
+ */
275
+ export async function runWithSnapshot(scenarioId, snapshotDir, currentPromptHash, currentFixtureHash, scenario) {
276
+ const snapshot = await loadSnapshot(scenarioId, snapshotDir);
277
+ if (!snapshot) {
278
+ throw new Error(`No snapshot found for scenario "${scenarioId}" in ${snapshotDir}. ` +
279
+ `Run with --record to capture a snapshot.`);
280
+ }
281
+ const driftCheck = validateSnapshotMetadata(snapshot, currentPromptHash, currentFixtureHash);
282
+ if (!driftCheck.valid) {
283
+ const details = driftCheck.drifted
284
+ .map((d) => ` ${d.field}: snapshot="${d.actual}" current="${d.expected}"`)
285
+ .join('\n');
286
+ throw new Error(`Snapshot drift detected for scenario "${scenarioId}":\n${details}\n` +
287
+ `Re-record with --record to update.`);
288
+ }
289
+ let findings = snapshot.response.findings;
290
+ // Apply the same post-processing pipeline used in production:
291
+ // Stage 1: semantic validation (self-contradiction + PR intent suppression)
292
+ // Stage 2: diff-bound validation (line checking after normalization)
293
+ // Stage 3: framework-pattern-filter (deterministic framework convention matchers)
294
+ if (scenario) {
295
+ const diffFiles = parseDiffFiles(scenario.diff);
296
+ // Stage 1: semantic filtering — includes PR-intent contradiction suppression
297
+ const semanticResult = validateFindingsSemantics(findings, scenario.prDescription);
298
+ // Stage 2: line validation against diff ranges
299
+ const lineResolver = createBenchmarkLineResolver(diffFiles, scenario.diff);
300
+ const diffFilePaths = diffFiles.map((df) => df.path);
301
+ const validated = validateNormalizedFindings(semanticResult.validFindings, lineResolver, diffFilePaths);
302
+ // Stage 3: framework convention matchers
303
+ const frameworkFiltered = filterFrameworkConventionFindings(validated.validFindings, scenario.diff);
304
+ findings = getValidFindings(frameworkFiltered);
305
+ }
306
+ return findings;
307
+ }
308
+ /**
309
+ * Record a live LLM response as a snapshot for a given scenario.
310
+ */
311
+ export async function recordSnapshot(scenarioId, response, metadata, snapshotDir) {
312
+ await mkdir(snapshotDir, { recursive: true });
313
+ const snapshot = { metadata, response };
314
+ const filePath = join(snapshotDir, snapshotFileName(scenarioId));
315
+ await writeFile(filePath, JSON.stringify(snapshot, null, 2), 'utf-8');
316
+ }
317
+ /**
318
+ * Build snapshot metadata for a recorded scenario.
319
+ */
320
+ export function buildSnapshotMetadata(promptHash, fixtureHash, modelId = process.env['BENCHMARK_MODEL_ID'] ?? 'unknown', provider = process.env['BENCHMARK_PROVIDER'] ?? 'unknown') {
321
+ return {
322
+ recordedAt: new Date().toISOString(),
323
+ promptTemplateHash: promptHash,
324
+ modelId,
325
+ provider,
326
+ fixtureHash,
327
+ adapterVersion: SNAPSHOT_ADAPTER_VERSION,
328
+ };
329
+ }
330
+ // =============================================================================
331
+ // Live LLM Scenario Runner (for RECORD mode)
332
+ // =============================================================================
333
+ const PROMPT_PATH = join(import.meta.dirname, '../../../config/prompts/semantic_review.md');
334
+ /** Severity mapping from LLM response levels to Finding severity */
335
+ function mapLLMSeverity(severity) {
336
+ switch (severity) {
337
+ case 'critical':
338
+ case 'high':
339
+ case 'error':
340
+ return 'error';
341
+ case 'medium':
342
+ case 'warning':
343
+ return 'warning';
344
+ default:
345
+ return 'info';
346
+ }
347
+ }
348
+ /**
349
+ * Run a benchmark scenario against a live LLM and return the response.
350
+ * Requires either ANTHROPIC_API_KEY or OPENAI_API_KEY in the environment.
351
+ * Used exclusively by the benchmark:record command (RECORD=true).
352
+ */
353
+ export async function runLiveScenario(scenario) {
354
+ const diffFiles = parseDiffFiles(scenario.diff);
355
+ if (diffFiles.length === 0) {
356
+ return { findings: [], rawOutput: '{"findings":[],"summary":"No diff files"}' };
357
+ }
358
+ // Load the prompt template
359
+ let systemPrompt = 'You are a senior code reviewer. Analyze the diff for security vulnerabilities, logic errors, and code quality issues. Return JSON with findings array and summary string.';
360
+ if (existsSync(PROMPT_PATH)) {
361
+ try {
362
+ systemPrompt = await readFile(PROMPT_PATH, 'utf-8');
363
+ }
364
+ catch {
365
+ // fall back to default prompt
366
+ }
367
+ }
368
+ const fileSummary = diffFiles.map((f) => `- ${f.path}`).join('\n');
369
+ let userPrompt = `## Files Changed\n${fileSummary}\n`;
370
+ if (scenario.projectRules) {
371
+ userPrompt += `\n## Project Rules\n\n${scenario.projectRules}\n`;
372
+ }
373
+ if (scenario.prDescription) {
374
+ userPrompt += `\n## PR Description\n\n${scenario.prDescription}\n`;
375
+ }
376
+ userPrompt += `\n## Diff Content\n\`\`\`diff\n${scenario.diff}\n\`\`\`\n\nReturn JSON: {"findings": [...], "summary": "..."}`;
377
+ const anthropicKey = process.env['ANTHROPIC_API_KEY'];
378
+ const openaiKey = process.env['OPENAI_API_KEY'];
379
+ if (anthropicKey) {
380
+ return runLiveAnthropic(anthropicKey, systemPrompt, userPrompt);
381
+ }
382
+ else if (openaiKey) {
383
+ return runLiveOpenAI(openaiKey, systemPrompt, userPrompt);
384
+ }
385
+ else {
386
+ throw new Error('RECORD mode requires ANTHROPIC_API_KEY or OPENAI_API_KEY in the environment. ' +
387
+ 'Set one of these to record live LLM snapshots.');
388
+ }
389
+ }
390
+ async function runLiveAnthropic(apiKey, systemPrompt, userPrompt) {
391
+ const { default: Anthropic } = await import('@anthropic-ai/sdk');
392
+ const client = new Anthropic({ apiKey });
393
+ const model = process.env['BENCHMARK_MODEL_ID'] ?? 'claude-sonnet-4-20250514';
394
+ const response = await client.messages.create({
395
+ model,
396
+ max_tokens: 4096,
397
+ system: systemPrompt,
398
+ messages: [{ role: 'user', content: userPrompt }],
399
+ });
400
+ const textContent = response.content.find((c) => c.type === 'text');
401
+ const rawOutput = textContent && textContent.type === 'text' ? textContent.text : '';
402
+ return { findings: parseLLMFindings(rawOutput), rawOutput };
403
+ }
404
+ async function runLiveOpenAI(apiKey, systemPrompt, userPrompt) {
405
+ const { default: OpenAI } = await import('openai');
406
+ const client = new OpenAI({ apiKey });
407
+ const model = process.env['BENCHMARK_MODEL_ID'] ?? 'gpt-4o';
408
+ const response = await client.chat.completions.create({
409
+ model,
410
+ max_tokens: 4096,
411
+ messages: [
412
+ { role: 'system', content: systemPrompt },
413
+ { role: 'user', content: userPrompt },
414
+ ],
415
+ });
416
+ const rawOutput = response.choices[0]?.message?.content ?? '';
417
+ return { findings: parseLLMFindings(rawOutput), rawOutput };
418
+ }
419
+ /** Parse LLM JSON output into Finding[]. Tolerates code-fenced JSON. */
420
+ function parseLLMFindings(raw) {
421
+ try {
422
+ // Strip markdown code fences if present
423
+ const cleaned = raw.replace(/^```(?:json)?\s*/m, '').replace(/\s*```\s*$/m, '');
424
+ const parsed = JSON.parse(cleaned);
425
+ const findings = parsed.findings ?? [];
426
+ return findings.map((item) => {
427
+ const f = item;
428
+ return {
429
+ severity: mapLLMSeverity(String(f['severity'] ?? 'info')),
430
+ file: String(f['file'] ?? ''),
431
+ line: typeof f['line'] === 'number' ? f['line'] : undefined,
432
+ message: String(f['message'] ?? ''),
433
+ suggestion: typeof f['suggestion'] === 'string' ? f['suggestion'] : undefined,
434
+ ruleId: typeof f['category'] === 'string' ? `semantic/${f['category']}` : undefined,
435
+ sourceAgent: 'ai_semantic_review',
436
+ };
437
+ });
438
+ }
439
+ catch {
440
+ // If we can't parse, return empty — the raw output is still recorded
441
+ return [];
442
+ }
443
+ }
217
444
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/benchmark/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/benchmark/adapter.ts"],"names":[],"mappings":"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"}
@@ -15,8 +15,8 @@ export declare const PlatformSchema: z.ZodEnum<{
15
15
  * Schema for dependency check status.
16
16
  */
17
17
  export declare const DependencyStatusSchema: z.ZodEnum<{
18
- available: "available";
19
18
  missing: "missing";
19
+ available: "available";
20
20
  unhealthy: "unhealthy";
21
21
  "version-mismatch": "version-mismatch";
22
22
  }>;
@@ -26,8 +26,8 @@ export declare const DependencyStatusSchema: z.ZodEnum<{
26
26
  export declare const DependencyCheckResultSchema: z.ZodObject<{
27
27
  name: z.ZodString;
28
28
  status: z.ZodEnum<{
29
- available: "available";
30
29
  missing: "missing";
30
+ available: "available";
31
31
  unhealthy: "unhealthy";
32
32
  "version-mismatch": "version-mismatch";
33
33
  }>;
@@ -41,8 +41,8 @@ export declare const DependencyCheckSummarySchema: z.ZodObject<{
41
41
  results: z.ZodArray<z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  status: z.ZodEnum<{
44
- available: "available";
45
44
  missing: "missing";
45
+ available: "available";
46
46
  unhealthy: "unhealthy";
47
47
  "version-mismatch": "version-mismatch";
48
48
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAsCH,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC;AAuoBF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAIhF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA0Uf"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAsCH,OAAO,EAQL,KAAK,QAAQ,EACd,MAAM,mBAAmB,CAAC;AAO3B;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,KAAK,GAAG,IAAI,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAEhC,CAAC;AAuoBF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,QAAQ,CAIhF;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,kBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA2Uf"}
package/dist/main.js CHANGED
@@ -844,7 +844,7 @@ export async function runReview(options, deps = {}) {
844
844
  });
845
845
  // === PHASE 6: Process & Report Findings ===
846
846
  // (012-fix-agent-result-regressions) - Now passing completeFindings and partialFindings separately
847
- const { sorted, partialSorted } = processFindings(executeResult.completeFindings, executeResult.partialFindings, executeResult.allResults, executeResult.skippedAgents, diff.files);
847
+ const { sorted, partialSorted } = processFindings(executeResult.completeFindings, executeResult.partialFindings, executeResult.allResults, executeResult.skippedAgents, diff.files, agentContext.prDescription);
848
848
  const reportResult = await dispatchReport(platform, sorted, partialSorted, config, diff.files, routerEnv, prContext.number, {
849
849
  dryRun: options.dryRun,
850
850
  owner: options.owner,