lamps-code-review 0.2.2 → 0.2.4

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 (55) hide show
  1. package/dist/cli/commands/review.d.ts.map +1 -1
  2. package/dist/cli/commands/review.js +27 -53
  3. package/dist/cli/commands/review.js.map +1 -1
  4. package/dist/cli/index.js +15 -13
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/core/analyzer/ai/context.d.ts.map +1 -1
  7. package/dist/core/analyzer/ai/context.js +29 -66
  8. package/dist/core/analyzer/ai/context.js.map +1 -1
  9. package/dist/core/analyzer/ai/index.js +24 -30
  10. package/dist/core/analyzer/ai/index.js.map +1 -1
  11. package/dist/core/analyzer/ai/openrouter.js +3 -9
  12. package/dist/core/analyzer/ai/openrouter.js.map +1 -1
  13. package/dist/core/analyzer/ai/passes.d.ts.map +1 -1
  14. package/dist/core/analyzer/ai/passes.js +59 -38
  15. package/dist/core/analyzer/ai/passes.js.map +1 -1
  16. package/dist/core/analyzer/ai/prompts.js +3 -8
  17. package/dist/core/analyzer/ai/prompts.js.map +1 -1
  18. package/dist/core/analyzer/ai/slices.js +5 -12
  19. package/dist/core/analyzer/ai/slices.js.map +1 -1
  20. package/dist/core/analyzer/dependency/index.js +8 -47
  21. package/dist/core/analyzer/dependency/index.js.map +1 -1
  22. package/dist/core/analyzer/index.js +11 -32
  23. package/dist/core/analyzer/index.js.map +1 -1
  24. package/dist/core/analyzer/static/index.js +3 -8
  25. package/dist/core/analyzer/static/index.js.map +1 -1
  26. package/dist/core/analyzer/types.js +1 -5
  27. package/dist/core/analyzer/types.js.map +1 -1
  28. package/dist/core/config/index.d.ts.map +1 -1
  29. package/dist/core/config/index.js +19 -51
  30. package/dist/core/config/index.js.map +1 -1
  31. package/dist/core/detector/index.js +3 -39
  32. package/dist/core/detector/index.js.map +1 -1
  33. package/dist/core/reporter/formats/json.js +2 -6
  34. package/dist/core/reporter/formats/json.js.map +1 -1
  35. package/dist/core/reporter/index.js +6 -13
  36. package/dist/core/reporter/index.js.map +1 -1
  37. package/dist/core/scanner/ignore-rules.js +3 -39
  38. package/dist/core/scanner/ignore-rules.js.map +1 -1
  39. package/dist/core/scanner/index.js +14 -51
  40. package/dist/core/scanner/index.js.map +1 -1
  41. package/dist/index.js +24 -38
  42. package/dist/index.js.map +1 -1
  43. package/dist/types/index.d.ts +11 -0
  44. package/dist/types/index.d.ts.map +1 -1
  45. package/dist/types/index.js +1 -4
  46. package/dist/types/index.js.map +1 -1
  47. package/dist/utils/index.d.ts +1 -1
  48. package/dist/utils/index.d.ts.map +1 -1
  49. package/dist/utils/index.js +14 -64
  50. package/dist/utils/index.js.map +1 -1
  51. package/dist/utils/logger.d.ts +0 -2
  52. package/dist/utils/logger.d.ts.map +1 -1
  53. package/dist/utils/logger.js +1 -16
  54. package/dist/utils/logger.js.map +1 -1
  55. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAErE;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAoDf"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,sBAAsB,CAAC;AAcrE;;GAEG;AACH,wBAAsB,aAAa,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAmDf"}
@@ -1,49 +1,24 @@
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]; } };
4
+ import * as fs from 'node:fs';
5
+ import * as path from 'node:path';
6
+ import { LampsCodeReview } from '../../index.js';
7
+ /**
8
+ * Get file extension for format
9
+ */
10
+ function getExtensionForFormat(format) {
11
+ switch (format) {
12
+ case 'markdown': return '.md';
13
+ case 'html': return '.html';
14
+ case 'json': return '.json';
15
+ default: return '.md';
10
16
  }
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");
17
+ }
43
18
  /**
44
19
  * Execute the review command
45
20
  */
46
- async function executeReview(targetPath, options) {
21
+ export async function executeReview(targetPath, options) {
47
22
  const absolutePath = path.resolve(targetPath);
48
23
  // Validate path exists
49
24
  if (!fs.existsSync(absolutePath)) {
@@ -57,9 +32,9 @@ async function executeReview(targetPath, options) {
57
32
  }
58
33
  try {
59
34
  // Create reviewer instance
60
- const reviewer = new index_js_1.LampsCodeReview({
61
- verbose: options.verbose,
62
- format: options.format,
35
+ const reviewer = new LampsCodeReview({
36
+ verbose: options.verbose !== false, // Default to true
37
+ format: options.format || 'markdown',
63
38
  output: options.output,
64
39
  ai: options.model ? { model: options.model } : undefined,
65
40
  });
@@ -67,17 +42,16 @@ async function executeReview(targetPath, options) {
67
42
  const startTime = Date.now();
68
43
  const report = await reviewer.review(absolutePath);
69
44
  const duration = Date.now() - startTime;
70
- // Output results
71
- if (options.output) {
72
- // Write to file
73
- const formatted = reviewer.formatReport(report, options.format || 'json');
74
- fs.writeFileSync(options.output, formatted);
75
- console.log(`📄 Report written to: ${options.output}`);
76
- }
77
- else {
78
- // Print summary to console
79
- printSummary(report, duration);
80
- }
45
+ // Determine output path (default to lamps-review.md in target directory)
46
+ const format = options.format || 'markdown';
47
+ const ext = getExtensionForFormat(format);
48
+ const outputPath = options.output || path.join(absolutePath, `lamps-review${ext}`);
49
+ // Format and write report
50
+ const formatted = reviewer.formatReport(report, format);
51
+ fs.writeFileSync(outputPath, formatted);
52
+ // Print summary to console
53
+ printSummary(report, duration);
54
+ console.log(`\n📄 Report written to: ${outputPath}`);
81
55
  // Exit with error code if there are errors
82
56
  if (report.summary.bySeverity.error > 0) {
83
57
  process.exit(1);
@@ -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')
@@ -18,23 +16,27 @@ program
18
16
  .command('review')
19
17
  .description('Run a code review on a repository or directory')
20
18
  .argument('<path>', 'Path to the repository or directory to review')
21
- .option('-o, --output <file>', 'Write report to file instead of stdout')
22
- .option('-f, --format <format>', 'Output format: json, markdown, html', 'json')
19
+ .option('-o, --output <file>', 'Output file path (default: lamps-review.md in target dir)')
20
+ .option('-f, --format <format>', 'Output format: json, markdown, html', 'markdown')
23
21
  .option('-m, --model <model>', 'Override AI model (e.g., openai/gpt-4o)')
24
- .option('-v, --verbose', 'Enable verbose output', false)
22
+ .option('-q, --quiet', 'Disable verbose output (verbose is on by default)')
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
+ // Verbose is default, --quiet disables it
26
+ options.verbose = !options.quiet;
27
+ await executeReview(targetPath, options);
28
28
  });
29
29
  // Default command: run review on current directory
30
30
  program
31
31
  .argument('[path]', 'Path to review (defaults to current directory)', '.')
32
- .option('-o, --output <file>', 'Write report to file instead of stdout')
33
- .option('-f, --format <format>', 'Output format: json, markdown, html', 'json')
32
+ .option('-o, --output <file>', 'Output file path (default: lamps-review.md in target dir)')
33
+ .option('-f, --format <format>', 'Output format: json, markdown, html', 'markdown')
34
34
  .option('-m, --model <model>', 'Override AI model (e.g., openai/gpt-4o)')
35
- .option('-v, --verbose', 'Enable verbose output', false)
35
+ .option('-q, --quiet', 'Disable verbose output (verbose is on by default)')
36
36
  .action(async (targetPath, options) => {
37
- await (0, review_js_1.executeReview)(targetPath, options);
37
+ // Verbose is default, --quiet disables it
38
+ options.verbose = !options.quiet;
39
+ await executeReview(targetPath, options);
38
40
  });
39
41
  // Parse and execute
40
42
  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,2DAA2D,CAAC;KAC1F,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,UAAU,CACX;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,mDAAmD,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;KACpD,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,0CAA0C;IAC1C,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,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,2DAA2D,CAAC;KAC1F,MAAM,CACL,uBAAuB,EACvB,qCAAqC,EACrC,UAAU,CACX;KACA,MAAM,CAAC,qBAAqB,EAAE,yCAAyC,CAAC;KACxE,MAAM,CAAC,aAAa,EAAE,mDAAmD,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;IAC5C,0CAA0C;IAC1C,OAAO,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;IACjC,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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"}