popeye-cli 1.4.6 → 1.4.7

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.
@@ -2,6 +2,12 @@
2
2
  * Auto-fix module for automatically fixing build and TypeScript errors
3
3
  * Uses Claude to analyze errors and apply fixes
4
4
  */
5
+ /**
6
+ * Resolve a (possibly relative) error file path to an absolute path that exists on disk.
7
+ * For workspace projects, if the file doesn't exist at the project root, searches
8
+ * workspace subdirectories (apps/frontend, apps/backend, etc.).
9
+ */
10
+ export declare function resolveErrorFilePath(filePath: string, projectDir: string, language: string): Promise<string>;
5
11
  /**
6
12
  * Build error details
7
13
  */
@@ -45,7 +51,7 @@ export declare function parseTypeScriptErrors(output: string): BuildError[];
45
51
  /**
46
52
  * Auto-fix TypeScript errors in a project
47
53
  */
48
- export declare function autoFixTypeScriptErrors(projectDir: string, buildOutput: string, maxAttempts?: number, onProgress?: (message: string) => void): Promise<AutoFixResult>;
54
+ export declare function autoFixTypeScriptErrors(projectDir: string, buildOutput: string, maxAttempts?: number, onProgress?: (message: string) => void, language?: string): Promise<AutoFixResult>;
49
55
  /**
50
56
  * Run build with auto-fix
51
57
  */
@@ -1 +1 @@
1
- {"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAgClE;AA6FD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,aAAa,CAAC,CA6JxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC,CAsFD"}
1
+ {"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAsCjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,+FAA+F;IAC/F,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAgClE;AA6FD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EACtC,QAAQ,GAAE,MAAqB,GAC9B,OAAO,CAAC,aAAa,CAAC,CA6JxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC;IACT,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB,CAAC,CAsFD"}
@@ -5,6 +5,58 @@
5
5
  import { promises as fs } from 'node:fs';
6
6
  import path from 'node:path';
7
7
  import { executePrompt } from '../adapters/claude.js';
8
+ import { isWorkspace } from '../types/project.js';
9
+ /** Standard workspace subdirectories to search when a file isn't at the root */
10
+ const WORKSPACE_SUBDIRS = ['apps/frontend', 'apps/backend', 'apps/website', 'packages/frontend', 'packages/backend'];
11
+ /**
12
+ * Resolve a (possibly relative) error file path to an absolute path that exists on disk.
13
+ * For workspace projects, if the file doesn't exist at the project root, searches
14
+ * workspace subdirectories (apps/frontend, apps/backend, etc.).
15
+ */
16
+ export async function resolveErrorFilePath(filePath, projectDir, language) {
17
+ // If already absolute and exists, use it directly
18
+ if (path.isAbsolute(filePath)) {
19
+ try {
20
+ await fs.access(filePath);
21
+ return filePath;
22
+ }
23
+ catch {
24
+ // Absolute path doesn't exist — for workspace projects, try searching subdirs
25
+ if (!isWorkspace(language))
26
+ return filePath;
27
+ const basename = path.basename(filePath);
28
+ for (const subdir of WORKSPACE_SUBDIRS) {
29
+ const candidate = path.join(projectDir, subdir, basename);
30
+ try {
31
+ await fs.access(candidate);
32
+ return candidate;
33
+ }
34
+ catch { /* continue */ }
35
+ }
36
+ return filePath;
37
+ }
38
+ }
39
+ // Relative path: try at project root first
40
+ const rootPath = path.join(projectDir, filePath);
41
+ try {
42
+ await fs.access(rootPath);
43
+ return rootPath;
44
+ }
45
+ catch {
46
+ // Not at root — for workspace projects, search subdirs
47
+ if (!isWorkspace(language))
48
+ return rootPath;
49
+ for (const subdir of WORKSPACE_SUBDIRS) {
50
+ const candidate = path.join(projectDir, subdir, filePath);
51
+ try {
52
+ await fs.access(candidate);
53
+ return candidate;
54
+ }
55
+ catch { /* continue */ }
56
+ }
57
+ return rootPath;
58
+ }
59
+ }
8
60
  /**
9
61
  * Parse TypeScript compiler errors from output.
10
62
  * Supports two formats:
@@ -124,7 +176,7 @@ function extractCodeFromResponse(response) {
124
176
  /**
125
177
  * Auto-fix TypeScript errors in a project
126
178
  */
127
- export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttempts = 3, onProgress) {
179
+ export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttempts = 3, onProgress, language = 'typescript') {
128
180
  const fixes = [];
129
181
  let attempts = 0;
130
182
  let currentOutput = buildOutput;
@@ -173,7 +225,7 @@ export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttemp
173
225
  let fixedInThisAttempt = 0;
174
226
  // Fix each file
175
227
  for (const [filePath, fileErrors] of errorsByFile) {
176
- const absolutePath = path.isAbsolute(filePath) ? filePath : path.join(projectDir, filePath);
228
+ const absolutePath = await resolveErrorFilePath(filePath, projectDir, language);
177
229
  try {
178
230
  // Read current file content
179
231
  const fileContent = await fs.readFile(absolutePath, 'utf-8');
@@ -313,7 +365,7 @@ export async function buildWithAutoFix(projectDir, language, maxAttempts = 3, on
313
365
  onProgress?.('Build failed, attempting auto-fix...');
314
366
  // Try auto-fix for TypeScript-based projects (includes fullstack, website, all)
315
367
  if (isTypeScriptBased) {
316
- const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress);
368
+ const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress, language);
317
369
  // Log structural issue if detected
318
370
  if (fixResult.isStructuralIssue) {
319
371
  onProgress?.(`STRUCTURAL ISSUE: ${fixResult.missingFileCount}/${fixResult.totalErrorFiles} error files not found on disk. Likely missing files, not code bugs.`);
@@ -1 +1 @@
1
- {"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "popeye-cli",
3
- "version": "1.4.6",
3
+ "version": "1.4.7",
4
4
  "description": "Fully autonomous code generation tool powered by Claude CLI and OpenAI consensus",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -6,6 +6,59 @@
6
6
  import { promises as fs } from 'node:fs';
7
7
  import path from 'node:path';
8
8
  import { executePrompt } from '../adapters/claude.js';
9
+ import { isWorkspace, type OutputLanguage } from '../types/project.js';
10
+
11
+ /** Standard workspace subdirectories to search when a file isn't at the root */
12
+ const WORKSPACE_SUBDIRS = ['apps/frontend', 'apps/backend', 'apps/website', 'packages/frontend', 'packages/backend'];
13
+
14
+ /**
15
+ * Resolve a (possibly relative) error file path to an absolute path that exists on disk.
16
+ * For workspace projects, if the file doesn't exist at the project root, searches
17
+ * workspace subdirectories (apps/frontend, apps/backend, etc.).
18
+ */
19
+ export async function resolveErrorFilePath(
20
+ filePath: string,
21
+ projectDir: string,
22
+ language: string,
23
+ ): Promise<string> {
24
+ // If already absolute and exists, use it directly
25
+ if (path.isAbsolute(filePath)) {
26
+ try {
27
+ await fs.access(filePath);
28
+ return filePath;
29
+ } catch {
30
+ // Absolute path doesn't exist — for workspace projects, try searching subdirs
31
+ if (!isWorkspace(language as OutputLanguage)) return filePath;
32
+ const basename = path.basename(filePath);
33
+ for (const subdir of WORKSPACE_SUBDIRS) {
34
+ const candidate = path.join(projectDir, subdir, basename);
35
+ try {
36
+ await fs.access(candidate);
37
+ return candidate;
38
+ } catch { /* continue */ }
39
+ }
40
+ return filePath;
41
+ }
42
+ }
43
+
44
+ // Relative path: try at project root first
45
+ const rootPath = path.join(projectDir, filePath);
46
+ try {
47
+ await fs.access(rootPath);
48
+ return rootPath;
49
+ } catch {
50
+ // Not at root — for workspace projects, search subdirs
51
+ if (!isWorkspace(language as OutputLanguage)) return rootPath;
52
+ for (const subdir of WORKSPACE_SUBDIRS) {
53
+ const candidate = path.join(projectDir, subdir, filePath);
54
+ try {
55
+ await fs.access(candidate);
56
+ return candidate;
57
+ } catch { /* continue */ }
58
+ }
59
+ return rootPath;
60
+ }
61
+ }
9
62
 
10
63
  /**
11
64
  * Build error details
@@ -180,7 +233,8 @@ export async function autoFixTypeScriptErrors(
180
233
  projectDir: string,
181
234
  buildOutput: string,
182
235
  maxAttempts: number = 3,
183
- onProgress?: (message: string) => void
236
+ onProgress?: (message: string) => void,
237
+ language: string = 'typescript',
184
238
  ): Promise<AutoFixResult> {
185
239
  const fixes: Array<{ file: string; description: string }> = [];
186
240
  let attempts = 0;
@@ -237,7 +291,7 @@ export async function autoFixTypeScriptErrors(
237
291
 
238
292
  // Fix each file
239
293
  for (const [filePath, fileErrors] of errorsByFile) {
240
- const absolutePath = path.isAbsolute(filePath) ? filePath : path.join(projectDir, filePath);
294
+ const absolutePath = await resolveErrorFilePath(filePath, projectDir, language);
241
295
 
242
296
  try {
243
297
  // Read current file content
@@ -401,7 +455,7 @@ export async function buildWithAutoFix(
401
455
 
402
456
  // Try auto-fix for TypeScript-based projects (includes fullstack, website, all)
403
457
  if (isTypeScriptBased) {
404
- const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress);
458
+ const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress, language);
405
459
 
406
460
  // Log structural issue if detected
407
461
  if (fixResult.isStructuralIssue) {
@@ -7,7 +7,7 @@ import { promises as fs } from 'node:fs';
7
7
  import path from 'node:path';
8
8
  import os from 'node:os';
9
9
  import { parseErrorFilePaths, analyzeFileExistence } from '../../src/workflow/execution-mode.js';
10
- import { parseTypeScriptErrors } from '../../src/workflow/auto-fix.js';
10
+ import { parseTypeScriptErrors, resolveErrorFilePath } from '../../src/workflow/auto-fix.js';
11
11
 
12
12
  let tempDir: string;
13
13
 
@@ -314,6 +314,66 @@ npm ERR! Exit status 1`;
314
314
  });
315
315
  });
316
316
 
317
+ describe('resolveErrorFilePath (workspace path resolution)', () => {
318
+ it('should find file at project root for non-workspace language', async () => {
319
+ await fs.writeFile(path.join(tempDir, 'vite.config.ts'), 'export default {}');
320
+
321
+ const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'typescript');
322
+ expect(result).toBe(path.join(tempDir, 'vite.config.ts'));
323
+ });
324
+
325
+ it('should return root path for non-workspace language even when file is missing', async () => {
326
+ const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'typescript');
327
+ expect(result).toBe(path.join(tempDir, 'vite.config.ts'));
328
+ });
329
+
330
+ it('should find file in apps/frontend for fullstack when not at root', async () => {
331
+ await fs.mkdir(path.join(tempDir, 'apps', 'frontend'), { recursive: true });
332
+ await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'vite.config.ts'), 'export default {}');
333
+
334
+ const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'fullstack');
335
+ expect(result).toBe(path.join(tempDir, 'apps', 'frontend', 'vite.config.ts'));
336
+ });
337
+
338
+ it('should find file in apps/backend for "all" language', async () => {
339
+ await fs.mkdir(path.join(tempDir, 'apps', 'backend'), { recursive: true });
340
+ await fs.writeFile(path.join(tempDir, 'apps', 'backend', 'vitest.config.ts'), 'export default {}');
341
+
342
+ const result = await resolveErrorFilePath('vitest.config.ts', tempDir, 'all');
343
+ expect(result).toBe(path.join(tempDir, 'apps', 'backend', 'vitest.config.ts'));
344
+ });
345
+
346
+ it('should prefer project root if file exists there for workspace', async () => {
347
+ await fs.writeFile(path.join(tempDir, 'tsconfig.json'), '{}');
348
+ await fs.mkdir(path.join(tempDir, 'apps', 'frontend'), { recursive: true });
349
+ await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'tsconfig.json'), '{}');
350
+
351
+ const result = await resolveErrorFilePath('tsconfig.json', tempDir, 'fullstack');
352
+ expect(result).toBe(path.join(tempDir, 'tsconfig.json'));
353
+ });
354
+
355
+ it('should search packages/ fallback for workspace', async () => {
356
+ await fs.mkdir(path.join(tempDir, 'packages', 'frontend'), { recursive: true });
357
+ await fs.writeFile(path.join(tempDir, 'packages', 'frontend', 'vite.config.ts'), 'export default {}');
358
+
359
+ const result = await resolveErrorFilePath('vite.config.ts', tempDir, 'fullstack');
360
+ expect(result).toBe(path.join(tempDir, 'packages', 'frontend', 'vite.config.ts'));
361
+ });
362
+
363
+ it('should resolve relative paths with subdirs (e.g. src/App.tsx)', async () => {
364
+ await fs.mkdir(path.join(tempDir, 'apps', 'frontend', 'src'), { recursive: true });
365
+ await fs.writeFile(path.join(tempDir, 'apps', 'frontend', 'src', 'App.tsx'), 'export default {}');
366
+
367
+ const result = await resolveErrorFilePath('src/App.tsx', tempDir, 'fullstack');
368
+ expect(result).toBe(path.join(tempDir, 'apps', 'frontend', 'src', 'App.tsx'));
369
+ });
370
+
371
+ it('should return root fallback when file not found anywhere in workspace', async () => {
372
+ const result = await resolveErrorFilePath('nonexistent.ts', tempDir, 'fullstack');
373
+ expect(result).toBe(path.join(tempDir, 'nonexistent.ts'));
374
+ });
375
+ });
376
+
317
377
  describe('autoFixTypeScriptErrors false success prevention', () => {
318
378
  it('should return success: false when zero errors parsed on first attempt', () => {
319
379
  // Simulating the logic from autoFixTypeScriptErrors