cadr-cli 2.0.0 → 2.0.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 (104) hide show
  1. package/dist/adr/adr.d.ts +17 -0
  2. package/dist/adr/adr.d.ts.map +1 -0
  3. package/dist/{adr.js → adr/adr.js} +4 -44
  4. package/dist/adr/adr.js.map +1 -0
  5. package/dist/adr/adr.test.d.ts +5 -0
  6. package/dist/{adr.test.d.ts.map → adr/adr.test.d.ts.map} +1 -1
  7. package/dist/{adr.test.js → adr/adr.test.js} +0 -14
  8. package/dist/adr/adr.test.js.map +1 -0
  9. package/dist/adr/index.d.ts +2 -0
  10. package/dist/adr/index.d.ts.map +1 -0
  11. package/dist/adr/index.js +18 -0
  12. package/dist/adr/index.js.map +1 -0
  13. package/dist/analysis/analysis.orchestrator.d.ts +14 -0
  14. package/dist/analysis/analysis.orchestrator.d.ts.map +1 -0
  15. package/dist/analysis/analysis.orchestrator.js +175 -0
  16. package/dist/analysis/analysis.orchestrator.js.map +1 -0
  17. package/dist/analysis/strategies/git-strategy.d.ts +22 -0
  18. package/dist/analysis/strategies/git-strategy.d.ts.map +1 -0
  19. package/dist/analysis/strategies/git-strategy.js +114 -0
  20. package/dist/analysis/strategies/git-strategy.js.map +1 -0
  21. package/dist/commands/analyze.js +3 -3
  22. package/dist/commands/analyze.js.map +1 -1
  23. package/dist/git/git.errors.d.ts +6 -0
  24. package/dist/git/git.errors.d.ts.map +1 -0
  25. package/dist/git/git.errors.js +15 -0
  26. package/dist/git/git.errors.js.map +1 -0
  27. package/dist/git/git.operations.d.ts +12 -0
  28. package/dist/git/git.operations.d.ts.map +1 -0
  29. package/dist/git/git.operations.js +64 -0
  30. package/dist/git/git.operations.js.map +1 -0
  31. package/dist/git/index.d.ts +4 -0
  32. package/dist/git/index.d.ts.map +1 -0
  33. package/dist/git/index.js +19 -0
  34. package/dist/git/index.js.map +1 -0
  35. package/dist/llm/index.d.ts +3 -0
  36. package/dist/llm/index.d.ts.map +1 -0
  37. package/dist/llm/index.js +19 -0
  38. package/dist/llm/index.js.map +1 -0
  39. package/dist/llm/llm.d.ts +35 -0
  40. package/dist/llm/llm.d.ts.map +1 -0
  41. package/dist/{llm.js → llm/llm.js} +16 -58
  42. package/dist/llm/llm.js.map +1 -0
  43. package/dist/{prompts.d.ts → llm/prompts.d.ts} +1 -38
  44. package/dist/llm/prompts.d.ts.map +1 -0
  45. package/dist/{prompts.js → llm/prompts.js} +9 -54
  46. package/dist/llm/prompts.js.map +1 -0
  47. package/dist/llm/response-parser.d.ts +9 -0
  48. package/dist/llm/response-parser.d.ts.map +1 -0
  49. package/dist/llm/response-parser.js +67 -0
  50. package/dist/llm/response-parser.js.map +1 -0
  51. package/dist/presenters/console-presenter.d.ts +35 -0
  52. package/dist/presenters/console-presenter.d.ts.map +1 -0
  53. package/dist/presenters/console-presenter.js +114 -0
  54. package/dist/presenters/console-presenter.js.map +1 -0
  55. package/package.json +1 -1
  56. package/src/{adr.test.ts → adr/adr.test.ts} +10 -23
  57. package/src/{adr.ts → adr/adr.ts} +7 -48
  58. package/src/adr/index.ts +1 -0
  59. package/src/analysis/analysis.orchestrator.ts +175 -0
  60. package/src/analysis/strategies/git-strategy.ts +106 -0
  61. package/src/commands/analyze.ts +8 -9
  62. package/src/git/git.errors.ts +10 -0
  63. package/src/git/git.operations.ts +85 -0
  64. package/src/git/index.ts +3 -0
  65. package/src/llm/index.ts +2 -0
  66. package/src/{llm.ts → llm/llm.ts} +46 -107
  67. package/src/{prompts.ts → llm/prompts.ts} +30 -72
  68. package/src/llm/response-parser.ts +90 -0
  69. package/src/presenters/console-presenter.ts +152 -0
  70. package/dist/adr.d.ts +0 -50
  71. package/dist/adr.d.ts.map +0 -1
  72. package/dist/adr.js.map +0 -1
  73. package/dist/adr.test.d.ts +0 -8
  74. package/dist/adr.test.js.map +0 -1
  75. package/dist/analysis.d.ts +0 -24
  76. package/dist/analysis.d.ts.map +0 -1
  77. package/dist/analysis.js +0 -281
  78. package/dist/analysis.js.map +0 -1
  79. package/dist/analysis.test.d.ts +0 -8
  80. package/dist/analysis.test.d.ts.map +0 -1
  81. package/dist/analysis.test.js +0 -351
  82. package/dist/analysis.test.js.map +0 -1
  83. package/dist/git.d.ts +0 -54
  84. package/dist/git.d.ts.map +0 -1
  85. package/dist/git.js +0 -204
  86. package/dist/git.js.map +0 -1
  87. package/dist/llm.d.ts +0 -73
  88. package/dist/llm.d.ts.map +0 -1
  89. package/dist/llm.js.map +0 -1
  90. package/dist/llm.test.d.ts +0 -2
  91. package/dist/llm.test.d.ts.map +0 -1
  92. package/dist/llm.test.js +0 -592
  93. package/dist/llm.test.js.map +0 -1
  94. package/dist/prompts.d.ts.map +0 -1
  95. package/dist/prompts.js.map +0 -1
  96. package/dist/prompts.test.d.ts +0 -2
  97. package/dist/prompts.test.d.ts.map +0 -1
  98. package/dist/prompts.test.js +0 -427
  99. package/dist/prompts.test.js.map +0 -1
  100. package/src/analysis.test.ts +0 -396
  101. package/src/analysis.ts +0 -262
  102. package/src/git.ts +0 -300
  103. package/src/llm.test.ts +0 -701
  104. package/src/prompts.test.ts +0 -515
@@ -0,0 +1,17 @@
1
+ /**
2
+ * ADR File Management Module
3
+ *
4
+ * Handles creation and management of Architectural Decision Record files.
5
+ * Follows MADR (Markdown Architectural Decision Records) format.
6
+ */
7
+ export declare const DEFAULT_ADR_DIR = "docs/adr";
8
+ export declare function titleToSlug(title: string): string;
9
+ export declare function getNextADRNumber(adrDir: string): number;
10
+ export declare function ensureADRDirectory(adrDir: string): void;
11
+ export declare function generateADRFilename(number: number, title: string): string;
12
+ export declare function saveADR(content: string, title: string, adrDir?: string): {
13
+ success: boolean;
14
+ filePath?: string;
15
+ error?: string;
16
+ };
17
+ //# sourceMappingURL=adr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../../src/adr/adr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAyBvD;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAgB,OAAO,CACrB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAwB,GAC/B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BzD"}
@@ -47,35 +47,21 @@ exports.generateADRFilename = generateADRFilename;
47
47
  exports.saveADR = saveADR;
48
48
  const fs = __importStar(require("fs"));
49
49
  const path = __importStar(require("path"));
50
- const logger_1 = require("./logger");
51
- /**
52
- * Default ADR directory relative to project root
53
- */
50
+ const logger_1 = require("../logger");
54
51
  exports.DEFAULT_ADR_DIR = 'docs/adr';
55
- /**
56
- * Convert a title to a filename-safe slug
57
- * Example: "Use PostgreSQL for Storage" -> "use-postgresql-for-storage"
58
- */
59
52
  function titleToSlug(title) {
60
53
  return title
61
54
  .toLowerCase()
62
- .replace(/[^a-z0-9]+/g, '-') // Replace non-alphanumeric with hyphens
63
- .replace(/^-+|-+$/g, ''); // Remove leading/trailing hyphens
55
+ .replace(/[^a-z0-9]+/g, '-')
56
+ .replace(/^-+|-+$/g, '');
64
57
  }
65
- /**
66
- * Get the next ADR number by scanning existing ADR files
67
- *
68
- * @param adrDir - Directory containing ADR files
69
- * @returns Next available ADR number (e.g., 1, 2, 3...)
70
- */
71
58
  function getNextADRNumber(adrDir) {
72
59
  try {
73
60
  if (!fs.existsSync(adrDir)) {
74
- return 1; // First ADR
61
+ return 1;
75
62
  }
76
63
  const files = fs.readdirSync(adrDir);
77
64
  const adrNumbers = [];
78
- // Extract numbers from existing ADR files (format: 0001-title.md)
79
65
  for (const file of files) {
80
66
  const match = file.match(/^(\d{4})-/);
81
67
  if (match) {
@@ -85,7 +71,6 @@ function getNextADRNumber(adrDir) {
85
71
  if (adrNumbers.length === 0) {
86
72
  return 1;
87
73
  }
88
- // Return next number after the highest existing number
89
74
  return Math.max(...adrNumbers) + 1;
90
75
  }
91
76
  catch (error) {
@@ -93,47 +78,23 @@ function getNextADRNumber(adrDir) {
93
78
  return 1;
94
79
  }
95
80
  }
96
- /**
97
- * Ensure ADR directory exists, create if it doesn't
98
- *
99
- * @param adrDir - Directory path to ensure exists
100
- */
101
81
  function ensureADRDirectory(adrDir) {
102
82
  if (!fs.existsSync(adrDir)) {
103
83
  logger_1.loggerInstance.info('Creating ADR directory', { adrDir });
104
84
  fs.mkdirSync(adrDir, { recursive: true });
105
85
  }
106
86
  }
107
- /**
108
- * Generate ADR filename from number and title
109
- *
110
- * @param number - ADR number (will be zero-padded to 4 digits)
111
- * @param title - ADR title (will be converted to slug)
112
- * @returns Filename like "0001-use-postgresql-for-storage.md"
113
- */
114
87
  function generateADRFilename(number, title) {
115
88
  const paddedNumber = String(number).padStart(4, '0');
116
89
  const slug = titleToSlug(title);
117
90
  return `${paddedNumber}-${slug}.md`;
118
91
  }
119
- /**
120
- * Save ADR content to file
121
- *
122
- * @param content - Full markdown content of the ADR
123
- * @param title - Title extracted from ADR content
124
- * @param adrDir - Directory to save ADR in (defaults to docs/adr)
125
- * @returns Object with success status, file path, and any error
126
- */
127
92
  function saveADR(content, title, adrDir = exports.DEFAULT_ADR_DIR) {
128
93
  try {
129
- // Ensure directory exists
130
94
  ensureADRDirectory(adrDir);
131
- // Get next ADR number
132
95
  const adrNumber = getNextADRNumber(adrDir);
133
- // Generate filename
134
96
  const filename = generateADRFilename(adrNumber, title);
135
97
  const filePath = path.join(adrDir, filename);
136
- // Check if file already exists (shouldn't happen, but safety check)
137
98
  if (fs.existsSync(filePath)) {
138
99
  logger_1.loggerInstance.warn('ADR file already exists, using alternative name', { filePath });
139
100
  const alternativeFilename = generateADRFilename(adrNumber + 1, title);
@@ -142,7 +103,6 @@ function saveADR(content, title, adrDir = exports.DEFAULT_ADR_DIR) {
142
103
  logger_1.loggerInstance.info('ADR saved successfully', { filePath: alternativeFilePath });
143
104
  return { success: true, filePath: alternativeFilePath };
144
105
  }
145
- // Write ADR content to file
146
106
  fs.writeFileSync(filePath, content, 'utf-8');
147
107
  logger_1.loggerInstance.info('ADR saved successfully', { filePath, adrNumber });
148
108
  return { success: true, filePath };
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr.js","sourceRoot":"","sources":["../../src/adr/adr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ADR File Management Module Tests
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=adr.test.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adr.test.d.ts","sourceRoot":"","sources":["../src/adr.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
1
+ {"version":3,"file":"adr.test.d.ts","sourceRoot":"","sources":["../../src/adr/adr.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,9 +1,6 @@
1
1
  "use strict";
2
2
  /**
3
3
  * ADR File Management Module Tests
4
- *
5
- * Tests for ADR file creation, numbering, and management.
6
- * Following TDD: These tests are written BEFORE implementation.
7
4
  */
8
5
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
6
  if (k2 === undefined) k2 = k;
@@ -45,13 +42,11 @@ const adr_1 = require("./adr");
45
42
  describe('ADR Module', () => {
46
43
  const testDir = path.join(__dirname, '../test-adrs');
47
44
  beforeEach(() => {
48
- // Clean up test directory before each test
49
45
  if (fs.existsSync(testDir)) {
50
46
  fs.rmSync(testDir, { recursive: true, force: true });
51
47
  }
52
48
  });
53
49
  afterEach(() => {
54
- // Clean up test directory after each test
55
50
  if (fs.existsSync(testDir)) {
56
51
  fs.rmSync(testDir, { recursive: true, force: true });
57
52
  }
@@ -193,7 +188,6 @@ describe('ADR Module', () => {
193
188
  expect(savedContent).toBe(content);
194
189
  });
195
190
  it('uses default directory when not specified', () => {
196
- // Clean up default directory
197
191
  const defaultPath = path.join(process.cwd(), adr_1.DEFAULT_ADR_DIR);
198
192
  if (fs.existsSync(defaultPath)) {
199
193
  fs.rmSync(defaultPath, { recursive: true, force: true });
@@ -202,15 +196,12 @@ describe('ADR Module', () => {
202
196
  const result = (0, adr_1.saveADR)(content, 'Default Location');
203
197
  expect(result.success).toBe(true);
204
198
  expect(result.filePath).toContain(adr_1.DEFAULT_ADR_DIR);
205
- // Cleanup
206
199
  if (fs.existsSync(defaultPath)) {
207
200
  fs.rmSync(defaultPath, { recursive: true, force: true });
208
201
  }
209
202
  });
210
203
  it('handles file write errors gracefully', () => {
211
- // Create a read-only directory to trigger write error
212
204
  fs.mkdirSync(testDir, { recursive: true });
213
- // Make directory read-only (if not Windows)
214
205
  if (process.platform !== 'win32') {
215
206
  fs.chmodSync(testDir, 0o444);
216
207
  const content = '# Test\n\nContent';
@@ -218,15 +209,11 @@ describe('ADR Module', () => {
218
209
  expect(result.success).toBe(false);
219
210
  expect(result.error).toBeDefined();
220
211
  expect(result.filePath).toBeUndefined();
221
- // Restore permissions for cleanup
222
212
  fs.chmodSync(testDir, 0o755);
223
213
  }
224
214
  else {
225
- // On Windows, just verify error handling structure exists
226
- // Skip actual permission test as Windows permissions work differently
227
215
  const content = '# Test\n\nContent';
228
216
  const result = (0, adr_1.saveADR)(content, 'Test', testDir);
229
- // Should succeed on Windows since we can't easily simulate permission errors
230
217
  expect(result).toHaveProperty('success');
231
218
  expect(typeof result.success).toBe('boolean');
232
219
  }
@@ -242,7 +229,6 @@ describe('ADR Module', () => {
242
229
  const content = '# Decision with émojis 🚀\n\nContent';
243
230
  const result = (0, adr_1.saveADR)(content, 'Decision with émojis 🚀', testDir);
244
231
  expect(result.success).toBe(true);
245
- // Should strip unicode to safe characters
246
232
  expect(result.filePath).toMatch(/0001-.+\.md$/);
247
233
  });
248
234
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adr.test.js","sourceRoot":"","sources":["../../src/adr/adr.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './adr';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adr/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./adr"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adr/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
@@ -0,0 +1,14 @@
1
+ import type { DiffOptions } from '../git/index';
2
+ export interface AnalysisResult {
3
+ is_significant: boolean;
4
+ reason: string;
5
+ confidence?: number;
6
+ timestamp: string;
7
+ }
8
+ export interface GenerationResult {
9
+ content: string;
10
+ title: string;
11
+ timestamp: string;
12
+ }
13
+ export declare function runAnalysis(diffOptions?: DiffOptions): Promise<void>;
14
+ //# sourceMappingURL=analysis.orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.orchestrator.d.ts","sourceRoot":"","sources":["../../src/analysis/analysis.orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAchD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AA2ID,wBAAsB,WAAW,CAAC,WAAW,GAAE,WAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3F"}
@@ -0,0 +1,175 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.runAnalysis = runAnalysis;
37
+ /* eslint-disable no-console */
38
+ const config_1 = require("../config");
39
+ const prompts_1 = require("../llm/prompts");
40
+ const llm_1 = require("../llm/llm");
41
+ const logger_1 = require("../logger");
42
+ const adr_1 = require("../adr/adr");
43
+ const path = __importStar(require("path"));
44
+ const git_strategy_1 = require("./strategies/git-strategy");
45
+ const console_presenter_1 = require("../presenters/console-presenter");
46
+ async function runAnalysisInternal(diffOptions) {
47
+ const configPath = (0, config_1.getDefaultConfigPath)();
48
+ const config = await (0, config_1.loadConfig)(configPath);
49
+ if (!config) {
50
+ console_presenter_1.presenter.showConfigError();
51
+ return;
52
+ }
53
+ const gitStrategy = (0, git_strategy_1.createGitStrategy)(diffOptions);
54
+ let changedFiles;
55
+ try {
56
+ changedFiles = await gitStrategy.getFiles();
57
+ }
58
+ catch (error) {
59
+ const gitError = error;
60
+ if (gitError.name === 'GitError') {
61
+ console_presenter_1.presenter.showGitError(gitError.message || 'Unknown Git error');
62
+ }
63
+ else {
64
+ console_presenter_1.presenter.showReadFilesError();
65
+ }
66
+ logger_1.loggerInstance.error('Failed to get changed files', { error, mode: diffOptions.mode });
67
+ return;
68
+ }
69
+ if (changedFiles.length === 0) {
70
+ console_presenter_1.presenter.showNoChanges(diffOptions);
71
+ return;
72
+ }
73
+ console_presenter_1.presenter.showAnalyzingFiles(changedFiles, diffOptions);
74
+ let diffContent;
75
+ try {
76
+ diffContent = await gitStrategy.getDiff();
77
+ }
78
+ catch (error) {
79
+ console_presenter_1.presenter.showReadFilesError();
80
+ logger_1.loggerInstance.error('Failed to get diff', { error, mode: diffOptions.mode });
81
+ return;
82
+ }
83
+ if (!diffContent || diffContent.trim().length === 0) {
84
+ console_presenter_1.presenter.showNoDiffContent();
85
+ return;
86
+ }
87
+ const repositoryContext = path.basename(process.cwd());
88
+ const prompt = (0, prompts_1.formatPrompt)(prompts_1.ANALYSIS_PROMPT_V1, {
89
+ file_paths: changedFiles,
90
+ diff_content: diffContent,
91
+ });
92
+ console_presenter_1.presenter.showSendingToLLM(diffOptions, config.provider, config.analysis_model);
93
+ const response = await (0, llm_1.analyzeChanges)(config, {
94
+ file_paths: changedFiles,
95
+ diff_content: diffContent,
96
+ repository_context: repositoryContext,
97
+ analysis_prompt: prompt,
98
+ });
99
+ if (!response.result || response.error) {
100
+ console_presenter_1.presenter.showAnalysisFailed(response.error);
101
+ return;
102
+ }
103
+ const result = response.result;
104
+ console_presenter_1.presenter.showAnalysisComplete();
105
+ if (result.is_significant) {
106
+ const summary = {
107
+ fileCount: changedFiles.length,
108
+ mode: diffOptions.mode,
109
+ isSignificant: true,
110
+ reason: result.reason,
111
+ confidence: result.confidence,
112
+ };
113
+ console_presenter_1.presenter.showSignificantResult(summary);
114
+ const shouldGenerate = await (0, prompts_1.promptForGeneration)(result.reason);
115
+ if (shouldGenerate) {
116
+ console_presenter_1.presenter.showGeneratingADR();
117
+ const generationPrompt = (0, prompts_1.formatGenerationPrompt)({
118
+ file_paths: changedFiles,
119
+ diff_content: diffContent,
120
+ });
121
+ const generationResponse = await (0, llm_1.generateADRContent)(config, {
122
+ file_paths: changedFiles,
123
+ diff_content: diffContent,
124
+ reason: result.reason,
125
+ generation_prompt: generationPrompt,
126
+ });
127
+ if (!generationResponse.result || generationResponse.error) {
128
+ console_presenter_1.presenter.showGenerationFailed(generationResponse.error);
129
+ logger_1.loggerInstance.error('ADR generation failed', { error: generationResponse.error });
130
+ }
131
+ else {
132
+ const saveResult = (0, adr_1.saveADR)(generationResponse.result.content, generationResponse.result.title);
133
+ if (saveResult.success && saveResult.filePath) {
134
+ console_presenter_1.presenter.showADRSuccess(saveResult.filePath);
135
+ logger_1.loggerInstance.info('ADR generation workflow completed successfully', {
136
+ filePath: saveResult.filePath,
137
+ title: generationResponse.result.title,
138
+ });
139
+ }
140
+ else {
141
+ console_presenter_1.presenter.showADRSaveError(saveResult.error);
142
+ logger_1.loggerInstance.error('Failed to save ADR', { error: saveResult.error });
143
+ }
144
+ }
145
+ }
146
+ else {
147
+ console_presenter_1.presenter.showSkippingGeneration();
148
+ }
149
+ }
150
+ else {
151
+ const summary = {
152
+ fileCount: changedFiles.length,
153
+ mode: diffOptions.mode,
154
+ isSignificant: false,
155
+ reason: result.reason,
156
+ confidence: result.confidence,
157
+ };
158
+ console_presenter_1.presenter.showNotSignificantResult(summary);
159
+ }
160
+ logger_1.loggerInstance.info('Analysis workflow completed successfully', {
161
+ is_significant: result.is_significant,
162
+ file_count: changedFiles.length,
163
+ });
164
+ }
165
+ async function runAnalysis(diffOptions = { mode: 'all' }) {
166
+ try {
167
+ logger_1.loggerInstance.info('Starting analysis workflow');
168
+ await runAnalysisInternal(diffOptions);
169
+ }
170
+ catch (error) {
171
+ logger_1.loggerInstance.error('Unexpected error in analysis workflow', { error });
172
+ console_presenter_1.presenter.showUnexpectedError();
173
+ }
174
+ }
175
+ //# sourceMappingURL=analysis.orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.orchestrator.js","sourceRoot":"","sources":["../../src/analysis/analysis.orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type DiffOptions } from '../../git/git.operations';
2
+ export interface GitStrategy {
3
+ getFiles(): Promise<string[]>;
4
+ getDiff(): Promise<string>;
5
+ }
6
+ export declare class StagedChangesStrategy implements GitStrategy {
7
+ getFiles(): Promise<string[]>;
8
+ getDiff(): Promise<string>;
9
+ }
10
+ export declare class AllChangesStrategy implements GitStrategy {
11
+ getFiles(): Promise<string[]>;
12
+ getDiff(): Promise<string>;
13
+ }
14
+ export declare class BranchDiffStrategy implements GitStrategy {
15
+ private base;
16
+ private head;
17
+ constructor(base: string, head: string);
18
+ getFiles(): Promise<string[]>;
19
+ getDiff(): Promise<string>;
20
+ }
21
+ export declare function createGitStrategy(options: DiffOptions): GitStrategy;
22
+ //# sourceMappingURL=git-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-strategy.d.ts","sourceRoot":"","sources":["../../../src/analysis/strategies/git-strategy.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,WAAW;IAC1B,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED,qBAAa,qBAAsB,YAAW,WAAW;IACjD,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAGjC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IAC9C,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI7B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAGjC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IAElD,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,IAAI;gBADJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM;IAGhB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA4B7B,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;CAwBjC;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,WAAW,CAWnE"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.BranchDiffStrategy = exports.AllChangesStrategy = exports.StagedChangesStrategy = void 0;
37
+ exports.createGitStrategy = createGitStrategy;
38
+ const git_operations_1 = require("../../git/git.operations");
39
+ const git_1 = require("../../git");
40
+ class StagedChangesStrategy {
41
+ async getFiles() {
42
+ return (0, git_operations_1.getStagedFiles)();
43
+ }
44
+ async getDiff() {
45
+ return (0, git_operations_1.getStagedDiff)();
46
+ }
47
+ }
48
+ exports.StagedChangesStrategy = StagedChangesStrategy;
49
+ class AllChangesStrategy {
50
+ async getFiles() {
51
+ return (0, git_operations_1.getAllChanges)();
52
+ }
53
+ async getDiff() {
54
+ return (0, git_operations_1.getAllDiff)();
55
+ }
56
+ }
57
+ exports.AllChangesStrategy = AllChangesStrategy;
58
+ class BranchDiffStrategy {
59
+ base;
60
+ head;
61
+ constructor(base, head) {
62
+ this.base = base;
63
+ this.head = head;
64
+ }
65
+ async getFiles() {
66
+ const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
67
+ const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
68
+ const execAsync = promisify(exec);
69
+ try {
70
+ const { stdout } = await execAsync(`git diff --name-only ${this.base}...${this.head}`);
71
+ return stdout
72
+ .split('\n')
73
+ .map((f) => f.trim())
74
+ .filter((f) => f.length > 0);
75
+ }
76
+ catch (error) {
77
+ const errorWithCode = error;
78
+ if (errorWithCode.code === 128) {
79
+ throw new git_1.GitError(`Invalid git reference: ${this.base} or ${this.head}. Please ensure both references exist.`, 'GIT_ERROR', error instanceof Error ? error : new Error(String(error)));
80
+ }
81
+ throw new git_1.GitError('Unable to read Git repository. Please check repository permissions.', 'GIT_ERROR', error instanceof Error ? error : new Error(String(error)));
82
+ }
83
+ }
84
+ async getDiff() {
85
+ const { exec } = await Promise.resolve().then(() => __importStar(require('child_process')));
86
+ const { promisify } = await Promise.resolve().then(() => __importStar(require('util')));
87
+ const execAsync = promisify(exec);
88
+ try {
89
+ const { stdout } = await execAsync(`git diff ${this.base}...${this.head} --unified=1`);
90
+ return stdout;
91
+ }
92
+ catch (error) {
93
+ const errorWithCode = error;
94
+ if (errorWithCode.code === 128) {
95
+ throw new git_1.GitError(`Invalid git reference: ${this.base} or ${this.head}. Please ensure both references exist.`, 'GIT_ERROR', error instanceof Error ? error : new Error(String(error)));
96
+ }
97
+ throw new git_1.GitError('Unable to read Git repository. Please check repository permissions.', 'GIT_ERROR', error instanceof Error ? error : new Error(String(error)));
98
+ }
99
+ }
100
+ }
101
+ exports.BranchDiffStrategy = BranchDiffStrategy;
102
+ function createGitStrategy(options) {
103
+ switch (options.mode) {
104
+ case 'staged':
105
+ return new StagedChangesStrategy();
106
+ case 'all':
107
+ return new AllChangesStrategy();
108
+ case 'branch-diff':
109
+ return new BranchDiffStrategy(options.base || 'origin/main', options.head || 'HEAD');
110
+ default:
111
+ return new AllChangesStrategy();
112
+ }
113
+ }
114
+ //# sourceMappingURL=git-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-strategy.js","sourceRoot":"","sources":["../../../src/analysis/strategies/git-strategy.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.analyzeCommand = analyzeCommand;
10
- const analysis_1 = require("../analysis");
10
+ const analysis_orchestrator_1 = require("../analysis/analysis.orchestrator");
11
11
  const logger_1 = require("../logger");
12
12
  /**
13
13
  * Execute the analyze command
@@ -39,9 +39,9 @@ async function analyzeCommand(args = []) {
39
39
  logger_1.loggerInstance.info('Analyze command started', {
40
40
  mode: diffOptions.mode,
41
41
  base: diffOptions.base,
42
- head: diffOptions.head
42
+ head: diffOptions.head,
43
43
  });
44
- await (0, analysis_1.runAnalysis)(diffOptions);
44
+ await (0, analysis_orchestrator_1.runAnalysis)(diffOptions);
45
45
  logger_1.loggerInstance.info('Analyze command completed');
46
46
  }
47
47
  catch (error) {