@oddessentials/odd-ai-reviewers 1.7.4 → 1.9.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 (75) 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 +48 -0
  5. package/dist/agents/control_flow/safe-source-detector.d.ts.map +1 -0
  6. package/dist/agents/control_flow/safe-source-detector.js +434 -0
  7. package/dist/agents/control_flow/safe-source-detector.js.map +1 -0
  8. package/dist/agents/control_flow/safe-source-patterns.d.ts +61 -0
  9. package/dist/agents/control_flow/safe-source-patterns.d.ts.map +1 -0
  10. package/dist/agents/control_flow/safe-source-patterns.js +137 -0
  11. package/dist/agents/control_flow/safe-source-patterns.js.map +1 -0
  12. package/dist/agents/control_flow/scope-stack.d.ts +167 -0
  13. package/dist/agents/control_flow/scope-stack.d.ts.map +1 -0
  14. package/dist/agents/control_flow/scope-stack.js +448 -0
  15. package/dist/agents/control_flow/scope-stack.js.map +1 -0
  16. package/dist/agents/control_flow/vulnerability-detector.d.ts +13 -0
  17. package/dist/agents/control_flow/vulnerability-detector.d.ts.map +1 -1
  18. package/dist/agents/control_flow/vulnerability-detector.js +630 -35
  19. package/dist/agents/control_flow/vulnerability-detector.js.map +1 -1
  20. package/dist/agents/opencode.d.ts.map +1 -1
  21. package/dist/agents/opencode.js +7 -1
  22. package/dist/agents/opencode.js.map +1 -1
  23. package/dist/agents/pr_agent.d.ts.map +1 -1
  24. package/dist/agents/pr_agent.js +8 -2
  25. package/dist/agents/pr_agent.js.map +1 -1
  26. package/dist/agents/security.d.ts.map +1 -1
  27. package/dist/agents/security.js +1 -0
  28. package/dist/agents/security.js.map +1 -1
  29. package/dist/agents/types.d.ts +6 -0
  30. package/dist/agents/types.d.ts.map +1 -1
  31. package/dist/benchmark/adapter.d.ts +87 -0
  32. package/dist/benchmark/adapter.d.ts.map +1 -0
  33. package/dist/benchmark/adapter.js +298 -0
  34. package/dist/benchmark/adapter.js.map +1 -0
  35. package/dist/benchmark/scoring.d.ts +100 -0
  36. package/dist/benchmark/scoring.d.ts.map +1 -0
  37. package/dist/benchmark/scoring.js +195 -0
  38. package/dist/benchmark/scoring.js.map +1 -0
  39. package/dist/cli/dependencies/schemas.d.ts +3 -3
  40. package/dist/context-loader.d.ts +80 -0
  41. package/dist/context-loader.d.ts.map +1 -0
  42. package/dist/context-loader.js +202 -0
  43. package/dist/context-loader.js.map +1 -0
  44. package/dist/main.d.ts.map +1 -1
  45. package/dist/main.js +131 -4
  46. package/dist/main.js.map +1 -1
  47. package/dist/phases/index.d.ts +1 -1
  48. package/dist/phases/index.d.ts.map +1 -1
  49. package/dist/phases/index.js +1 -1
  50. package/dist/phases/index.js.map +1 -1
  51. package/dist/phases/report.d.ts +8 -1
  52. package/dist/phases/report.d.ts.map +1 -1
  53. package/dist/phases/report.js +52 -5
  54. package/dist/phases/report.js.map +1 -1
  55. package/dist/report/ado.d.ts +2 -0
  56. package/dist/report/ado.d.ts.map +1 -1
  57. package/dist/report/ado.js +9 -23
  58. package/dist/report/ado.js.map +1 -1
  59. package/dist/report/finding-validator.d.ts +130 -0
  60. package/dist/report/finding-validator.d.ts.map +1 -0
  61. package/dist/report/finding-validator.js +347 -0
  62. package/dist/report/finding-validator.js.map +1 -0
  63. package/dist/report/framework-pattern-filter.d.ts +53 -0
  64. package/dist/report/framework-pattern-filter.d.ts.map +1 -0
  65. package/dist/report/framework-pattern-filter.js +189 -0
  66. package/dist/report/framework-pattern-filter.js.map +1 -0
  67. package/dist/report/github.d.ts +2 -0
  68. package/dist/report/github.d.ts.map +1 -1
  69. package/dist/report/github.js +9 -23
  70. package/dist/report/github.js.map +1 -1
  71. package/dist/trust.d.ts +6 -0
  72. package/dist/trust.d.ts.map +1 -1
  73. package/dist/trust.js +2 -0
  74. package/dist/trust.js.map +1 -1
  75. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAwB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,WAAW,EACX,WAAW,GAKZ,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/phases/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAwB,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EACL,gBAAgB,GAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,4BAA4B,EAC5B,WAAW,EACX,WAAW,GAKZ,MAAM,aAAa,CAAC"}
@@ -12,6 +12,8 @@ export type Platform = 'github' | 'ado' | 'unknown';
12
12
  export interface DispatchReportResult {
13
13
  /** Whether the check run was completed during reporting (always false for ADO) */
14
14
  checkRunCompleted: boolean;
15
+ /** Post-normalization validated findings for gating (after Stage 2 validation in reporters) */
16
+ postNormalizationFindings?: Finding[];
15
17
  }
16
18
  export interface ReportOptions {
17
19
  dryRun?: boolean;
@@ -35,7 +37,7 @@ export interface ProcessedFindings {
35
37
  * (012-fix-agent-result-regressions) - Updated to handle completeFindings and partialFindings
36
38
  * separately. Partial findings are rendered in a dedicated section but NOT used for gating.
37
39
  */
38
- export declare function processFindings(completeFindings: Finding[], partialFindings: Finding[], allResults: AgentResult[], skippedAgents: SkippedAgent[]): ProcessedFindings;
40
+ export declare function processFindings(completeFindings: Finding[], partialFindings: Finding[], allResults: AgentResult[], skippedAgents: SkippedAgent[], diffFiles?: DiffFile[], prDescription?: string): ProcessedFindings;
39
41
  /**
40
42
  * Dispatch report to the appropriate platform.
41
43
  *
@@ -44,6 +46,11 @@ export declare function processFindings(completeFindings: Finding[], partialFind
44
46
  * that makes clear they're from failed agents and don't affect gating.
45
47
  */
46
48
  export declare function dispatchReport(platform: Platform, findings: Finding[], partialFindings: Finding[], config: Config, diffFiles: DiffFile[], routerEnv: Record<string, string | undefined>, prNumber: number, options: ReportOptions): Promise<DispatchReportResult | undefined>;
49
+ /**
50
+ * Apply Stage 2 normalization and diff-bound validation outside hosted reporters.
51
+ * This keeps dry-run and unknown-platform gating aligned with GitHub/ADO behavior.
52
+ */
53
+ export declare function getPostNormalizationFindings(findings: Finding[], diffFiles: DiffFile[]): Finding[];
47
54
  /**
48
55
  * Error thrown when gating detects blocking findings.
49
56
  * Distinct from FatalExecutionError to allow callers to handle gating
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAU3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,YAAY,EAAE,GAC5B,iBAAiB,CAiEnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CA2E3C;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAIL,KAAK,OAAO,EACZ,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAkB3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,iBAAiB,EAAE,OAAO,CAAC;IAC3B,+FAA+F;IAC/F,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,OAAO,EAAE,CAAC;IAClB,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB;AAuBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,gBAAgB,EAAE,OAAO,EAAE,EAC3B,eAAe,EAAE,OAAO,EAAE,EAC1B,UAAU,EAAE,WAAW,EAAE,EACzB,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,GAAE,QAAQ,EAAO,EAC1B,aAAa,CAAC,EAAE,MAAM,GACrB,iBAAiB,CAwFnB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAiF3C;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,EAAE,CAEX;AAED;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,IAAI,CAgB7E"}
@@ -10,18 +10,49 @@ import { reportToGitHub } from '../report/github.js';
10
10
  import { reportToADO } from '../report/ado.js';
11
11
  import { deduplicateFindings, deduplicatePartialFindings, sortFindings, generateFullSummaryMarkdown, } from '../report/formats.js';
12
12
  import { sanitizeFindings } from '../report/sanitize.js';
13
+ import { validateFindingsSemantics, normalizeAndValidateFindings, } from '../report/finding-validator.js';
14
+ import { filterFrameworkConventionFindings, getValidFindings, } from '../report/framework-pattern-filter.js';
15
+ function buildFrameworkFilterDiffContent(diffFiles) {
16
+ return diffFiles
17
+ .flatMap((diffFile) => {
18
+ if (!diffFile.patch) {
19
+ return [];
20
+ }
21
+ const oldPath = diffFile.oldPath ?? diffFile.path;
22
+ const fromPath = diffFile.status === 'added' ? '/dev/null' : `a/${oldPath}`;
23
+ const toPath = diffFile.status === 'deleted' ? '/dev/null' : `b/${diffFile.path}`;
24
+ const beforeHeader = diffFile.status === 'added' ? '--- /dev/null' : `--- a/${oldPath}`;
25
+ const afterHeader = diffFile.status === 'deleted' ? '+++ /dev/null' : `+++ b/${diffFile.path}`;
26
+ return [`diff --git ${fromPath} ${toPath}`, beforeHeader, afterHeader, diffFile.patch].join('\n');
27
+ })
28
+ .join('\n');
29
+ }
13
30
  /**
14
31
  * Process findings: deduplicate, sanitize, sort, and generate summary.
15
32
  *
16
33
  * (012-fix-agent-result-regressions) - Updated to handle completeFindings and partialFindings
17
34
  * separately. Partial findings are rendered in a dedicated section but NOT used for gating.
18
35
  */
19
- export function processFindings(completeFindings, partialFindings, allResults, skippedAgents) {
36
+ export function processFindings(completeFindings, partialFindings, allResults, skippedAgents, diffFiles = [], prDescription) {
20
37
  // Process complete findings (from successful agents)
21
38
  const deduplicated = deduplicateFindings(completeFindings);
22
39
  // Sanitize findings before sorting/posting (defense-in-depth)
23
40
  const sanitized = sanitizeFindings(deduplicated);
24
- const sorted = sortFindings(sanitized);
41
+ // Stage 1 (semantic-only): Filter self-contradictions, classify findings.
42
+ // NO line/path validation here — deferred to Stage 2 in platform reporters
43
+ // after normalizeFindingsForDiff() has remapped renamed paths and snapped stale lines.
44
+ const validationResult = validateFindingsSemantics(sanitized, prDescription);
45
+ const validated = validationResult.validFindings;
46
+ // Stage 1.5: Framework convention filter (FR-013, default-deny closed matcher table).
47
+ // Suppresses known false positives from framework patterns (Express error middleware,
48
+ // TypeScript _prefix convention, exhaustive switch with assertNever).
49
+ const diffContent = buildFrameworkFilterDiffContent(diffFiles);
50
+ const frameworkResult = filterFrameworkConventionFindings(validated, diffContent);
51
+ const frameworkFiltered = getValidFindings(frameworkResult);
52
+ if (frameworkResult.suppressed > 0) {
53
+ console.log(`[router] [framework-filter] Suppressed ${frameworkResult.suppressed} framework convention finding(s)`);
54
+ }
55
+ const sorted = sortFindings(frameworkFiltered);
25
56
  // Process partial findings (from failed agents) separately
26
57
  // FR-010: Partial dedup uses sourceAgent in key to preserve cross-agent findings
27
58
  // FR-011: No cross-collection deduplication - partial findings stay separate
@@ -53,7 +84,10 @@ export function processFindings(completeFindings, partialFindings, allResults, s
53
84
  return assertNever(r);
54
85
  });
55
86
  const summary = generateFullSummaryMarkdown(sorted, partialSorted, resultsForSummary, skippedAgents);
56
- console.log(`[router] Complete findings: ${sorted.length} (deduplicated from ${completeFindings.length})`);
87
+ // NOTE: These counts are pre-normalization (Stage 1 only). Platform reporters apply
88
+ // Stage 2 (diff-bound validation) which may further filter findings. The reporter-generated
89
+ // summaries in check runs / PR comments use post-Stage-2 counts and are the source of truth.
90
+ console.log(`[router] Complete findings (pre-normalization): ${sorted.length} (deduplicated from ${completeFindings.length})`);
57
91
  if (partialFindings.length > 0) {
58
92
  console.log(`[router] Partial findings: ${partialSorted.length} (deduplicated from ${partialFindings.length})`);
59
93
  }
@@ -99,7 +133,10 @@ export async function dispatchReport(platform, findings, partialFindings, config
99
133
  else {
100
134
  console.error('[router] Failed to report to GitHub:', reportResult.error);
101
135
  }
102
- return { checkRunCompleted: reportResult.checkRunCompleted ?? false };
136
+ return {
137
+ checkRunCompleted: reportResult.checkRunCompleted ?? false,
138
+ postNormalizationFindings: reportResult.postNormalizationFindings,
139
+ };
103
140
  }
104
141
  else if (platform === 'ado') {
105
142
  // Extract ADO context from environment
@@ -131,9 +168,19 @@ export async function dispatchReport(platform, findings, partialFindings, config
131
168
  else {
132
169
  console.error('[router] Failed to report to Azure DevOps:', reportResult.error);
133
170
  }
134
- return { checkRunCompleted: false };
171
+ return {
172
+ checkRunCompleted: false,
173
+ postNormalizationFindings: reportResult.postNormalizationFindings,
174
+ };
135
175
  }
136
176
  }
177
+ /**
178
+ * Apply Stage 2 normalization and diff-bound validation outside hosted reporters.
179
+ * This keeps dry-run and unknown-platform gating aligned with GitHub/ADO behavior.
180
+ */
181
+ export function getPostNormalizationFindings(findings, diffFiles) {
182
+ return normalizeAndValidateFindings(findings, diffFiles, 'router').validatedFindings;
183
+ }
137
184
  /**
138
185
  * Error thrown when gating detects blocking findings.
139
186
  * Distinct from FatalExecutionError to allow callers to handle gating
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/phases/report.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,8 @@ export interface ReportResult {
36
36
  invalidLineDetails?: InvalidLineDetail[];
37
37
  /** Whether inline comments were suppressed by drift gate */
38
38
  inlineCommentsGated?: boolean;
39
+ /** Post-normalization validated findings for gating (after Stage 2) */
40
+ postNormalizationFindings?: Finding[];
39
41
  }
40
42
  /**
41
43
  * Start a commit status in 'pending' state
@@ -1 +1 @@
1
- {"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/report/ado.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuB3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAS3C,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC3E;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CA8FvB"}
1
+ {"version":3,"file":"ado.d.ts","sourceRoot":"","sources":["../../src/report/ado.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAuB3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQ3C,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EAEvB,MAAM,oBAAoB,CAAC;AAG5B,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,sBAAsB;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACzC,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,uEAAuE;IACvE,yBAAyB,CAAC,EAAE,OAAO,EAAE,CAAC;CACvC;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAgC3E;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,OAAO,EAAE,EACnB,eAAe,EAAE,OAAO,EAAE,EAC1B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,QAAQ,EAAE,GACpB,OAAO,CAAC,YAAY,CAAC,CA0EvB"}
@@ -5,9 +5,9 @@
5
5
  */
6
6
  import { deduplicateFindings, sortFindings, generateSummaryMarkdown, renderPartialFindingsSection, countBySeverity, extractFingerprintMarkers, getDedupeKey, buildProximityMap, isDuplicateByProximity, identifyStaleComments, updateProximityMap, } from './formats.js';
7
7
  import { buildCommentToMarkersMap, shouldResolveComment, getPartiallyResolvedMarkers, hasMalformedMarkers, applyPartialResolutionVisual, emitResolutionLog, emitMalformedMarkerWarning, } from './resolution.js';
8
- import { canonicalizeDiffFiles } from '../diff.js';
9
8
  import { delay, INLINE_COMMENT_DELAY_MS, formatInlineComment, formatGroupedInlineComment, groupAdjacentFindings, } from './base.js';
10
- import { buildLineResolver, normalizeFindingsForDiff, computeDriftSignal, computeInlineDriftSignal, generateDriftMarkdown, shouldSuppressInlineComments, } from './line-resolver.js';
9
+ import { generateDriftMarkdown, shouldSuppressInlineComments, } from './line-resolver.js';
10
+ import { normalizeAndValidateFindings } from './finding-validator.js';
11
11
  /**
12
12
  * Start a commit status in 'pending' state
13
13
  * Call this at the beginning of the review to show users the review is running
@@ -52,23 +52,10 @@ export async function reportToADO(findings, partialFindings, context, config, di
52
52
  summary: true,
53
53
  thread_status: 'active',
54
54
  };
55
- // CANONICAL ENTRYPOINT: Ensure all diff paths are normalized FIRST
56
- // This must happen before buildLineResolver, deleted set, or rename maps
57
- const canonicalFiles = canonicalizeDiffFiles(diffFiles);
58
- // Build line resolver and normalize findings from canonical files
59
- const lineResolver = buildLineResolver(canonicalFiles);
60
- const normalizationResult = normalizeFindingsForDiff(findings, lineResolver);
61
- if (normalizationResult.stats.dropped > 0 || normalizationResult.stats.normalized > 0) {
62
- console.log(`[ado] Line validation: ${normalizationResult.stats.valid} valid, ` +
63
- `${normalizationResult.stats.normalized} normalized, ${normalizationResult.stats.dropped} dropped`);
64
- }
65
- // Compute drift signal for visibility in PR thread summary
66
- const driftSignal = computeDriftSignal(normalizationResult.stats, normalizationResult.invalidDetails);
67
- // Compute inline-specific drift signal for gate decisions.
68
- // Uses only line-bearing findings as denominator to avoid dilution by file-level findings.
69
- const inlineDriftSignal = computeInlineDriftSignal(normalizationResult.stats, normalizationResult.invalidDetails);
70
- // Process normalized findings
71
- const deduplicated = deduplicateFindings(normalizationResult.findings);
55
+ // Normalize findings against diff and run Stage 2 validation
56
+ const { validatedFindings, canonicalFiles, driftSignal, inlineDriftSignal, normalizationStats, invalidDetails, } = normalizeAndValidateFindings(findings, diffFiles, 'ado');
57
+ // Process validated findings
58
+ const deduplicated = deduplicateFindings(validatedFindings);
72
59
  const sorted = sortFindings(deduplicated);
73
60
  const counts = countBySeverity(sorted);
74
61
  try {
@@ -93,11 +80,10 @@ export async function reportToADO(findings, partialFindings, context, config, di
93
80
  statusId,
94
81
  threadId,
95
82
  skippedDuplicates,
96
- validationStats: normalizationResult.stats,
97
- invalidLineDetails: normalizationResult.invalidDetails.length > 0
98
- ? normalizationResult.invalidDetails
99
- : undefined,
83
+ validationStats: normalizationStats,
84
+ invalidLineDetails: invalidDetails.length > 0 ? invalidDetails : undefined,
100
85
  inlineCommentsGated: shouldSuppressInlineComments(inlineDriftSignal, config.gating.drift_gate),
86
+ postNormalizationFindings: sorted,
101
87
  };
102
88
  }
103
89
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/report/ado.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,4BAA4B,EAC5B,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EACL,KAAK,EACL,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,4BAA4B,GAI7B,MAAM,oBAAoB,CAAC;AAkC5B;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAmB;IACxD,MAAM,OAAO,GAAG,yBAAyB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,2BAA2B,OAAO,CAAC,YAAY,EAAE,CAAC;IAElI,MAAM,aAAa,GAAG;QACpB,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,+BAA+B;QAC5C,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,wBAAwB;SAChC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,OAAO,YAAY,OAAO,CAAC,eAAe,2BAA2B,EACxE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;KACpC,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAmB,EACnB,eAA0B,EAC1B,OAAmB,EACnB,MAAc,EACd,SAAqB;IAErB,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,IAAI;QAC9C,IAAI,EAAE,oBAAoB;QAC1B,mBAAmB,EAAE,EAAE;QACvB,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,QAAQ;KACxB,CAAC;IAEF,mEAAmE;IACnE,yEAAyE;IACzE,MAAM,cAAc,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IAExD,kEAAkE;IAClE,MAAM,YAAY,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACvD,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAE7E,IAAI,mBAAmB,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;QACtF,OAAO,CAAC,GAAG,CACT,0BAA0B,mBAAmB,CAAC,KAAK,CAAC,KAAK,UAAU;YACjE,GAAG,mBAAmB,CAAC,KAAK,CAAC,UAAU,gBAAgB,mBAAmB,CAAC,KAAK,CAAC,OAAO,UAAU,CACrG,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,MAAM,WAAW,GAAG,kBAAkB,CACpC,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,cAAc,CACnC,CAAC;IAEF,2DAA2D;IAC3D,2FAA2F;IAC3F,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,mBAAmB,CAAC,KAAK,EACzB,mBAAmB,CAAC,cAAc,CACnC,CAAC;IAEF,8BAA8B;IAC9B,MAAM,YAAY,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAEvC,IAAI,CAAC;QACH,IAAI,QAA4B,CAAC;QACjC,IAAI,QAA4B,CAAC;QACjC,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAE1B,yCAAyC;QACzC,IAAI,eAAe,CAAC,IAAI,KAAK,aAAa,IAAI,eAAe,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC5F,QAAQ,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtE,CAAC;QAED,6BAA6B;QAC7B,IAAI,eAAe,CAAC,IAAI,KAAK,cAAc,IAAI,eAAe,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC7F,4EAA4E;YAC5E,8EAA8E;YAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACxE,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAChC,OAAO,EACP,MAAM,EACN,eAAe,EACf,eAAe,CAAC,mBAAmB,EACnC,eAAe,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACnD,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,MAAM,CACP,CAAC;YACF,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QAC/C,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,QAAQ;YACR,QAAQ;YACR,iBAAiB;YACjB,eAAe,EAAE,mBAAmB,CAAC,KAAK;YAC1C,kBAAkB,EAChB,mBAAmB,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;gBAC3C,CAAC,CAAC,mBAAmB,CAAC,cAAc;gBACpC,CAAC,CAAC,SAAS;YACf,mBAAmB,EAAE,4BAA4B,CAC/C,iBAAiB,EACjB,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;SAChE,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,OAAmB,EACnB,QAAmB,EACnB,MAAgC,EAChC,MAAc;IAEd,yCAAyC;IACzC,IAAI,KAAK,GAAiD,WAAW,CAAC;IAEtE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACnE,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS;YAC5C,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EACxC,CAAC;YACD,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;aAAM,IACL,MAAM,CAAC,MAAM,CAAC,gBAAgB,KAAK,MAAM;YACzC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,EAC3D,CAAC;YACD,KAAK,GAAG,QAAQ,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,yBAAyB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,2BAA2B,OAAO,CAAC,YAAY,EAAE,CAAC;IAElI,MAAM,aAAa,GAAG;QACpB,KAAK;QACL,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,YAAY,MAAM,CAAC,OAAO,cAAc,MAAM,CAAC,IAAI,OAAO;QACtF,OAAO,EAAE;YACP,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,wBAAwB;SAChC;KACF,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,OAAO,YAAY,OAAO,CAAC,eAAe,2BAA2B,EACxE;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;SACzC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;KACpC,CACF,CAAC;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,CAAC,EAAE,gBAAgB,KAAK,EAAE,CAAC,CAAC;IAC3E,OAAO,IAAI,CAAC,EAAE,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,aAAa,CAC1B,OAAmB,EACnB,QAAmB,EACnB,eAA0B,EAC1B,iBAAyB,EACzB,YAAoB,EACpB,eAA4B,IAAI,GAAG,EAAU,EAC7C,WAAyB,EACzB,iBAA+B,EAC/B,MAAe;IAEf,MAAM,OAAO,GAAG,yBAAyB,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,OAAO,2BAA2B,OAAO,CAAC,YAAY,iBAAiB,OAAO,CAAC,aAAa,EAAE,CAAC;IAExK,kEAAkE;IAClE,wEAAwE;IACxE,MAAM,WAAW,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,4BAA4B,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,MAAM,YAAY,GAAG,4BAA4B,CAC/C,iBAAiB,IAAI,WAAW,EAChC,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,KAAK,CACpC,CAAC;IACF,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,0FAA0F;YAC1F,iFAAiF;QACnF,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,WAAW,GAAG,cAAc,GAAG,aAAa,GAAG,UAAU,CAAC;IAE1E,yCAAyC;IACzC,MAAM,uBAAuB,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;QAChF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE,EAAE;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,uBAAuB,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,mBAAmB,GAAG,CAAC,MAAM,uBAAuB,CAAC,IAAI,EAAE,CAMhE,CAAC;IAEF,+EAA+E;IAC/E,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAClD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,8CAA8C,CAAC;QAC/D,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAC,CAC1E,CAAC;IAEF,IAAI,QAAgB,CAAC;IAErB,IAAI,aAAa,EAAE,CAAC;QAClB,iCAAiC;QACjC,MAAM,aAAa,GAAG;YACpB,QAAQ,EAAE;gBACR;oBACE,EAAE,EAAE,CAAC;oBACL,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,CAAC;iBACf;aACF;YACD,MAAM,EAAE,YAAY;SACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,aAAa,CAAC,EAAE,kBAAkB,EAAE;YACrF,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,QAAQ,GAAG,aAAa,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,MAAM,aAAa,GAAG;YACpB,QAAQ,EAAE;gBACR;oBACE,OAAO,EAAE,OAAO;oBAChB,WAAW,EAAE,CAAC;iBACf;aACF;YACD,MAAM,EAAE,YAAY;SACrB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;YACjE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;aACzC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;SACpC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;QACtF,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAmB,CAAC;QACvD,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,iBAAiB,IAAI,WAAW,CAAC;IACpD,IAAI,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;QAClF,OAAO,CAAC,GAAG,CACT,uDAAuD;YACrD,iBAAiB,UAAU,EAAE,kBAAkB,IAAI,CACtD,CAAC;QACF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,kFAAkF;IAClF,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,mBAAmB,CAAC,KAAK,EAAE,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,yBAAyB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC3D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAChC,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAS,kBAAkB,CAAC,CAAC;IACnE,MAAM,YAAY,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IAE3D,sCAAsC;IACtC,oFAAoF;IACpF,MAAM,cAAc,GAAG,QAAQ;SAC5B,MAAM,CACL,CAAC,CAAC,EAAmC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1F;SACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,4CAA4C;QAC5C,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEL,sEAAsE;IACtE,MAAM,eAAe,GAAG,qBAAqB,CAAC,cAAc,CAAC,CAAC;IAE9D,IAAI,iBAAiB,GAAG,CAAC,CAAC;IAC1B,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC7C,IAAI,WAAW,IAAI,iBAAiB;YAAE,MAAM;QAE5C,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAE1F,kFAAkF;QAClF,+BAA+B;QAC/B,iEAAiE;QACjE,iEAAiE;QACjE,MAAM,aAAa,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAChD,sBAAsB,CAAC,CAAC,EAAE,sBAAsB,EAAE,YAAY,CAAC,CAChE,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,iBAAiB,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,kFAAkF;QAClF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CACxC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAsB,CAAC,CAAC,EAAE,sBAAsB,EAAE,YAAY,CAAC,CACxE,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,SAAS;QAEvB,MAAM,IAAI,GACR,WAAW,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC;YACzC,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CAAC,6CAA6C,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG;gBACpB,QAAQ,EAAE;oBACR;wBACE,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,CAAC;qBACf;iBACF;gBACD,MAAM,EAAE,YAAY;gBACpB,aAAa;aACd,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,0BAA0B,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;iBACzC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO,CAAC,IAAI,CAAC,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACxE,SAAS;YACX,CAAC;YAED,WAAW,EAAE,CAAC;YAEd,KAAK,MAAM,YAAY,IAAI,eAAe,EAAE,CAAC;gBAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;gBACvC,sBAAsB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAEhC,sDAAsD;gBACtD,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YACjD,CAAC;YAED,sBAAsB;YACtB,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,gFAAgF;IAChF,MAAM,SAAS,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAEvC,4DAA4D;IAC5D,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,mBAAmB,CAAC,CAAC;IAExE,2EAA2E;IAC3E,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAE/B,yDAAyD;IACzD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,iBAAiB,IAAI,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC;YAAE,SAAS;QAE9E,kBAAkB,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAE1C,kCAAkC;QAClC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;QAE1E,qFAAqF;QACrF,IAAI,mBAAmB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC5C,0BAA0B,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QACvD,CAAC;QAED,iEAAiE;QACjE,MAAM,aAAa,GAAG,oBAAoB,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAE5E,uDAAuD;QACvD,MAAM,iBAAiB,GAAG,2BAA2B,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QAEvF,wFAAwF;QACxF,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC;QACxF,iBAAiB,CACf,KAAK,EACL,iBAAiB,EACjB,kBAAkB,CAAC,MAAM,EACzB,UAAU,EACV,aAAa,CACd,CAAC;QAEF,IAAI,CAAC;YACH,uDAAuD;YACvD,sFAAsF;YACtF,mFAAmF;YACnF,iFAAiF;YACjF,MAAM,cAAc,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,iBAAiB,CAAC,CAAC;YACzF,MAAM,eAAe,GAAG,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,EAAE,CAAC;YAEnE,2CAA2C;YAC3C,IAAI,eAAe,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,iBAAiB,kBAAkB,EAAE;oBACtF,MAAM,EAAE,OAAO;oBACf,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;qBACzC;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa;iBACnD,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,aAAa,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;iBAAM,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;gBAC3D,wEAAwE;gBACxE,MAAM,cAAc,GAAG,4BAA4B,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;gBAExF,8CAA8C;gBAC9C,IAAI,cAAc,KAAK,eAAe,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,YAAY,iBAAiB,kBAAkB,EAAE;wBACtF,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE;4BACP,cAAc,EAAE,kBAAkB;4BAClC,aAAa,EAAE,UAAU,OAAO,CAAC,KAAK,EAAE;yBACzC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;yBAC/C,CAAC;qBACH,CAAC,CAAC;oBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;wBAChB,sBAAsB,EAAE,CAAC;oBAC3B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,iBAAiB,KAAK,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CACT,gBAAgB,WAAW,6BAA6B,iBAAiB,yBAAyB,aAAa,aAAa,sBAAsB,qBAAqB,CACxK,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,kBAAkB,CAAC,OAAgB;IAK1C,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAE/B,OAAO;QACL,kEAAkE;QAClE,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE;QAC1E,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;QACjD,YAAY,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE;KACnE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ado.js","sourceRoot":"","sources":["../../src/report/ado.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ /**
2
+ * Finding Validator Module
3
+ *
4
+ * Post-processing validation for findings before they are posted to platforms.
5
+ * Implements FR-011 (line validation), FR-012 (classification), FR-013 (self-contradiction),
6
+ * and FR-014 (validation summary).
7
+ */
8
+ import type { Finding } from '../agents/types.js';
9
+ import type { DiffFile } from '../diff.js';
10
+ import { type ValidationStats, type InvalidLineDetail, type DriftSignal } from './line-resolver.js';
11
+ export type FindingClassification = 'inline' | 'file-level' | 'global' | 'cross-file';
12
+ export interface FindingValidationResult {
13
+ finding: Finding;
14
+ classification: FindingClassification;
15
+ valid: boolean;
16
+ filterReason?: string;
17
+ filterType?: 'invalid_line' | 'self_contradicting';
18
+ }
19
+ export interface FindingValidationSummary {
20
+ validFindings: Finding[];
21
+ filtered: FindingValidationResult[];
22
+ stats: {
23
+ total: number;
24
+ valid: number;
25
+ filteredByLine: number;
26
+ filteredBySelfContradiction: number;
27
+ byClassification: Record<FindingClassification, number>;
28
+ };
29
+ }
30
+ /**
31
+ * Interface for validating line numbers against diff content.
32
+ * Compatible with the LineResolver from line-resolver.ts but simplified
33
+ * to the minimal interface needed for finding validation.
34
+ */
35
+ interface FindingLineResolver {
36
+ validateLine(file: string, line: number | undefined, options?: {
37
+ suggestNearest?: boolean;
38
+ }): {
39
+ valid: boolean;
40
+ };
41
+ }
42
+ /**
43
+ * Patterns that indicate a finding is self-dismissing.
44
+ * When combined with info severity and no actionable suggestion,
45
+ * the finding is likely a false positive.
46
+ */
47
+ /**
48
+ * Strip zero-width and invisible Unicode characters that can bypass word-boundary regex matching.
49
+ * Only strips invisible characters — visible non-Latin characters are preserved.
50
+ *
51
+ * Characters stripped: U+200B (ZWSP), U+200C (ZWNJ), U+200D (ZWJ), U+200E (LRM),
52
+ * U+200F (RLM), U+2028 (Line Sep), U+2029 (Para Sep), U+FEFF (BOM/ZWNBS)
53
+ */
54
+ export declare function normalizeUnicode(text: string): string;
55
+ /**
56
+ * FR-014: Diagnostic PR intent contradiction logging.
57
+ *
58
+ * Extracts action signals from PR title/description and logs warnings when
59
+ * finding messages appear to contradict the stated PR intent.
60
+ * DIAGNOSTIC ONLY — no suppression, no filtering, no modification of findings.
61
+ *
62
+ * @param findings - Array of findings to check against PR intent
63
+ * @param prDescription - Combined PR title and description text
64
+ */
65
+ export declare function logPRIntentContradictions(findings: Finding[], prDescription: string): void;
66
+ /**
67
+ * Stage 1: Semantic-only validation (no lineResolver needed).
68
+ *
69
+ * Performs ONLY normalization-independent checks:
70
+ * - Classification (inline / file-level / global / cross-file)
71
+ * - Self-contradiction detection (info severity + dismissive language + no suggestion)
72
+ * - PR intent contradiction logging (FR-014, diagnostic only)
73
+ * - NO line validation, NO path validation against diff
74
+ *
75
+ * Used in processFindings() BEFORE platform reporters run normalizeFindingsForDiff().
76
+ * This ensures renamed-file and stale-line findings survive to be salvaged by normalization.
77
+ *
78
+ * @param findings - Array of findings to validate
79
+ * @param prDescription - Optional PR title/description for intent contradiction logging
80
+ * @returns Validation summary with valid findings, filtered findings, and stats
81
+ */
82
+ export declare function validateFindingsSemantics(findings: Finding[], prDescription?: string): FindingValidationSummary;
83
+ /**
84
+ * Stage 2: Diff-bound validation (for use AFTER normalizeFindingsForDiff()).
85
+ *
86
+ * Performs line validation against normalized diff positions and path validation.
87
+ * Runs only after normalization has had a chance to remap renamed paths and snap stale lines.
88
+ *
89
+ * @param findings - Array of findings (already normalized by normalizeFindingsForDiff)
90
+ * @param lineResolver - Resolver for validating line numbers against diff
91
+ * @param diffFiles - Array of file paths present in the diff
92
+ * @returns Validation summary with valid findings, filtered findings, and stats
93
+ */
94
+ export declare function validateNormalizedFindings(findings: Finding[], lineResolver: FindingLineResolver, diffFiles?: string[]): FindingValidationSummary;
95
+ /**
96
+ * Full normalization + validation pipeline shared by platform reporters.
97
+ *
98
+ * Canonicalizes diff files, normalizes findings against the diff, runs Stage 2
99
+ * validation, and computes drift signals. Both github.ts and ado.ts delegate
100
+ * to this function to avoid duplicating the pipeline.
101
+ */
102
+ export interface NormalizationPipelineResult {
103
+ validatedFindings: Finding[];
104
+ canonicalFiles: DiffFile[];
105
+ driftSignal: DriftSignal;
106
+ inlineDriftSignal: DriftSignal;
107
+ normalizationStats: ValidationStats;
108
+ invalidDetails: InvalidLineDetail[];
109
+ }
110
+ export declare function normalizeAndValidateFindings(findings: Finding[], diffFiles: DiffFile[], platform: string): NormalizationPipelineResult;
111
+ /**
112
+ * Validate and classify findings, filtering out invalid lines and self-contradicting findings.
113
+ *
114
+ * Three-pass validation:
115
+ * 1. Classify each finding (inline, file-level, global, cross-file)
116
+ * 2. Validate line numbers for inline findings
117
+ * 3. Detect self-contradicting findings (info + dismissive + no suggestion)
118
+ *
119
+ * @deprecated Use validateFindingsSemantics() in processFindings and
120
+ * validateNormalizedFindings() in platform reporters after normalization.
121
+ * Kept for backward compatibility (benchmark adapter).
122
+ *
123
+ * @param findings - Array of findings to validate
124
+ * @param lineResolver - Resolver for validating line numbers against diff
125
+ * @param diffFiles - Array of file paths present in the diff
126
+ * @returns Validation summary with valid findings, filtered findings, and stats
127
+ */
128
+ export declare function validateFindings(findings: Finding[], lineResolver: FindingLineResolver, diffFiles?: string[]): FindingValidationSummary;
129
+ export {};
130
+ //# sourceMappingURL=finding-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finding-validator.d.ts","sourceRoot":"","sources":["../../src/report/finding-validator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,qBAAqB,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,YAAY,CAAC;AAEtF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,qBAAqB,CAAC;IACtC,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAAC;CACpD;AAED,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,KAAK,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,2BAA2B,EAAE,MAAM,CAAC;QACpC,gBAAgB,EAAE,MAAM,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;KACzD,CAAC;CACH;AAED;;;;GAIG;AACH,UAAU,mBAAmB;IAC3B,YAAY,CACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACrC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACvB;AAED;;;;GAIG;AACH;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AA0CD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAoC1F;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EAAE,EACnB,aAAa,CAAC,EAAE,MAAM,GACrB,wBAAwB,CAsF1B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,mBAAmB,EACjC,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,wBAAwB,CAmG1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,OAAO,EAAE,CAAC;IAC7B,cAAc,EAAE,QAAQ,EAAE,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,WAAW,CAAC;IAC/B,kBAAkB,EAAE,eAAe,CAAC;IACpC,cAAc,EAAE,iBAAiB,EAAE,CAAC;CACrC;AAED,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,QAAQ,EAAE,EACrB,QAAQ,EAAE,MAAM,GACf,2BAA2B,CA6C7B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,OAAO,EAAE,EACnB,YAAY,EAAE,mBAAmB,EACjC,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,wBAAwB,CAE1B"}