diff --git a/packages/vscode-ide-companion/src/cli/cliDetector.ts b/packages/vscode-ide-companion/src/cli/cliDetector.ts index 20570c74..3fb8c454 100644 --- a/packages/vscode-ide-companion/src/cli/cliDetector.ts +++ b/packages/vscode-ide-companion/src/cli/cliDetector.ts @@ -186,7 +186,7 @@ export class CliDetector { const { stdout } = await execAsync(detectionCommand, { timeout: 5000, - shell: '/bin/bash', + shell: isWindows ? undefined : '/bin/bash', }); // The output may contain multiple lines, with NVM activation messages // We want the last line which should be the actual path @@ -216,7 +216,7 @@ export class CliDetector { const { stdout: versionOutput } = await execAsync(versionCommand, { timeout: 5000, - shell: '/bin/bash', + shell: isWindows ? undefined : '/bin/bash', }); // The output may contain multiple lines, with NVM activation messages // We want the last line which should be the actual version diff --git a/packages/vscode-ide-companion/src/cli/cliInstaller.ts b/packages/vscode-ide-companion/src/cli/cliInstaller.ts index 4eb0d0e7..8bbf4f51 100644 --- a/packages/vscode-ide-companion/src/cli/cliInstaller.ts +++ b/packages/vscode-ide-companion/src/cli/cliInstaller.ts @@ -124,7 +124,7 @@ export class CliInstaller { installCommand, { timeout: 120000, - shell: '/bin/bash', + shell: process.platform === 'win32' ? undefined : '/bin/bash', }, // 2 minutes timeout ); diff --git a/packages/vscode-ide-companion/src/services/acpSessionManager.ts b/packages/vscode-ide-companion/src/services/acpSessionManager.ts index 55b1d2b5..d313cba7 100644 --- a/packages/vscode-ide-companion/src/services/acpSessionManager.ts +++ b/packages/vscode-ide-companion/src/services/acpSessionManager.ts @@ -54,8 +54,14 @@ export class AcpSessionManager { }; return new Promise((resolve, reject) => { - const timeoutDuration = - method === AGENT_METHODS.session_prompt ? 120000 : 60000; + // different timeout durations based on methods + let timeoutDuration = 60000; // default 60 seconds + if ( + method === AGENT_METHODS.session_prompt || + method === AGENT_METHODS.initialize + ) { + timeoutDuration = 120000; // 2min for session_prompt and initialize + } const timeoutId = setTimeout(() => { pendingRequests.delete(id);