cadr-cli 2.0.0 → 2.0.2

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 (153) 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/analysis.orchestrator.test.d.ts +2 -0
  18. package/dist/analysis/analysis.orchestrator.test.d.ts.map +1 -0
  19. package/dist/analysis/analysis.orchestrator.test.js +177 -0
  20. package/dist/analysis/analysis.orchestrator.test.js.map +1 -0
  21. package/dist/analysis/strategies/git-strategy.d.ts +22 -0
  22. package/dist/analysis/strategies/git-strategy.d.ts.map +1 -0
  23. package/dist/analysis/strategies/git-strategy.js +114 -0
  24. package/dist/analysis/strategies/git-strategy.js.map +1 -0
  25. package/dist/analysis/strategies/git-strategy.test.d.ts +2 -0
  26. package/dist/analysis/strategies/git-strategy.test.d.ts.map +1 -0
  27. package/dist/analysis/strategies/git-strategy.test.js +147 -0
  28. package/dist/analysis/strategies/git-strategy.test.js.map +1 -0
  29. package/dist/commands/analyze.js +3 -3
  30. package/dist/commands/analyze.js.map +1 -1
  31. package/dist/commands/analyze.test.d.ts +2 -0
  32. package/dist/commands/analyze.test.d.ts.map +1 -0
  33. package/dist/commands/analyze.test.js +70 -0
  34. package/dist/commands/analyze.test.js.map +1 -0
  35. package/dist/commands/init.test.js +128 -2
  36. package/dist/commands/init.test.js.map +1 -1
  37. package/dist/config.test.js +167 -0
  38. package/dist/config.test.js.map +1 -1
  39. package/dist/git/git.errors.d.ts +6 -0
  40. package/dist/git/git.errors.d.ts.map +1 -0
  41. package/dist/git/git.errors.js +15 -0
  42. package/dist/git/git.errors.js.map +1 -0
  43. package/dist/git/git.errors.test.d.ts +2 -0
  44. package/dist/git/git.errors.test.d.ts.map +1 -0
  45. package/dist/git/git.errors.test.js +34 -0
  46. package/dist/git/git.errors.test.js.map +1 -0
  47. package/dist/git/git.operations.d.ts +12 -0
  48. package/dist/git/git.operations.d.ts.map +1 -0
  49. package/dist/git/git.operations.js +64 -0
  50. package/dist/git/git.operations.js.map +1 -0
  51. package/dist/git/git.operations.test.d.ts +2 -0
  52. package/dist/git/git.operations.test.d.ts.map +1 -0
  53. package/dist/git/git.operations.test.js +164 -0
  54. package/dist/git/git.operations.test.js.map +1 -0
  55. package/dist/git/index.d.ts +4 -0
  56. package/dist/git/index.d.ts.map +1 -0
  57. package/dist/git/index.js +19 -0
  58. package/dist/git/index.js.map +1 -0
  59. package/dist/llm/index.d.ts +3 -0
  60. package/dist/llm/index.d.ts.map +1 -0
  61. package/dist/llm/index.js +19 -0
  62. package/dist/llm/index.js.map +1 -0
  63. package/dist/llm/llm.d.ts +35 -0
  64. package/dist/llm/llm.d.ts.map +1 -0
  65. package/dist/{llm.js → llm/llm.js} +16 -58
  66. package/dist/llm/llm.js.map +1 -0
  67. package/dist/{llm.test.d.ts.map → llm/llm.test.d.ts.map} +1 -1
  68. package/dist/llm/llm.test.js +224 -0
  69. package/dist/llm/llm.test.js.map +1 -0
  70. package/dist/{prompts.d.ts → llm/prompts.d.ts} +1 -38
  71. package/dist/llm/prompts.d.ts.map +1 -0
  72. package/dist/{prompts.js → llm/prompts.js} +9 -54
  73. package/dist/llm/prompts.js.map +1 -0
  74. package/dist/llm/response-parser.d.ts +9 -0
  75. package/dist/llm/response-parser.d.ts.map +1 -0
  76. package/dist/llm/response-parser.js +67 -0
  77. package/dist/llm/response-parser.js.map +1 -0
  78. package/dist/llm/response-parser.test.d.ts +2 -0
  79. package/dist/llm/response-parser.test.d.ts.map +1 -0
  80. package/dist/llm/response-parser.test.js +134 -0
  81. package/dist/llm/response-parser.test.js.map +1 -0
  82. package/dist/presenters/console-presenter.d.ts +35 -0
  83. package/dist/presenters/console-presenter.d.ts.map +1 -0
  84. package/dist/presenters/console-presenter.js +114 -0
  85. package/dist/presenters/console-presenter.js.map +1 -0
  86. package/dist/presenters/console-presenter.test.d.ts +2 -0
  87. package/dist/presenters/console-presenter.test.d.ts.map +1 -0
  88. package/dist/presenters/console-presenter.test.js +227 -0
  89. package/dist/presenters/console-presenter.test.js.map +1 -0
  90. package/dist/version.test.d.ts +1 -2
  91. package/dist/version.test.d.ts.map +1 -1
  92. package/dist/version.test.js +29 -16
  93. package/dist/version.test.js.map +1 -1
  94. package/package.json +1 -1
  95. package/src/{adr.test.ts → adr/adr.test.ts} +10 -23
  96. package/src/{adr.ts → adr/adr.ts} +7 -48
  97. package/src/adr/index.ts +1 -0
  98. package/src/analysis/analysis.orchestrator.test.ts +237 -0
  99. package/src/analysis/analysis.orchestrator.ts +175 -0
  100. package/src/analysis/strategies/git-strategy.test.ts +210 -0
  101. package/src/analysis/strategies/git-strategy.ts +106 -0
  102. package/src/commands/analyze.test.ts +91 -0
  103. package/src/commands/analyze.ts +8 -9
  104. package/src/commands/init.test.ts +200 -5
  105. package/src/config.test.ts +232 -2
  106. package/src/git/git.errors.test.ts +43 -0
  107. package/src/git/git.errors.ts +10 -0
  108. package/src/git/git.operations.test.ts +222 -0
  109. package/src/git/git.operations.ts +85 -0
  110. package/src/git/index.ts +3 -0
  111. package/src/llm/index.ts +2 -0
  112. package/src/llm/llm.test.ts +315 -0
  113. package/src/{llm.ts → llm/llm.ts} +46 -107
  114. package/src/{prompts.ts → llm/prompts.ts} +30 -72
  115. package/src/llm/response-parser.test.ts +170 -0
  116. package/src/llm/response-parser.ts +90 -0
  117. package/src/presenters/console-presenter.test.ts +259 -0
  118. package/src/presenters/console-presenter.ts +152 -0
  119. package/src/version.test.ts +30 -16
  120. package/dist/adr.d.ts +0 -50
  121. package/dist/adr.d.ts.map +0 -1
  122. package/dist/adr.js.map +0 -1
  123. package/dist/adr.test.d.ts +0 -8
  124. package/dist/adr.test.js.map +0 -1
  125. package/dist/analysis.d.ts +0 -24
  126. package/dist/analysis.d.ts.map +0 -1
  127. package/dist/analysis.js +0 -281
  128. package/dist/analysis.js.map +0 -1
  129. package/dist/analysis.test.d.ts +0 -8
  130. package/dist/analysis.test.d.ts.map +0 -1
  131. package/dist/analysis.test.js +0 -351
  132. package/dist/analysis.test.js.map +0 -1
  133. package/dist/git.d.ts +0 -54
  134. package/dist/git.d.ts.map +0 -1
  135. package/dist/git.js +0 -204
  136. package/dist/git.js.map +0 -1
  137. package/dist/llm.d.ts +0 -73
  138. package/dist/llm.d.ts.map +0 -1
  139. package/dist/llm.js.map +0 -1
  140. package/dist/llm.test.js +0 -592
  141. package/dist/llm.test.js.map +0 -1
  142. package/dist/prompts.d.ts.map +0 -1
  143. package/dist/prompts.js.map +0 -1
  144. package/dist/prompts.test.d.ts +0 -2
  145. package/dist/prompts.test.d.ts.map +0 -1
  146. package/dist/prompts.test.js +0 -427
  147. package/dist/prompts.test.js.map +0 -1
  148. package/src/analysis.test.ts +0 -396
  149. package/src/analysis.ts +0 -262
  150. package/src/git.ts +0 -300
  151. package/src/llm.test.ts +0 -701
  152. package/src/prompts.test.ts +0 -515
  153. /package/dist/{llm.test.d.ts → llm/llm.test.d.ts} +0 -0
@@ -0,0 +1,152 @@
1
+ /* eslint-disable no-console */
2
+ export interface AnalysisSummary {
3
+ fileCount: number;
4
+ mode: string;
5
+ isSignificant: boolean;
6
+ reason: string;
7
+ confidence?: number;
8
+ filePath?: string;
9
+ title?: string;
10
+ }
11
+
12
+ export interface DiffOptions {
13
+ mode: 'staged' | 'all' | 'branch-diff';
14
+ base?: string;
15
+ head?: string;
16
+ }
17
+
18
+ export class ConsolePresenter {
19
+ showConfigError(): void {
20
+ console.error('\n❌ Configuration Error');
21
+ console.error('Configuration file not found or invalid.');
22
+ console.error('\n💡 Run `cadr init` to create a configuration file.\n');
23
+ }
24
+
25
+ showGitError(message: string): void {
26
+ console.error(`\n❌ Git Error: ${message}\n`);
27
+ }
28
+
29
+ showReadFilesError(): void {
30
+ console.error('\n❌ Failed to read changed files\n');
31
+ }
32
+
33
+ showNoChanges(options: DiffOptions): void {
34
+ const modeText =
35
+ options.mode === 'staged'
36
+ ? 'staged'
37
+ : options.mode === 'branch-diff'
38
+ ? `between ${options.base || 'origin/main'} and ${options.head || 'HEAD'}`
39
+ : 'uncommitted';
40
+
41
+ console.log(
42
+ `\nℹ️ No changes to analyze ${options.mode === 'branch-diff' ? modeText : `(${modeText})`}`
43
+ );
44
+
45
+ if (options.mode === 'staged') {
46
+ console.log('💡 Stage some files first:');
47
+ console.log(' git add <files>');
48
+ console.log(' cadr analyze --staged\n');
49
+ } else if (options.mode === 'branch-diff') {
50
+ console.log('💡 No changes found between specified git references.\n');
51
+ } else {
52
+ console.log('💡 Make some changes first, then run:');
53
+ console.log(' cadr analyze\n');
54
+ }
55
+ }
56
+
57
+ showAnalyzingFiles(files: string[], options: DiffOptions): void {
58
+ const modeText =
59
+ options.mode === 'staged'
60
+ ? 'staged'
61
+ : options.mode === 'branch-diff'
62
+ ? `between ${options.base || 'origin/main'} and ${options.head || 'HEAD'}`
63
+ : 'uncommitted';
64
+
65
+ const fileCountText =
66
+ options.mode === 'branch-diff'
67
+ ? `${files.length} file${files.length === 1 ? '' : 's'} changed ${modeText}`
68
+ : `${files.length} ${modeText} file${files.length === 1 ? '' : 's'}`;
69
+
70
+ console.log(`\n📝 Analyzing ${fileCountText}:`);
71
+ files.forEach((file) => {
72
+ console.log(` • ${file}`);
73
+ });
74
+ console.log('');
75
+ }
76
+
77
+ showNoDiffContent(): void {
78
+ console.log('\nℹ️ No diff content found\n');
79
+ }
80
+
81
+ showSendingToLLM(options: DiffOptions, provider: string, model: string): void {
82
+ const analysisText =
83
+ options.mode === 'staged'
84
+ ? 'staged changes'
85
+ : options.mode === 'branch-diff'
86
+ ? 'changes'
87
+ : 'uncommitted changes';
88
+
89
+ console.log(`🔍 Analyzing ${analysisText} for architectural significance...\n`);
90
+ console.log(`🤖 Sending to ${provider} ${model}...\n`);
91
+ }
92
+
93
+ showAnalysisFailed(error?: string): void {
94
+ console.error('\n❌ Analysis failed');
95
+ console.error(`\n${error || 'Unknown error occurred'}\n`);
96
+ }
97
+
98
+ showAnalysisComplete(): void {
99
+ console.log('✅ Analysis Complete\n');
100
+ }
101
+
102
+ showSignificantResult(summary: AnalysisSummary): void {
103
+ console.log('📊 Result: ✨ ARCHITECTURALLY SIGNIFICANT');
104
+ console.log(`💭 Reasoning: ${summary.reason}\n`);
105
+ if (summary.confidence) {
106
+ console.log(`🎯 Confidence: ${(summary.confidence * 100).toFixed(0)}%\n`);
107
+ }
108
+ }
109
+
110
+ showNotSignificantResult(summary: AnalysisSummary): void {
111
+ console.log('📊 Result: ℹ️ NOT ARCHITECTURALLY SIGNIFICANT');
112
+ console.log(`💭 Reasoning: ${summary.reason}\n`);
113
+ if (summary.confidence) {
114
+ console.log(`🎯 Confidence: ${(summary.confidence * 100).toFixed(0)}%\n`);
115
+ }
116
+ console.log('✅ No ADR needed for these changes.\n');
117
+ }
118
+
119
+ showGeneratingADR(): void {
120
+ console.log('\n🧠 Generating ADR draft...\n');
121
+ }
122
+
123
+ showGenerationFailed(error?: string): void {
124
+ console.error('\n❌ ADR generation failed');
125
+ console.error(`\n${error || 'Unknown error occurred'}\n`);
126
+ }
127
+
128
+ showADRSuccess(filePath: string): void {
129
+ console.log('✅ Success! Draft ADR created\n');
130
+ console.log(`📄 File: ${filePath}\n`);
131
+ console.log('💡 Next steps:');
132
+ console.log(' 1. Review and refine the generated ADR');
133
+ console.log(' 2. Commit it alongside your code changes\n');
134
+ }
135
+
136
+ showADRSaveError(error?: string): void {
137
+ console.error('\n❌ Failed to save ADR');
138
+ console.error(`\n${error || 'Unknown error occurred'}\n`);
139
+ }
140
+
141
+ showSkippingGeneration(): void {
142
+ console.log('\n📋 Skipping ADR generation');
143
+ console.log('🎯 Recommendation: Consider documenting this decision manually.\n');
144
+ }
145
+
146
+ showUnexpectedError(): void {
147
+ console.error('\n❌ An unexpected error occurred');
148
+ console.error('Please check the logs for more details.\n');
149
+ }
150
+ }
151
+
152
+ export const presenter = new ConsolePresenter();
@@ -1,29 +1,43 @@
1
- // Test version constants in CLI
2
- const CORE_VERSION = '0.0.1';
3
- const CLI_VERSION = '0.0.1';
1
+ import { showVersion } from './index';
4
2
 
5
- describe('CLI Version Constants', () => {
6
- test('exports CORE_VERSION constant', () => {
7
- expect(CORE_VERSION).toBe('0.0.1');
3
+ jest.mock('./commands/init', () => ({ initCommand: jest.fn() }));
4
+ jest.mock('./commands/analyze', () => ({ analyzeCommand: jest.fn() }));
5
+ jest.mock('./commands/status', () => ({ statusCommand: jest.fn() }));
6
+
7
+ describe('showVersion', () => {
8
+ let stdoutSpy: jest.SpyInstance;
9
+
10
+ beforeEach(() => {
11
+ jest.clearAllMocks();
12
+ stdoutSpy = jest.spyOn(process.stdout, 'write').mockImplementation(() => true);
8
13
  });
9
14
 
10
- test('CORE_VERSION is a string', () => {
11
- expect(typeof CORE_VERSION).toBe('string');
15
+ afterEach(() => {
16
+ stdoutSpy.mockRestore();
12
17
  });
13
18
 
14
- test('CORE_VERSION matches semantic version pattern', () => {
15
- expect(CORE_VERSION).toMatch(/^\d+\.\d+\.\d+$/);
19
+ test('writes to process.stdout', () => {
20
+ showVersion();
21
+ expect(stdoutSpy).toHaveBeenCalled();
16
22
  });
17
23
 
18
- test('exports CLI_VERSION constant', () => {
19
- expect(CLI_VERSION).toBe('0.0.1');
24
+ test('output contains cADR version', () => {
25
+ showVersion();
26
+ const output = stdoutSpy.mock.calls[0][0] as string;
27
+ expect(output).toContain('cADR version');
20
28
  });
21
29
 
22
- test('CLI_VERSION is a string', () => {
23
- expect(typeof CLI_VERSION).toBe('string');
30
+ test('output version string matches semver pattern', () => {
31
+ showVersion();
32
+ const output = stdoutSpy.mock.calls[0][0] as string;
33
+ expect(output).toMatch(/\d+\.\d+\.\d+/);
24
34
  });
25
35
 
26
- test('CLI_VERSION matches semantic version pattern', () => {
27
- expect(CLI_VERSION).toMatch(/^\d+\.\d+\.\d+$/);
36
+ test('output contains the version from package.json', () => {
37
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
38
+ const pkg = require('../package.json');
39
+ showVersion();
40
+ const output = stdoutSpy.mock.calls[0][0] as string;
41
+ expect(output).toContain(pkg.version);
28
42
  });
29
43
  });
package/dist/adr.d.ts DELETED
@@ -1,50 +0,0 @@
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
- /**
8
- * Default ADR directory relative to project root
9
- */
10
- export declare const DEFAULT_ADR_DIR = "docs/adr";
11
- /**
12
- * Convert a title to a filename-safe slug
13
- * Example: "Use PostgreSQL for Storage" -> "use-postgresql-for-storage"
14
- */
15
- export declare function titleToSlug(title: string): string;
16
- /**
17
- * Get the next ADR number by scanning existing ADR files
18
- *
19
- * @param adrDir - Directory containing ADR files
20
- * @returns Next available ADR number (e.g., 1, 2, 3...)
21
- */
22
- export declare function getNextADRNumber(adrDir: string): number;
23
- /**
24
- * Ensure ADR directory exists, create if it doesn't
25
- *
26
- * @param adrDir - Directory path to ensure exists
27
- */
28
- export declare function ensureADRDirectory(adrDir: string): void;
29
- /**
30
- * Generate ADR filename from number and title
31
- *
32
- * @param number - ADR number (will be zero-padded to 4 digits)
33
- * @param title - ADR title (will be converted to slug)
34
- * @returns Filename like "0001-use-postgresql-for-storage.md"
35
- */
36
- export declare function generateADRFilename(number: number, title: string): string;
37
- /**
38
- * Save ADR content to file
39
- *
40
- * @param content - Full markdown content of the ADR
41
- * @param title - Title extracted from ADR content
42
- * @param adrDir - Directory to save ADR in (defaults to docs/adr)
43
- * @returns Object with success status, file path, and any error
44
- */
45
- export declare function saveADR(content: string, title: string, adrDir?: string): {
46
- success: boolean;
47
- filePath?: string;
48
- error?: string;
49
- };
50
- //# sourceMappingURL=adr.d.ts.map
package/dist/adr.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"adr.d.ts","sourceRoot":"","sources":["../src/adr.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;GAEG;AACH,eAAO,MAAM,eAAe,aAAa,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CA2BvD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAKvD;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED;;;;;;;GAOG;AACH,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,CAmCzD"}
package/dist/adr.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"adr.js","sourceRoot":"","sources":["../src/adr.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeH,kCAKC;AAQD,4CA2BC;AAOD,gDAKC;AASD,kDAIC;AAUD,0BAuCC;AA/HD,uCAAyB;AACzB,2CAA6B;AAC7B,qCAAoD;AAEpD;;GAEG;AACU,QAAA,eAAe,GAAG,UAAU,CAAC;AAE1C;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,wCAAwC;SACpE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,kCAAkC;AAChE,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,CAAC,CAAC,YAAY;QACxB,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,UAAU,GAAa,EAAE,CAAC;QAEhC,kEAAkE;QAClE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,CAAC;QACX,CAAC;QAED,uDAAuD;QACvD,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uBAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,MAAc;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,uBAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,MAAc,EAAE,KAAa;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,GAAG,YAAY,IAAI,IAAI,KAAK,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,OAAO,CACrB,OAAe,EACf,KAAa,EACb,SAAiB,uBAAe;IAEhC,IAAI,CAAC;QACH,0BAA0B;QAC1B,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE3B,sBAAsB;QACtB,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAE3C,oBAAoB;QACpB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE7C,oEAAoE;QACpE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,uBAAM,CAAC,IAAI,CAAC,iDAAiD,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YAC7E,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACtE,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;YAEnE,EAAE,CAAC,aAAa,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,uBAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;YAEzE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAC1D,CAAC;QAED,4BAA4B;QAC5B,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7C,uBAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;QAC9E,uBAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * ADR File Management Module Tests
3
- *
4
- * Tests for ADR file creation, numbering, and management.
5
- * Following TDD: These tests are written BEFORE implementation.
6
- */
7
- export {};
8
- //# sourceMappingURL=adr.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adr.test.js","sourceRoot":"","sources":["../src/adr.test.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,+BAOe;AAEf,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAErD,UAAU,CAAC,GAAG,EAAE;QACd,2CAA2C;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,0CAA0C;QAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,CAAC,IAAA,iBAAW,EAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACvF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,IAAA,iBAAW,EAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,IAAA,iBAAW,EAAC,0BAA0B,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,IAAA,iBAAW,EAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,IAAA,iBAAW,EAAC,uBAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC9B,MAAM,CAAC,IAAA,iBAAW,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,CAAC,IAAA,yBAAmB,EAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,CAAC,IAAA,yBAAmB,EAAC,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,IAAA,yBAAmB,EAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,IAAA,yBAAmB,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACjF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,CAAC,IAAA,yBAAmB,EAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAC7F,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;YACnE,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAClD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;YACjE,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9D,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,YAAY,CAAC,CAAC;YAClE,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,SAAS,CAAC,CAAC;YACjE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;YAC9D,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,EAAE,cAAc,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAA,sBAAgB,EAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YACvD,IAAA,wBAAkB,EAAC,SAAS,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAC5B,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAC5B,IAAA,wBAAkB,EAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;YAChE,MAAM,OAAO,GAAG,wDAAwD,CAAC;YACzE,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAE3D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC,CAAC;YAC3E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,OAAO,GAAG,uBAAuB,CAAC;YACxC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAErD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,OAAO,GAAG,IAAA,aAAO,EAAC,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,IAAA,aAAO,EAAC,wBAAwB,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,IAAA,aAAO,EAAC,sBAAsB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAElE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;YAEpD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,QAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,OAAO,GAAG,6FAA6F,CAAC;YAC9G,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAExD,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,QAAS,EAAE,OAAO,CAAC,CAAC;YAChE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,6BAA6B;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,qBAAe,CAAC,CAAC;YAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,OAAO,GAAG,+BAA+B,CAAC;YAChD,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAEpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,qBAAe,CAAC,CAAC;YAEnD,UAAU;YACV,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,sDAAsD;YACtD,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAE3C,4CAA4C;YAC5C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE7B,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;gBAExC,kCAAkC;gBAClC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,0DAA0D;gBAC1D,sEAAsE;gBACtE,MAAM,OAAO,GAAG,mBAAmB,CAAC;gBACpC,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEjD,6EAA6E;gBAC7E,MAAM,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACzC,MAAM,CAAC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACvC,MAAM,SAAS,GAAG,8FAA8F,CAAC;YACjH,MAAM,OAAO,GAAG,KAAK,SAAS,aAAa,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAEpD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,OAAO,GAAG,sCAAsC,CAAC;YACvD,MAAM,MAAM,GAAG,IAAA,aAAO,EAAC,OAAO,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,0CAA0C;YAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,CAAC,qBAAe,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,CAAC,qBAAe,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Analysis Orchestration Module
3
- *
4
- * Coordinates the complete analysis flow: config loading, git operations,
5
- * prompt formatting, LLM analysis, and result display.
6
- * Implements fail-open principle per constitution requirements.
7
- */
8
- import { DiffOptions } from './git';
9
- /**
10
- * Run complete analysis workflow
11
- *
12
- * This function orchestrates the entire analysis process:
13
- * 1. Load configuration
14
- * 2. Get changed files and diff based on options
15
- * 3. Format LLM prompt
16
- * 4. Call LLM for analysis
17
- * 5. Display results
18
- *
19
- * Follows fail-open principle: always exits cleanly, never throws.
20
- *
21
- * @param diffOptions - Options specifying which changes to analyze (defaults to all uncommitted)
22
- */
23
- export declare function runAnalysis(diffOptions?: DiffOptions): Promise<void>;
24
- //# sourceMappingURL=analysis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analysis.d.ts","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAA4B,WAAW,EAAY,MAAM,OAAO,CAAC;AAOxE;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,WAAW,GAAE,WAA6B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsO3F"}
package/dist/analysis.js DELETED
@@ -1,281 +0,0 @@
1
- "use strict";
2
- /**
3
- * Analysis Orchestration Module
4
- *
5
- * Coordinates the complete analysis flow: config loading, git operations,
6
- * prompt formatting, LLM analysis, and result display.
7
- * Implements fail-open principle per constitution requirements.
8
- */
9
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- var desc = Object.getOwnPropertyDescriptor(m, k);
12
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
- desc = { enumerable: true, get: function() { return m[k]; } };
14
- }
15
- Object.defineProperty(o, k2, desc);
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || (function () {
26
- var ownKeys = function(o) {
27
- ownKeys = Object.getOwnPropertyNames || function (o) {
28
- var ar = [];
29
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
- return ar;
31
- };
32
- return ownKeys(o);
33
- };
34
- return function (mod) {
35
- if (mod && mod.__esModule) return mod;
36
- var result = {};
37
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
- __setModuleDefault(result, mod);
39
- return result;
40
- };
41
- })();
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.runAnalysis = runAnalysis;
44
- const config_1 = require("./config");
45
- const git_1 = require("./git");
46
- const prompts_1 = require("./prompts");
47
- const llm_1 = require("./llm");
48
- const logger_1 = require("./logger");
49
- const adr_1 = require("./adr");
50
- const path = __importStar(require("path"));
51
- /**
52
- * Run complete analysis workflow
53
- *
54
- * This function orchestrates the entire analysis process:
55
- * 1. Load configuration
56
- * 2. Get changed files and diff based on options
57
- * 3. Format LLM prompt
58
- * 4. Call LLM for analysis
59
- * 5. Display results
60
- *
61
- * Follows fail-open principle: always exits cleanly, never throws.
62
- *
63
- * @param diffOptions - Options specifying which changes to analyze (defaults to all uncommitted)
64
- */
65
- async function runAnalysis(diffOptions = { mode: 'all' }) {
66
- try {
67
- logger_1.loggerInstance.info('Starting analysis workflow');
68
- // Step 1: Load configuration
69
- const configPath = (0, config_1.getDefaultConfigPath)();
70
- const config = await (0, config_1.loadConfig)(configPath);
71
- if (!config) {
72
- // eslint-disable-next-line no-console
73
- console.error('\n❌ Configuration Error');
74
- // eslint-disable-next-line no-console
75
- console.error('Configuration file not found or invalid.');
76
- // eslint-disable-next-line no-console
77
- console.error('\n💡 Run `cadr init` to create a configuration file.\n');
78
- return;
79
- }
80
- // Step 2: Get changed files based on diff options
81
- let changedFiles;
82
- try {
83
- changedFiles = await (0, git_1.getChangedFiles)(diffOptions);
84
- }
85
- catch (error) {
86
- if (error instanceof git_1.GitError) {
87
- // eslint-disable-next-line no-console
88
- console.error(`\n❌ Git Error: ${error.message}\n`);
89
- }
90
- else {
91
- // eslint-disable-next-line no-console
92
- console.error('\n❌ Failed to read changed files\n');
93
- }
94
- logger_1.loggerInstance.error('Failed to get changed files', { error, mode: diffOptions.mode });
95
- return;
96
- }
97
- // Check if there are changed files
98
- const modeText = diffOptions.mode === 'staged' ? 'staged' :
99
- diffOptions.mode === 'branch-diff' ? `between ${diffOptions.base || 'origin/main'} and ${diffOptions.head || 'HEAD'}` :
100
- 'uncommitted';
101
- if (changedFiles.length === 0) {
102
- // eslint-disable-next-line no-console
103
- console.log(`\nℹ️ No changes to analyze ${diffOptions.mode === 'branch-diff' ? modeText : `(${modeText})`}`);
104
- if (diffOptions.mode === 'staged') {
105
- // eslint-disable-next-line no-console
106
- console.log('💡 Stage some files first:');
107
- // eslint-disable-next-line no-console
108
- console.log(' git add <files>');
109
- // eslint-disable-next-line no-console
110
- console.log(' cadr analyze --staged\n');
111
- }
112
- else if (diffOptions.mode === 'branch-diff') {
113
- // eslint-disable-next-line no-console
114
- console.log('💡 No changes found between specified git references.\n');
115
- }
116
- else {
117
- // eslint-disable-next-line no-console
118
- console.log('💡 Make some changes first, then run:');
119
- // eslint-disable-next-line no-console
120
- console.log(' cadr analyze\n');
121
- }
122
- return;
123
- }
124
- // Display files being analyzed
125
- const fileCountText = diffOptions.mode === 'branch-diff' ?
126
- `${changedFiles.length} file${changedFiles.length === 1 ? '' : 's'} changed ${modeText}` :
127
- `${changedFiles.length} ${modeText} file${changedFiles.length === 1 ? '' : 's'}`;
128
- // eslint-disable-next-line no-console
129
- console.log(`\n📝 Analyzing ${fileCountText}:`);
130
- changedFiles.forEach((file) => {
131
- // eslint-disable-next-line no-console
132
- console.log(` • ${file}`);
133
- });
134
- // eslint-disable-next-line no-console
135
- console.log('');
136
- // Step 3: Get diff content
137
- let diffContent;
138
- try {
139
- diffContent = await (0, git_1.getDiff)(diffOptions);
140
- }
141
- catch (error) {
142
- // eslint-disable-next-line no-console
143
- console.error('\n❌ Failed to read diff content\n');
144
- logger_1.loggerInstance.error('Failed to get diff', { error, mode: diffOptions.mode });
145
- return;
146
- }
147
- // Check if diff is empty
148
- if (!diffContent || diffContent.trim().length === 0) {
149
- // eslint-disable-next-line no-console
150
- console.log('\nℹ️ No diff content found\n');
151
- return;
152
- }
153
- // Step 4: Format prompt
154
- const repositoryContext = path.basename(process.cwd());
155
- const prompt = (0, prompts_1.formatPrompt)(prompts_1.ANALYSIS_PROMPT_V1, {
156
- file_paths: changedFiles,
157
- diff_content: diffContent,
158
- });
159
- // Display analysis start
160
- const analysisText = diffOptions.mode === 'staged' ? 'staged changes' :
161
- diffOptions.mode === 'branch-diff' ? 'changes' :
162
- 'uncommitted changes';
163
- // eslint-disable-next-line no-console
164
- console.log(`🔍 Analyzing ${analysisText} for architectural significance...\n`);
165
- // eslint-disable-next-line no-console
166
- console.log(`🤖 Sending to ${config.provider} ${config.analysis_model}...\n`);
167
- // Step 5: Call LLM for analysis
168
- const response = await (0, llm_1.analyzeChanges)(config, {
169
- file_paths: changedFiles,
170
- diff_content: diffContent,
171
- repository_context: repositoryContext,
172
- analysis_prompt: prompt,
173
- });
174
- // Step 6: Display results
175
- if (!response.result || response.error) {
176
- // eslint-disable-next-line no-console
177
- console.error('\n❌ Analysis failed');
178
- // eslint-disable-next-line no-console
179
- console.error(`\n${response.error || 'Unknown error occurred'}\n`);
180
- return;
181
- }
182
- const result = response.result;
183
- // Display analysis result
184
- // eslint-disable-next-line no-console
185
- console.log('✅ Analysis Complete\n');
186
- if (result.is_significant) {
187
- // eslint-disable-next-line no-console
188
- console.log('📊 Result: ✨ ARCHITECTURALLY SIGNIFICANT');
189
- // eslint-disable-next-line no-console
190
- console.log(`💭 Reasoning: ${result.reason}\n`);
191
- if (result.confidence) {
192
- // eslint-disable-next-line no-console
193
- console.log(`🎯 Confidence: ${(result.confidence * 100).toFixed(0)}%\n`);
194
- }
195
- // Prompt user for ADR generation
196
- const shouldGenerate = await (0, prompts_1.promptForGeneration)(result.reason);
197
- if (shouldGenerate) {
198
- // eslint-disable-next-line no-console
199
- console.log('\n🧠 Generating ADR draft...\n');
200
- // Format generation prompt
201
- const generationPrompt = (0, prompts_1.formatGenerationPrompt)({
202
- file_paths: changedFiles,
203
- diff_content: diffContent,
204
- });
205
- // Call LLM to generate ADR content
206
- const generationResponse = await (0, llm_1.generateADRContent)(config, {
207
- file_paths: changedFiles,
208
- diff_content: diffContent,
209
- reason: result.reason,
210
- generation_prompt: generationPrompt,
211
- });
212
- if (!generationResponse.result || generationResponse.error) {
213
- // eslint-disable-next-line no-console
214
- console.error('\n❌ ADR generation failed');
215
- // eslint-disable-next-line no-console
216
- console.error(`\n${generationResponse.error || 'Unknown error occurred'}\n`);
217
- logger_1.loggerInstance.error('ADR generation failed', { error: generationResponse.error });
218
- }
219
- else {
220
- // Save ADR to file
221
- const saveResult = (0, adr_1.saveADR)(generationResponse.result.content, generationResponse.result.title);
222
- if (saveResult.success && saveResult.filePath) {
223
- // eslint-disable-next-line no-console
224
- console.log('✅ Success! Draft ADR created\n');
225
- // eslint-disable-next-line no-console
226
- console.log(`📄 File: ${saveResult.filePath}\n`);
227
- // eslint-disable-next-line no-console
228
- console.log('💡 Next steps:');
229
- // eslint-disable-next-line no-console
230
- console.log(' 1. Review and refine the generated ADR');
231
- // eslint-disable-next-line no-console
232
- console.log(' 2. Commit it alongside your code changes\n');
233
- logger_1.loggerInstance.info('ADR generation workflow completed successfully', {
234
- filePath: saveResult.filePath,
235
- title: generationResponse.result.title,
236
- });
237
- }
238
- else {
239
- // eslint-disable-next-line no-console
240
- console.error('\n❌ Failed to save ADR');
241
- // eslint-disable-next-line no-console
242
- console.error(`\n${saveResult.error || 'Unknown error occurred'}\n`);
243
- logger_1.loggerInstance.error('Failed to save ADR', { error: saveResult.error });
244
- }
245
- }
246
- }
247
- else {
248
- // User declined generation
249
- // eslint-disable-next-line no-console
250
- console.log('\n📋 Skipping ADR generation');
251
- // eslint-disable-next-line no-console
252
- console.log('🎯 Recommendation: Consider documenting this decision manually.\n');
253
- }
254
- }
255
- else {
256
- // eslint-disable-next-line no-console
257
- console.log('📊 Result: ℹ️ NOT ARCHITECTURALLY SIGNIFICANT');
258
- // eslint-disable-next-line no-console
259
- console.log(`💭 Reasoning: ${result.reason}\n`);
260
- if (result.confidence) {
261
- // eslint-disable-next-line no-console
262
- console.log(`🎯 Confidence: ${(result.confidence * 100).toFixed(0)}%\n`);
263
- }
264
- // eslint-disable-next-line no-console
265
- console.log('✅ No ADR needed for these changes.\n');
266
- }
267
- logger_1.loggerInstance.info('Analysis workflow completed successfully', {
268
- is_significant: result.is_significant,
269
- file_count: changedFiles.length,
270
- });
271
- }
272
- catch (error) {
273
- // Final catch-all for any unexpected errors (fail-open)
274
- logger_1.loggerInstance.error('Unexpected error in analysis workflow', { error });
275
- // eslint-disable-next-line no-console
276
- console.error('\n❌ An unexpected error occurred');
277
- // eslint-disable-next-line no-console
278
- console.error('Please check the logs for more details.\n');
279
- }
280
- }
281
- //# sourceMappingURL=analysis.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../src/analysis.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * Analysis Module Integration Tests
3
- *
4
- * Tests for the complete analysis workflow including generation.
5
- * Following TDD: These tests are written BEFORE implementation.
6
- */
7
- export {};
8
- //# sourceMappingURL=analysis.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"analysis.test.d.ts","sourceRoot":"","sources":["../src/analysis.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}