lamps-code-review 0.2.2 → 0.2.3

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 (54) hide show
  1. package/dist/cli/commands/review.js +5 -41
  2. package/dist/cli/commands/review.js.map +1 -1
  3. package/dist/cli/index.js +5 -7
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/core/analyzer/ai/context.d.ts.map +1 -1
  6. package/dist/core/analyzer/ai/context.js +29 -66
  7. package/dist/core/analyzer/ai/context.js.map +1 -1
  8. package/dist/core/analyzer/ai/index.js +24 -30
  9. package/dist/core/analyzer/ai/index.js.map +1 -1
  10. package/dist/core/analyzer/ai/openrouter.js +3 -9
  11. package/dist/core/analyzer/ai/openrouter.js.map +1 -1
  12. package/dist/core/analyzer/ai/passes.d.ts.map +1 -1
  13. package/dist/core/analyzer/ai/passes.js +52 -38
  14. package/dist/core/analyzer/ai/passes.js.map +1 -1
  15. package/dist/core/analyzer/ai/prompts.js +3 -8
  16. package/dist/core/analyzer/ai/prompts.js.map +1 -1
  17. package/dist/core/analyzer/ai/slices.js +5 -12
  18. package/dist/core/analyzer/ai/slices.js.map +1 -1
  19. package/dist/core/analyzer/dependency/index.js +8 -47
  20. package/dist/core/analyzer/dependency/index.js.map +1 -1
  21. package/dist/core/analyzer/index.js +11 -32
  22. package/dist/core/analyzer/index.js.map +1 -1
  23. package/dist/core/analyzer/static/index.js +3 -8
  24. package/dist/core/analyzer/static/index.js.map +1 -1
  25. package/dist/core/analyzer/types.js +1 -5
  26. package/dist/core/analyzer/types.js.map +1 -1
  27. package/dist/core/config/index.d.ts.map +1 -1
  28. package/dist/core/config/index.js +19 -51
  29. package/dist/core/config/index.js.map +1 -1
  30. package/dist/core/detector/index.js +3 -39
  31. package/dist/core/detector/index.js.map +1 -1
  32. package/dist/core/reporter/formats/json.js +2 -6
  33. package/dist/core/reporter/formats/json.js.map +1 -1
  34. package/dist/core/reporter/index.js +6 -13
  35. package/dist/core/reporter/index.js.map +1 -1
  36. package/dist/core/scanner/ignore-rules.js +3 -39
  37. package/dist/core/scanner/ignore-rules.js.map +1 -1
  38. package/dist/core/scanner/index.js +14 -51
  39. package/dist/core/scanner/index.js.map +1 -1
  40. package/dist/index.js +24 -38
  41. package/dist/index.js.map +1 -1
  42. package/dist/types/index.d.ts +11 -0
  43. package/dist/types/index.d.ts.map +1 -1
  44. package/dist/types/index.js +1 -4
  45. package/dist/types/index.js.map +1 -1
  46. package/dist/utils/index.d.ts +1 -1
  47. package/dist/utils/index.d.ts.map +1 -1
  48. package/dist/utils/index.js +14 -64
  49. package/dist/utils/index.js.map +1 -1
  50. package/dist/utils/logger.d.ts +0 -2
  51. package/dist/utils/logger.d.ts.map +1 -1
  52. package/dist/utils/logger.js +1 -16
  53. package/dist/utils/logger.js.map +1 -1
  54. package/package.json +2 -1
@@ -1,49 +1,13 @@
1
- "use strict";
2
1
  /**
3
2
  * Review command implementation
4
3
  */
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || (function () {
22
- var ownKeys = function(o) {
23
- ownKeys = Object.getOwnPropertyNames || function (o) {
24
- var ar = [];
25
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
- return ar;
27
- };
28
- return ownKeys(o);
29
- };
30
- return function (mod) {
31
- if (mod && mod.__esModule) return mod;
32
- var result = {};
33
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
- __setModuleDefault(result, mod);
35
- return result;
36
- };
37
- })();
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.executeReview = executeReview;
40
- const fs = __importStar(require("node:fs"));
41
- const path = __importStar(require("node:path"));
42
- const index_js_1 = require("../../index.js");
4
+ import * as fs from 'node:fs';
5
+ import * as path from 'node:path';
6
+ import { LampsCodeReview } from '../../index.js';
43
7
  /**
44
8
  * Execute the review command
45
9
  */
46
- async function executeReview(targetPath, options) {
10
+ export async function executeReview(targetPath, options) {
47
11
  const absolutePath = path.resolve(targetPath);
48
12
  // Validate path exists
49
13
  if (!fs.existsSync(absolutePath)) {
@@ -57,7 +21,7 @@ async function executeReview(targetPath, options) {
57
21
  }
58
22
  try {
59
23
  // Create reviewer instance
60
- const reviewer = new index_js_1.LampsCodeReview({
24
+ const reviewer = new LampsCodeReview({
61
25
  verbose: options.verbose,
62
26
  format: options.format,
63
27
  output: options.output,
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -1,15 +1,13 @@
1
1
  #!/usr/bin/env node
2
- "use strict";
3
2
  /**
4
3
  * LampsCodeReview CLI
5
4
  * Command-line interface for running code reviews
6
5
  */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- const commander_1 = require("commander");
9
- const review_js_1 = require("./commands/review.js");
6
+ import { Command } from 'commander';
7
+ import { executeReview } from './commands/review.js';
10
8
  // Package version (will be replaced by actual version in production)
11
9
  const VERSION = '0.1.0';
12
- const program = new commander_1.Command();
10
+ const program = new Command();
13
11
  program
14
12
  .name('lamps-review')
15
13
  .description('AI-powered code review for modern web codebases')
@@ -24,7 +22,7 @@ program
24
22
  .option('-v, --verbose', 'Enable verbose output', false)
25
23
  .option('-c, --config <file>', 'Path to config file')
26
24
  .action(async (targetPath, options) => {
27
- await (0, review_js_1.executeReview)(targetPath, options);
25
+ await executeReview(targetPath, options);
28
26
  });
29
27
  // Default command: run review on current directory
30
28
  program
@@ -34,7 +32,7 @@ program
34
32
  .option('-m, --model <model>', 'Override AI model (e.g., openai/gpt-4o)')
35
33
  .option('-v, --verbose', 'Enable verbose output', false)
36
34
  .action(async (targetPath, options) => {
37
- await (0, review_js_1.executeReview)(targetPath, options);
35
+ await executeReview(targetPath, options);
38
36
  });
39
37
  // Parse and execute
40
38
  program.parse();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AACA;;;GAGG;;AAEH,yCAAoC;AACpC,oDAAqD;AAErD,qEAAqE;AACrE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,MAAM,CACP;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,IAAA,yBAAa,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEL,mDAAmD;AACnD,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,gDAAgD,EAAE,GAAG,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,MAAM,CACP;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,IAAA,yBAAa,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,qEAAqE;AACrE,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,gDAAgD,CAAC;KAC7D,QAAQ,CAAC,QAAQ,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,MAAM,CACP;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEL,mDAAmD;AACnD,OAAO;KACJ,QAAQ,CAAC,QAAQ,EAAE,gDAAgD,EAAE,GAAG,CAAC;KACzE,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,MAAM,CACP;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,eAAe,EAAE,uBAAuB,EAAE,KAAK,CAAC;KACvD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,OAAO,CAAC,KAAK,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/core/analyzer/ai/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,OAAO,EACP,aAAa,EAGd,MAAM,yBAAyB,CAAC;AAcjC;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CAsFxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,OAAO,EAAE,EACzB,oBAAoB,EAAE,OAAO,EAAE,GAC9B,OAAO,CAAC,aAAa,CAAC,CA4FxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA6FxB;AAmGD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,eAAe,GAAG,IAAI,CAe/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CAsBnE"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/core/analyzer/ai/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EAEf,QAAQ,EACR,OAAO,EACP,aAAa,EAGd,MAAM,yBAAyB,CAAC;AAcjC;;;GAGG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA0FxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,EACtB,cAAc,EAAE,OAAO,EAAE,EACzB,oBAAoB,EAAE,OAAO,EAAE,GAC9B,OAAO,CAAC,aAAa,CAAC,CA4FxB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA6FxB;AAmGD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,eAAe,GAAG,IAAI,CAe/F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,eAAe,CAsBnE"}
@@ -1,50 +1,10 @@
1
- "use strict";
2
1
  /**
3
2
  * Context Builder
4
3
  * Builds smart, focused context for each AI pass
5
4
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.buildArchitectureContext = buildArchitectureContext;
41
- exports.buildDeepDiveContext = buildDeepDiveContext;
42
- exports.buildSecurityContext = buildSecurityContext;
43
- exports.getDependencyGraphFromResults = getDependencyGraphFromResults;
44
- exports.createEmptyGraph = createEmptyGraph;
45
- const fs = __importStar(require("node:fs"));
46
- const index_js_1 = require("../dependency/index.js");
47
- const slices_js_1 = require("./slices.js");
5
+ import * as fs from 'node:fs';
6
+ import { deserializeGraph } from '../dependency/index.js';
7
+ import { extractSlices, estimateTokens, reconstructSliceContent } from './slices.js';
48
8
  /** Token budget for each pass */
49
9
  const TOKEN_BUDGETS = {
50
10
  architecture: 15000,
@@ -57,13 +17,13 @@ const SLICE_THRESHOLD = 50 * 1024;
57
17
  * Build context for the architecture pass
58
18
  * Focus: File tree, entry points, config files, high-level structure
59
19
  */
60
- async function buildArchitectureContext(context, graph) {
20
+ export async function buildArchitectureContext(context, graph) {
61
21
  const files = [];
62
22
  const budget = TOKEN_BUDGETS.architecture;
63
23
  let usedTokens = 0;
64
24
  // 1. Add file tree (paths only) - always include
65
25
  const fileTree = buildFileTree(context.files);
66
- const treeTokens = (0, slices_js_1.estimateTokens)(fileTree);
26
+ const treeTokens = estimateTokens(fileTree);
67
27
  usedTokens += treeTokens;
68
28
  // 2. Add package.json / pyproject.toml (critical for understanding project)
69
29
  const packageFiles = ['package.json', 'pyproject.toml', 'requirements.txt'];
@@ -72,7 +32,7 @@ async function buildArchitectureContext(context, graph) {
72
32
  if (file) {
73
33
  const content = await loadContent(file);
74
34
  if (content) {
75
- const tokens = (0, slices_js_1.estimateTokens)(content);
35
+ const tokens = estimateTokens(content);
76
36
  if (usedTokens + tokens < budget) {
77
37
  files.push({
78
38
  path: file.relativePath,
@@ -94,7 +54,7 @@ async function buildArchitectureContext(context, graph) {
94
54
  const contextFile = await buildContextFile(file, 'Entry point', budget - usedTokens);
95
55
  if (contextFile) {
96
56
  files.push(contextFile);
97
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
57
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
98
58
  }
99
59
  }
100
60
  // 4. Add config files
@@ -106,7 +66,7 @@ async function buildArchitectureContext(context, graph) {
106
66
  const contextFile = await buildContextFile(file, 'Configuration', budget - usedTokens);
107
67
  if (contextFile) {
108
68
  files.push(contextFile);
109
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || '');
69
+ usedTokens += estimateTokens(contextFile.content || '');
110
70
  }
111
71
  }
112
72
  // 5. Add README if exists
@@ -114,7 +74,7 @@ async function buildArchitectureContext(context, graph) {
114
74
  if (readme) {
115
75
  const content = await loadContent(readme);
116
76
  if (content) {
117
- const tokens = (0, slices_js_1.estimateTokens)(content);
77
+ const tokens = estimateTokens(content);
118
78
  if (usedTokens + tokens < budget) {
119
79
  files.push({
120
80
  path: readme.relativePath,
@@ -125,6 +85,8 @@ async function buildArchitectureContext(context, graph) {
125
85
  }
126
86
  }
127
87
  }
88
+ // Build full file tree for architecture context
89
+ const fullFileTree = context.files.map((f) => f.relativePath).sort();
128
90
  return {
129
91
  pass: 'architecture',
130
92
  files,
@@ -133,6 +95,7 @@ async function buildArchitectureContext(context, graph) {
133
95
  totalTokenEstimate: usedTokens,
134
96
  frameworks: context.frameworks.frameworks.map((f) => f.framework),
135
97
  focusAreas: ['Project structure', 'Dependencies', 'Entry points', 'Configuration'],
98
+ fullFileTree,
136
99
  },
137
100
  };
138
101
  }
@@ -140,7 +103,7 @@ async function buildArchitectureContext(context, graph) {
140
103
  * Build context for the deep-dive pass
141
104
  * Focus: High-priority files, static analysis hotspots, high-connectivity modules
142
105
  */
143
- async function buildDeepDiveContext(context, graph, staticFindings, architectureFindings) {
106
+ export async function buildDeepDiveContext(context, graph, staticFindings, architectureFindings) {
144
107
  const files = [];
145
108
  const budget = TOKEN_BUDGETS['deep-dive'];
146
109
  let usedTokens = 0;
@@ -156,7 +119,7 @@ async function buildDeepDiveContext(context, graph, staticFindings, architecture
156
119
  const contextFile = await buildContextFile(file, `Static analysis flagged (${fileFindings.length} issues)`, budget - usedTokens, fileFindings);
157
120
  if (contextFile) {
158
121
  files.push(contextFile);
159
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
122
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
160
123
  }
161
124
  }
162
125
  // 2. Files mentioned in architecture findings
@@ -166,7 +129,7 @@ async function buildDeepDiveContext(context, graph, staticFindings, architecture
166
129
  const contextFile = await buildContextFile(file, 'Flagged in architecture review', budget - usedTokens);
167
130
  if (contextFile) {
168
131
  files.push(contextFile);
169
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
132
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
170
133
  }
171
134
  }
172
135
  }
@@ -180,7 +143,7 @@ async function buildDeepDiveContext(context, graph, staticFindings, architecture
180
143
  const contextFile = await buildContextFile(file, `High connectivity (${node.importedBy.length} dependents)`, budget - usedTokens);
181
144
  if (contextFile) {
182
145
  files.push(contextFile);
183
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
146
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
184
147
  }
185
148
  }
186
149
  }
@@ -193,7 +156,7 @@ async function buildDeepDiveContext(context, graph, staticFindings, architecture
193
156
  const contextFile = await buildContextFile(file, `Priority score: ${node.priority}`, budget - usedTokens);
194
157
  if (contextFile) {
195
158
  files.push(contextFile);
196
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
159
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
197
160
  }
198
161
  }
199
162
  }
@@ -212,7 +175,7 @@ async function buildDeepDiveContext(context, graph, staticFindings, architecture
212
175
  * Build context for the security pass
213
176
  * Focus: Auth, API routes, data handling, sensitive operations
214
177
  */
215
- async function buildSecurityContext(context, graph) {
178
+ export async function buildSecurityContext(context, graph) {
216
179
  const files = [];
217
180
  const budget = TOKEN_BUDGETS.security;
218
181
  let usedTokens = 0;
@@ -242,7 +205,7 @@ async function buildSecurityContext(context, graph) {
242
205
  const contextFile = await buildContextFile(file, 'API route', budget - usedTokens);
243
206
  if (contextFile) {
244
207
  files.push(contextFile);
245
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
208
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
246
209
  }
247
210
  }
248
211
  // 2. Security-sensitive files by name
@@ -252,7 +215,7 @@ async function buildSecurityContext(context, graph) {
252
215
  const contextFile = await buildContextFile(file, 'Security-sensitive file', budget - usedTokens);
253
216
  if (contextFile) {
254
217
  files.push(contextFile);
255
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
218
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
256
219
  }
257
220
  }
258
221
  }
@@ -263,7 +226,7 @@ async function buildSecurityContext(context, graph) {
263
226
  const contextFile = await buildContextFile(file, 'Environment/Config', budget - usedTokens);
264
227
  if (contextFile) {
265
228
  files.push(contextFile);
266
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || '');
229
+ usedTokens += estimateTokens(contextFile.content || '');
267
230
  }
268
231
  }
269
232
  }
@@ -275,7 +238,7 @@ async function buildSecurityContext(context, graph) {
275
238
  const contextFile = await buildContextFile(file, 'Database/Model', budget - usedTokens);
276
239
  if (contextFile) {
277
240
  files.push(contextFile);
278
- usedTokens += (0, slices_js_1.estimateTokens)(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
241
+ usedTokens += estimateTokens(contextFile.content || contextFile.slices?.map((s) => s.content).join('\n') || '');
279
242
  }
280
243
  }
281
244
  }
@@ -298,7 +261,7 @@ async function buildContextFile(file, reason, remainingBudget, findings) {
298
261
  const content = await loadContent(file);
299
262
  if (!content)
300
263
  return null;
301
- const tokens = (0, slices_js_1.estimateTokens)(content);
264
+ const tokens = estimateTokens(content);
302
265
  // If file is small and fits in budget, include full content
303
266
  if (file.size < SLICE_THRESHOLD && tokens < remainingBudget) {
304
267
  return {
@@ -309,16 +272,16 @@ async function buildContextFile(file, reason, remainingBudget, findings) {
309
272
  };
310
273
  }
311
274
  // For large files, extract slices
312
- const slices = (0, slices_js_1.extractSlices)(content, file.relativePath, {
275
+ const slices = extractSlices(content, file.relativePath, {
313
276
  staticFindings: findings,
314
277
  includeExports: true,
315
278
  includeSecurity: true,
316
279
  includeDefinitions: true,
317
280
  maxTotalSize: Math.min(remainingBudget * 4, 20000), // Rough char limit
318
281
  });
319
- const reconstructed = (0, slices_js_1.reconstructSliceContent)(content, slices);
282
+ const reconstructed = reconstructSliceContent(content, slices);
320
283
  const sliceContent = reconstructed.map((s) => s.content).join('\n');
321
- const sliceTokens = (0, slices_js_1.estimateTokens)(sliceContent);
284
+ const sliceTokens = estimateTokens(sliceContent);
322
285
  if (sliceTokens > remainingBudget)
323
286
  return null;
324
287
  // If slices are almost as big as the file, just use full content
@@ -375,12 +338,12 @@ function extractMentionedFiles(findings, allFiles) {
375
338
  /**
376
339
  * Get dependency graph from analysis results
377
340
  */
378
- function getDependencyGraphFromResults(results) {
341
+ export function getDependencyGraphFromResults(results) {
379
342
  const depResult = results.find((r) => r.analyzerName === 'dependency');
380
343
  if (!depResult?.metadata?.dependencyGraph)
381
344
  return null;
382
345
  try {
383
- return (0, index_js_1.deserializeGraph)(depResult.metadata.dependencyGraph);
346
+ return deserializeGraph(depResult.metadata.dependencyGraph);
384
347
  }
385
348
  catch {
386
349
  return null;
@@ -389,7 +352,7 @@ function getDependencyGraphFromResults(results) {
389
352
  /**
390
353
  * Create an empty dependency graph for fallback
391
354
  */
392
- function createEmptyGraph(files) {
355
+ export function createEmptyGraph(files) {
393
356
  const graph = {
394
357
  files: new Map(),
395
358
  entryPoints: [],
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/core/analyzer/ai/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/core/analyzer/ai/context.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,18 @@
1
- "use strict";
2
1
  /**
3
2
  * AI Analyzer module
4
3
  * Multi-pass AI-powered code review using OpenRouter
5
4
  */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.OpenRouterError = exports.AIAnalyzer = void 0;
8
- exports.createAIAnalyzer = createAIAnalyzer;
9
- const types_js_1 = require("../types.js");
10
- const openrouter_js_1 = require("./openrouter.js");
11
- const index_js_1 = require("../../config/index.js");
12
- const context_js_1 = require("./context.js");
13
- const passes_js_1 = require("./passes.js");
14
- const prompts_js_1 = require("./prompts.js");
15
- const logger_js_1 = require("../../../utils/logger.js");
5
+ import { BaseAnalyzer } from '../types.js';
6
+ import { chat, OpenRouterError } from './openrouter.js';
7
+ import { getOpenRouterKey, hasOpenRouterKey } from '../../config/index.js';
8
+ import { buildArchitectureContext, buildDeepDiveContext, buildSecurityContext, getDependencyGraphFromResults, createEmptyGraph, } from './context.js';
9
+ import { PASS_SYSTEM_PROMPTS, buildPassPrompt } from './passes.js';
10
+ import { parseAIResponse } from './prompts.js';
11
+ import { createLogger } from '../../../utils/logger.js';
16
12
  /**
17
13
  * Multi-pass AI-powered code analyzer using OpenRouter
18
14
  */
19
- class AIAnalyzer extends types_js_1.BaseAnalyzer {
15
+ export class AIAnalyzer extends BaseAnalyzer {
20
16
  constructor(config) {
21
17
  super();
22
18
  this.config = config;
@@ -28,9 +24,9 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
28
24
  }
29
25
  async analyze(context) {
30
26
  const startTime = Date.now();
31
- const logger = (0, logger_js_1.getGlobalLogger)();
27
+ const logger = context.logger || createLogger(false);
32
28
  // Check for API key
33
- if (!(0, index_js_1.hasOpenRouterKey)()) {
29
+ if (!hasOpenRouterKey()) {
34
30
  logger.warn('OPENROUTER_API_KEY not set - skipping AI analysis');
35
31
  return this.createResult([
36
32
  {
@@ -53,7 +49,7 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
53
49
  logger.step(`Model: ${this.config.model}`);
54
50
  logger.step(`Files in codebase: ${context.files.length}`);
55
51
  // Get dependency graph from static phase results (if available)
56
- const graph = this.getDependencyGraph(context) || (0, context_js_1.createEmptyGraph)(context.files);
52
+ const graph = this.getDependencyGraph(context) || createEmptyGraph(context.files);
57
53
  // Log graph stats
58
54
  const graphStats = {
59
55
  entryPoints: graph.entryPoints.length,
@@ -108,7 +104,7 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
108
104
  }
109
105
  catch (error) {
110
106
  // Handle errors gracefully
111
- const errorMessage = error instanceof openrouter_js_1.OpenRouterError
107
+ const errorMessage = error instanceof OpenRouterError
112
108
  ? error.message
113
109
  : error instanceof Error
114
110
  ? error.message
@@ -128,18 +124,18 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
128
124
  * Run a single AI pass
129
125
  */
130
126
  async runPass(passType, context, graph, previousFindings) {
131
- const logger = (0, logger_js_1.getGlobalLogger)();
127
+ const logger = context.logger || createLogger(false);
132
128
  // Build context for this pass
133
129
  let reviewContext;
134
130
  switch (passType) {
135
131
  case 'architecture':
136
- reviewContext = await (0, context_js_1.buildArchitectureContext)(context, graph);
132
+ reviewContext = await buildArchitectureContext(context, graph);
137
133
  break;
138
134
  case 'deep-dive':
139
- reviewContext = await (0, context_js_1.buildDeepDiveContext)(context, graph, this.staticFindings, previousFindings.filter((f) => f.ruleId.startsWith('ai/arch')));
135
+ reviewContext = await buildDeepDiveContext(context, graph, this.staticFindings, previousFindings.filter((f) => f.ruleId.startsWith('ai/arch')));
140
136
  break;
141
137
  case 'security':
142
- reviewContext = await (0, context_js_1.buildSecurityContext)(context, graph);
138
+ reviewContext = await buildSecurityContext(context, graph);
143
139
  break;
144
140
  }
145
141
  // Log context details
@@ -165,17 +161,17 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
165
161
  };
166
162
  }
167
163
  // Build prompts
168
- const systemPrompt = passes_js_1.PASS_SYSTEM_PROMPTS[passType];
169
- const userPrompt = (0, passes_js_1.buildPassPrompt)(reviewContext, this.config.customPrompt);
164
+ const systemPrompt = PASS_SYSTEM_PROMPTS[passType];
165
+ const userPrompt = buildPassPrompt(reviewContext, this.config.customPrompt);
170
166
  // Call AI
171
167
  logger.detail('Calling AI...');
172
168
  const callStart = Date.now();
173
- const apiKey = (0, index_js_1.getOpenRouterKey)();
174
- const response = await (0, openrouter_js_1.chat)(systemPrompt, userPrompt, this.config, apiKey);
169
+ const apiKey = getOpenRouterKey();
170
+ const response = await chat(systemPrompt, userPrompt, this.config, apiKey);
175
171
  const callDuration = Date.now() - callStart;
176
172
  logger.detail(`AI responded in ${(callDuration / 1000).toFixed(1)}s`);
177
173
  // Parse response
178
- const parsed = (0, prompts_js_1.parseAIResponse)(response);
174
+ const parsed = parseAIResponse(response);
179
175
  // Convert to findings with proper severity types
180
176
  const findings = parsed.findings.map((f) => ({
181
177
  ruleId: f.ruleId,
@@ -199,7 +195,7 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
199
195
  // after the static phase runs
200
196
  const metadata = context._previousResults;
201
197
  if (metadata) {
202
- return (0, context_js_1.getDependencyGraphFromResults)(metadata);
198
+ return getDependencyGraphFromResults(metadata);
203
199
  }
204
200
  return null;
205
201
  }
@@ -252,14 +248,12 @@ class AIAnalyzer extends types_js_1.BaseAnalyzer {
252
248
  .slice(0, 50);
253
249
  }
254
250
  }
255
- exports.AIAnalyzer = AIAnalyzer;
256
251
  /**
257
252
  * Create an AI analyzer with the given configuration
258
253
  */
259
- function createAIAnalyzer(config) {
254
+ export function createAIAnalyzer(config) {
260
255
  return new AIAnalyzer(config);
261
256
  }
262
257
  // Re-export for convenience
263
- var openrouter_js_2 = require("./openrouter.js");
264
- Object.defineProperty(exports, "OpenRouterError", { enumerable: true, get: function () { return openrouter_js_2.OpenRouterError; } });
258
+ export { OpenRouterError } from './openrouter.js';
265
259
  //# sourceMappingURL=index.js.map