fix(codex): handle lsp diagnostics failures

This commit is contained in:
YeonGyu-Kim
2026-05-31 10:56:37 +09:00
parent f84ef382fd
commit 021d4e3c97
2 changed files with 72 additions and 1 deletions
@@ -89,13 +89,29 @@ async function collectDiagnostics(
nextIndex += 1;
const filePath = filePaths[index];
if (filePath === undefined) return;
results[index] = { filePath, diagnostics: (await runDiagnostics(filePath)).trim() };
results[index] = { filePath, diagnostics: await collectFileDiagnostics(filePath, runDiagnostics) };
}
}
await Promise.all(Array.from({ length: workerCount }, () => worker()));
return results;
}
async function collectFileDiagnostics(filePath: string, runDiagnostics: DiagnosticsRunner): Promise<string> {
try {
return (await runDiagnostics(filePath)).trim();
} catch (error) {
return formatDiagnosticsError(error);
}
}
function formatDiagnosticsError(error: unknown): string {
if (error instanceof Error) {
const message = error.message.trim();
if (message.length > 0) return message;
}
return String(error).trim();
}
function formatDiagnosticBlock({ filePath, diagnostics }: DiagnosticBlock): string {
return `LSP diagnostics after editing ${filePath}:\n\n${formatDiagnosticsForDisplay(diagnostics)}`;
}