@mirnoorata/codexa 0.4.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +5 -2
  2. package/dist/cli.js +8 -3
  3. package/dist/cli.js.map +1 -1
  4. package/dist/indexer/external-facts.d.ts +2 -1
  5. package/dist/indexer/external-facts.js +16 -0
  6. package/dist/indexer/external-facts.js.map +1 -1
  7. package/dist/indexer/freshness.d.ts +6 -1
  8. package/dist/indexer/freshness.js +13 -3
  9. package/dist/indexer/freshness.js.map +1 -1
  10. package/dist/indexer.js +46 -15
  11. package/dist/indexer.js.map +1 -1
  12. package/dist/mcp/compaction.js +5 -0
  13. package/dist/mcp/compaction.js.map +1 -1
  14. package/dist/mcp-repo-root.js +79 -16
  15. package/dist/mcp-repo-root.js.map +1 -1
  16. package/dist/query/change-plan.js +11 -0
  17. package/dist/query/change-plan.js.map +1 -1
  18. package/dist/query/complexity.d.ts +27 -0
  19. package/dist/query/complexity.js +226 -0
  20. package/dist/query/complexity.js.map +1 -0
  21. package/dist/query/post-edit/decision.js +17 -6
  22. package/dist/query/post-edit/decision.js.map +1 -1
  23. package/dist/query/post-edit.js +12 -0
  24. package/dist/query/post-edit.js.map +1 -1
  25. package/dist/risk-ingest.d.ts +2 -2
  26. package/dist/risk-ingest.js +152 -63
  27. package/dist/risk-ingest.js.map +1 -1
  28. package/dist/scip-import.d.ts +3 -0
  29. package/dist/scip-import.js +569 -0
  30. package/dist/scip-import.js.map +1 -0
  31. package/dist/static-analysis.d.ts +2 -1
  32. package/dist/static-analysis.js +353 -37
  33. package/dist/static-analysis.js.map +1 -1
  34. package/dist/symbol-report-ingest.d.ts +10 -1
  35. package/dist/symbol-report-ingest.js +256 -23
  36. package/dist/symbol-report-ingest.js.map +1 -1
  37. package/dist/types.d.ts +33 -1
  38. package/dist/types.js.map +1 -1
  39. package/integrations/.claude-plugin/marketplace.json +1 -1
  40. package/integrations/claude-code/.claude-plugin/plugin.json +1 -1
  41. package/package.json +3 -3
  42. package/plugins/codexa/.codex-plugin/plugin.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { promises as fs } from "node:fs";
3
3
  import path from "node:path";
4
- import { normalizePath, stableId } from "./util.js";
4
+ import { isSubpath, normalizePath, stableId } from "./util.js";
5
5
  const RISK_REPORT_PATHS = [
6
6
  ".codex/static-analysis/risks.json",
7
7
  ".codex/static-analysis/semgrep.json",
@@ -15,6 +15,7 @@ const RISK_REPORT_PATHS = [
15
15
  "codeql.sarif",
16
16
  "semgrep.json"
17
17
  ];
18
+ const FIXED_RISK_REPORT_PATHS = new Set(RISK_REPORT_PATHS);
18
19
  const RISK_REPORT_DIRS = [".codex/static-analysis", "reports/static-analysis"];
19
20
  export const MAX_RISK_REPORT_BYTES = 8 * 1024 * 1024;
20
21
  const MAX_RISK_REPORT_CANDIDATES = 250;
@@ -23,36 +24,52 @@ const MAX_TOTAL_EXTERNAL_RISKS = 20_000;
23
24
  export async function loadExternalRiskSignals(repoRoot, snapshotId, indexedAt) {
24
25
  return (await loadExternalRiskSignalReport(repoRoot, snapshotId, indexedAt)).risks;
25
26
  }
26
- export async function loadExternalRiskSignalReport(repoRoot, snapshotId, indexedAt) {
27
+ export async function loadExternalRiskSignalReport(repoRoot, snapshotId, indexedAt, knownSymbolReportPaths = new Set(), knownRiskReportPaths = new Set()) {
27
28
  const uniqueRisks = new Map();
28
29
  const reportHashes = {};
29
30
  const diagnostics = [];
30
- for (const relativePath of await candidateRiskReports(repoRoot)) {
31
- const absolutePath = path.join(repoRoot, relativePath);
31
+ const knownRiskCandidatePaths = new Set([...knownRiskReportPaths, ...knownSymbolReportPaths]);
32
+ const pathResolver = await createRiskPathResolver(repoRoot);
33
+ for (const relativePath of await candidateRiskReports(repoRoot, knownRiskCandidatePaths)) {
34
+ const reportFile = await reportFileUnderRepo(repoRoot, relativePath);
35
+ if (!reportFile) {
36
+ continue;
37
+ }
32
38
  let parsed;
33
39
  try {
34
- const stat = await fs.stat(absolutePath);
35
- if (!stat.isFile()) {
40
+ if (reportFile.stat.size > MAX_RISK_REPORT_BYTES) {
41
+ if (knownSymbolReportPaths.has(relativePath)) {
42
+ continue;
43
+ }
44
+ reportHashes[relativePath] = metadataHash(reportFile.stat);
45
+ diagnostics.push({ path: relativePath, reason: "report-too-large", sizeBytes: reportFile.stat.size, limitBytes: MAX_RISK_REPORT_BYTES });
36
46
  continue;
37
47
  }
38
- if (stat.size > MAX_RISK_REPORT_BYTES) {
39
- reportHashes[relativePath] = metadataHash(stat);
40
- diagnostics.push({ path: relativePath, reason: "report-too-large", sizeBytes: stat.size, limitBytes: MAX_RISK_REPORT_BYTES });
48
+ const content = await fs.readFile(reportFile.absolutePath, "utf8");
49
+ try {
50
+ parsed = JSON.parse(content);
51
+ }
52
+ catch {
53
+ if (!knownSymbolReportPaths.has(relativePath)) {
54
+ reportHashes[relativePath] = hashText(content);
55
+ diagnostics.push({ path: relativePath, reason: "invalid-json" });
56
+ }
41
57
  continue;
42
58
  }
43
- const content = await fs.readFile(absolutePath, "utf8");
44
59
  reportHashes[relativePath] = hashText(content);
45
- parsed = JSON.parse(content);
46
60
  }
47
61
  catch {
48
- if (await pathExists(absolutePath)) {
62
+ if (!knownSymbolReportPaths.has(relativePath)) {
49
63
  diagnostics.push({ path: relativePath, reason: "invalid-json" });
50
64
  }
51
65
  continue;
52
66
  }
53
- addRisksFromReport(parsed, relativePath, repoRoot, snapshotId, indexedAt, uniqueRisks, Math.min(MAX_RISKS_PER_REPORT, Math.max(0, MAX_TOTAL_EXTERNAL_RISKS - uniqueRisks.size)));
54
- if (uniqueRisks.size >= MAX_TOTAL_EXTERNAL_RISKS) {
55
- break;
67
+ if (isCodexaSymbolReportShape(parsed)) {
68
+ delete reportHashes[relativePath];
69
+ continue;
70
+ }
71
+ if (uniqueRisks.size < MAX_TOTAL_EXTERNAL_RISKS) {
72
+ await addRisksFromReport(parsed, relativePath, pathResolver, snapshotId, indexedAt, uniqueRisks, Math.min(MAX_RISKS_PER_REPORT, Math.max(0, MAX_TOTAL_EXTERNAL_RISKS - uniqueRisks.size)));
56
73
  }
57
74
  }
58
75
  return {
@@ -61,22 +78,41 @@ export async function loadExternalRiskSignalReport(repoRoot, snapshotId, indexed
61
78
  diagnostics
62
79
  };
63
80
  }
64
- export async function externalRiskReportSnapshot(repoRoot) {
81
+ export async function externalRiskReportSnapshot(repoRoot, knownSymbolReportPaths = new Set(), knownRiskReportPaths = new Set()) {
65
82
  const reportHashes = {};
66
83
  const diagnostics = [];
67
- for (const relativePath of await candidateRiskReports(repoRoot)) {
68
- const absolutePath = path.join(repoRoot, relativePath);
84
+ const knownRiskCandidatePaths = new Set([...knownRiskReportPaths, ...knownSymbolReportPaths]);
85
+ for (const relativePath of await candidateRiskReports(repoRoot, knownRiskCandidatePaths)) {
86
+ const reportFile = await reportFileUnderRepo(repoRoot, relativePath);
87
+ if (!reportFile) {
88
+ continue;
89
+ }
69
90
  try {
70
- const stat = await fs.stat(absolutePath);
71
- if (!stat.isFile()) {
91
+ if (reportFile.stat.size > MAX_RISK_REPORT_BYTES) {
92
+ if (knownSymbolReportPaths.has(relativePath)) {
93
+ continue;
94
+ }
95
+ reportHashes[relativePath] = metadataHash(reportFile.stat);
96
+ diagnostics.push({ path: relativePath, reason: "report-too-large", sizeBytes: reportFile.stat.size, limitBytes: MAX_RISK_REPORT_BYTES });
97
+ continue;
98
+ }
99
+ const content = await fs.readFile(reportFile.absolutePath, "utf8");
100
+ let parsed;
101
+ try {
102
+ parsed = JSON.parse(content);
103
+ }
104
+ catch {
105
+ if (knownSymbolReportPaths.has(relativePath)) {
106
+ continue;
107
+ }
108
+ reportHashes[relativePath] = hashText(content);
109
+ diagnostics.push({ path: relativePath, reason: "invalid-json" });
72
110
  continue;
73
111
  }
74
- if (stat.size > MAX_RISK_REPORT_BYTES) {
75
- reportHashes[relativePath] = metadataHash(stat);
76
- diagnostics.push({ path: relativePath, reason: "report-too-large", sizeBytes: stat.size, limitBytes: MAX_RISK_REPORT_BYTES });
112
+ if (isCodexaSymbolReportShape(parsed)) {
77
113
  continue;
78
114
  }
79
- reportHashes[relativePath] = hashText(await fs.readFile(absolutePath, "utf8"));
115
+ reportHashes[relativePath] = hashText(content);
80
116
  }
81
117
  catch {
82
118
  continue;
@@ -87,18 +123,41 @@ export async function externalRiskReportSnapshot(repoRoot) {
87
123
  diagnostics
88
124
  };
89
125
  }
90
- async function candidateRiskReports(repoRoot) {
91
- const candidates = new Set(RISK_REPORT_PATHS);
126
+ async function candidateRiskReports(repoRoot, knownRiskReportPaths) {
127
+ const candidates = new Set([...RISK_REPORT_PATHS, ...[...knownRiskReportPaths].map((entry) => normalizePath(entry)).filter(Boolean)]);
92
128
  for (const relativeDir of RISK_REPORT_DIRS) {
93
129
  const absoluteDir = path.join(repoRoot, relativeDir);
94
- for (const report of await walkReportDir(absoluteDir, relativeDir, 0, Math.max(0, MAX_RISK_REPORT_CANDIDATES - candidates.size))) {
130
+ for (const report of await walkReportDir(absoluteDir, relativeDir, 0, MAX_RISK_REPORT_CANDIDATES)) {
95
131
  candidates.add(report);
96
- if (candidates.size >= MAX_RISK_REPORT_CANDIDATES) {
97
- break;
98
- }
99
132
  }
100
133
  }
101
- return [...candidates].sort((a, b) => a.localeCompare(b));
134
+ return [...candidates].sort((a, b) => riskReportPriority(a, knownRiskReportPaths) - riskReportPriority(b, knownRiskReportPaths) || a.localeCompare(b));
135
+ }
136
+ async function reportFileUnderRepo(repoRoot, relativePath) {
137
+ const absolutePath = path.resolve(repoRoot, relativePath);
138
+ const repoReal = await fs.realpath(repoRoot).catch(() => "");
139
+ if (!repoReal || !isSubpath(absolutePath, repoRoot)) {
140
+ return undefined;
141
+ }
142
+ const stat = await fs.lstat(absolutePath).catch(() => null);
143
+ if (!stat?.isFile()) {
144
+ return undefined;
145
+ }
146
+ const realPath = await fs.realpath(absolutePath).catch(() => "");
147
+ if (!realPath || !isSubpath(realPath, repoReal)) {
148
+ return undefined;
149
+ }
150
+ return { absolutePath, stat: { size: Number(stat.size), mtimeMs: Number(stat.mtimeMs) } };
151
+ }
152
+ function riskReportPriority(relativePath, knownRiskReportPaths) {
153
+ const normalized = normalizePath(relativePath);
154
+ if (FIXED_RISK_REPORT_PATHS.has(normalized)) {
155
+ return 0;
156
+ }
157
+ if (knownRiskReportPaths.has(normalized)) {
158
+ return 1;
159
+ }
160
+ return 2;
102
161
  }
103
162
  async function walkReportDir(absoluteDir, relativeDir, depth, limit) {
104
163
  if (depth > 2 || limit <= 0) {
@@ -126,13 +185,24 @@ async function walkReportDir(absoluteDir, relativeDir, depth, limit) {
126
185
  reports.push(...(await walkReportDir(absolutePath, relativePath, depth + 1, limit - reports.length)));
127
186
  continue;
128
187
  }
129
- if (entry.isFile() && /\.(json|sarif)$/i.test(entry.name)) {
188
+ if (entry.isFile() && /\.(json|sarif)$/i.test(entry.name) && !isSymbolReportPath(relativePath)) {
130
189
  reports.push(relativePath);
131
190
  }
132
191
  }
133
192
  return reports.sort((a, b) => a.localeCompare(b));
134
193
  }
135
- function addRisksFromReport(value, reportPath, repoRoot, snapshotId, indexedAt, uniqueRisks, limit) {
194
+ function isSymbolReportPath(relativePath) {
195
+ const base = path.posix.basename(normalizePath(relativePath));
196
+ return base === "symbols.json" || base.endsWith(".symbols.json") || base.startsWith("symbol-report-");
197
+ }
198
+ function isCodexaSymbolReportShape(value) {
199
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
200
+ return false;
201
+ }
202
+ const record = value;
203
+ return record.schemaVersion === 1 && typeof record.tool === "string" && typeof record.language === "string" && Array.isArray(record.symbols);
204
+ }
205
+ async function addRisksFromReport(value, reportPath, pathResolver, snapshotId, indexedAt, uniqueRisks, limit) {
136
206
  if (!value || typeof value !== "object") {
137
207
  return;
138
208
  }
@@ -151,43 +221,47 @@ function addRisksFromReport(value, reportPath, repoRoot, snapshotId, indexedAt,
151
221
  uniqueRisks.set(riskDedupeKey(entry), entry);
152
222
  }
153
223
  };
154
- if (Array.isArray(record.runs)) {
155
- for (const run of record.runs) {
156
- addRisksFromSarifRun(run, reportPath, repoRoot, snapshotId, indexedAt, uniqueRisks, remaining());
224
+ const runs = record.runs;
225
+ if (Array.isArray(runs)) {
226
+ for (const run of runs) {
227
+ await addRisksFromSarifRun(run, reportPath, pathResolver, snapshotId, indexedAt, uniqueRisks, remaining());
157
228
  if (!hasCapacity()) {
158
229
  break;
159
230
  }
160
231
  }
161
232
  return;
162
233
  }
163
- if (Array.isArray(record.results)) {
164
- for (const entry of record.results) {
165
- push(riskFromSemgrepResult(entry, reportPath, repoRoot, snapshotId, indexedAt));
234
+ const results = record.results;
235
+ if (Array.isArray(results)) {
236
+ for (const entry of results) {
237
+ push(await riskFromSemgrepResult(entry, reportPath, pathResolver, snapshotId, indexedAt));
166
238
  if (!hasCapacity()) {
167
239
  break;
168
240
  }
169
241
  }
170
242
  return;
171
243
  }
172
- if (Array.isArray(record.risks)) {
173
- for (const entry of record.risks) {
174
- push(riskFromGenericEntry(entry, reportPath, repoRoot, snapshotId, indexedAt));
244
+ const risks = record.risks;
245
+ if (Array.isArray(risks)) {
246
+ for (const entry of risks) {
247
+ push(await riskFromGenericEntry(entry, reportPath, pathResolver, snapshotId, indexedAt));
175
248
  if (!hasCapacity()) {
176
249
  break;
177
250
  }
178
251
  }
179
252
  return;
180
253
  }
181
- if (Array.isArray(record.findings)) {
182
- for (const entry of record.findings) {
183
- push(riskFromGenericEntry(entry, reportPath, repoRoot, snapshotId, indexedAt));
254
+ const findings = record.findings;
255
+ if (Array.isArray(findings)) {
256
+ for (const entry of findings) {
257
+ push(await riskFromGenericEntry(entry, reportPath, pathResolver, snapshotId, indexedAt));
184
258
  if (!hasCapacity()) {
185
259
  break;
186
260
  }
187
261
  }
188
262
  }
189
263
  }
190
- function addRisksFromSarifRun(value, reportPath, repoRoot, snapshotId, indexedAt, uniqueRisks, limit) {
264
+ async function addRisksFromSarifRun(value, reportPath, pathResolver, snapshotId, indexedAt, uniqueRisks, limit) {
191
265
  if (!value || typeof value !== "object") {
192
266
  return;
193
267
  }
@@ -230,7 +304,7 @@ function addRisksFromSarifRun(value, reportPath, repoRoot, snapshotId, indexedAt
230
304
  continue;
231
305
  }
232
306
  const line = numberValue(region?.startLine);
233
- const normalizedPath = normalizeReportPath(filePath, repoRoot);
307
+ const normalizedPath = await normalizeReportPath(filePath, pathResolver);
234
308
  if (!normalizedPath) {
235
309
  continue;
236
310
  }
@@ -252,7 +326,7 @@ function addRisksFromSarifRun(value, reportPath, repoRoot, snapshotId, indexedAt
252
326
  }
253
327
  }
254
328
  }
255
- function riskFromSemgrepResult(value, reportPath, repoRoot, snapshotId, indexedAt) {
329
+ async function riskFromSemgrepResult(value, reportPath, pathResolver, snapshotId, indexedAt) {
256
330
  if (!value || typeof value !== "object") {
257
331
  return [];
258
332
  }
@@ -266,7 +340,7 @@ function riskFromSemgrepResult(value, reportPath, repoRoot, snapshotId, indexedA
266
340
  const severity = stringValue(extra.severity) ?? "INFO";
267
341
  const reason = stringValue(extra.message) ?? signal;
268
342
  const line = numberValue(record.start?.line);
269
- const normalizedPath = normalizeReportPath(filePath, repoRoot);
343
+ const normalizedPath = await normalizeReportPath(filePath, pathResolver);
270
344
  if (!normalizedPath) {
271
345
  return [];
272
346
  }
@@ -286,7 +360,7 @@ function riskFromSemgrepResult(value, reportPath, repoRoot, snapshotId, indexedA
286
360
  }
287
361
  ];
288
362
  }
289
- function riskFromGenericEntry(value, reportPath, repoRoot, snapshotId, indexedAt) {
363
+ async function riskFromGenericEntry(value, reportPath, pathResolver, snapshotId, indexedAt) {
290
364
  if (!value || typeof value !== "object") {
291
365
  return [];
292
366
  }
@@ -300,7 +374,7 @@ function riskFromGenericEntry(value, reportPath, repoRoot, snapshotId, indexedAt
300
374
  const score = numberValue(record.score) ?? scoreFromSeverity(stringValue(record.severity) ?? "");
301
375
  const line = numberValue(record.line) ?? numberValue(record.startLine);
302
376
  const confidence = confidenceValue(record.confidence) ?? confidenceFromSeverity(stringValue(record.severity) ?? "");
303
- const normalizedPath = normalizeReportPath(filePath, repoRoot);
377
+ const normalizedPath = await normalizeReportPath(filePath, pathResolver);
304
378
  if (!normalizedPath) {
305
379
  return [];
306
380
  }
@@ -332,15 +406,6 @@ function hashText(value) {
332
406
  function metadataHash(stat) {
333
407
  return `metadata:${stat.size}:${Math.trunc(stat.mtimeMs)}`;
334
408
  }
335
- async function pathExists(filePath) {
336
- try {
337
- await fs.access(filePath);
338
- return true;
339
- }
340
- catch {
341
- return false;
342
- }
343
- }
344
409
  function stringValue(value) {
345
410
  return typeof value === "string" && value.trim() ? value.trim() : undefined;
346
411
  }
@@ -439,7 +504,18 @@ function numericString(value) {
439
504
  const parsed = Number.parseFloat(value);
440
505
  return Number.isFinite(parsed) ? parsed : undefined;
441
506
  }
442
- function normalizeReportPath(value, repoRoot) {
507
+ async function createRiskPathResolver(repoRoot) {
508
+ const repo = path.resolve(repoRoot);
509
+ return {
510
+ repoRoot: repo,
511
+ repoReal: await fs.realpath(repo).catch(() => ""),
512
+ cache: new Map()
513
+ };
514
+ }
515
+ async function normalizeReportPath(value, resolver) {
516
+ if (resolver.cache.has(value)) {
517
+ return resolver.cache.get(value);
518
+ }
443
519
  let normalized = value.replace(/^file:\/\//, "");
444
520
  try {
445
521
  normalized = decodeURI(normalized);
@@ -447,12 +523,25 @@ function normalizeReportPath(value, repoRoot) {
447
523
  catch {
448
524
  // Keep the raw path if the report contains a non-URI-encoded percent sequence.
449
525
  }
450
- const repo = path.resolve(repoRoot);
526
+ const repo = resolver.repoRoot;
451
527
  const absolutePath = path.isAbsolute(normalized) ? path.resolve(normalized) : path.resolve(repo, normalized);
452
528
  const relative = path.relative(repo, absolutePath);
453
529
  if (!relative || relative.startsWith("..") || path.isAbsolute(relative)) {
530
+ resolver.cache.set(value, undefined);
531
+ return undefined;
532
+ }
533
+ const real = await fs.realpath(absolutePath).catch(() => "");
534
+ if (!real || !resolver.repoReal || !isSubpath(real, resolver.repoReal)) {
535
+ resolver.cache.set(value, undefined);
454
536
  return undefined;
455
537
  }
456
- return relative.split(path.sep).join("/");
538
+ const stat = await fs.stat(real).catch(() => null);
539
+ if (!stat?.isFile()) {
540
+ resolver.cache.set(value, undefined);
541
+ return undefined;
542
+ }
543
+ const result = normalizePath(path.relative(resolver.repoReal, real));
544
+ resolver.cache.set(value, result);
545
+ return result;
457
546
  }
458
547
  //# sourceMappingURL=risk-ingest.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"risk-ingest.js","sourceRoot":"","sources":["../src/risk-ingest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"risk-ingest.js","sourceRoot":"","sources":["../src/risk-ingest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CodexaSymbolReportV1 } from "./types.js";
2
+ export declare const CODEXA_SCIP_SYMBOL_REPORT_GENERATOR = "codexa-scip-import";
3
+ export declare function convertScipJsonReportToSymbolReport(repoRootInput: string, sourceInput: string): Promise<CodexaSymbolReportV1>;