Update companionPort not existing to be a warning so the user can still proceed with running /ide install (#4382)
This commit is contained in:
parent
79d36ac0a5
commit
88b5f20943
|
@ -947,16 +947,20 @@ describe('loadCliConfig ideMode', () => {
|
|||
expect(mcpServers['_ide_server'].trust).toBe(false);
|
||||
});
|
||||
|
||||
it('should throw an error if ideMode is true and no port is set', async () => {
|
||||
it('should warn if ideMode is true and no port is set', async () => {
|
||||
const consoleWarnSpy = vi
|
||||
.spyOn(console, 'warn')
|
||||
.mockImplementation(() => {});
|
||||
process.argv = ['node', 'script.js', '--ide-mode'];
|
||||
const argv = await parseArguments();
|
||||
process.env.TERM_PROGRAM = 'vscode';
|
||||
const settings: Settings = {};
|
||||
await expect(
|
||||
loadCliConfig(settings, [], 'test-session', argv),
|
||||
).rejects.toThrow(
|
||||
await loadCliConfig(settings, [], 'test-session', argv);
|
||||
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
||||
'[WARN]',
|
||||
'Could not connect to IDE. Make sure you have the companion VS Code extension installed from the marketplace or via /ide install.',
|
||||
);
|
||||
consoleWarnSpy.mockRestore();
|
||||
});
|
||||
|
||||
it('should warn and overwrite if settings contain the reserved _ide_server name and ideMode is active', async () => {
|
||||
|
|
|
@ -312,27 +312,28 @@ export async function loadCliConfig(
|
|||
);
|
||||
}
|
||||
const companionPort = process.env.GEMINI_CLI_IDE_SERVER_PORT;
|
||||
if (!companionPort) {
|
||||
throw new Error(
|
||||
if (companionPort) {
|
||||
const httpUrl = `http://localhost:${companionPort}/mcp`;
|
||||
mcpServers[IDE_SERVER_NAME] = new MCPServerConfig(
|
||||
undefined, // command
|
||||
undefined, // args
|
||||
undefined, // env
|
||||
undefined, // cwd
|
||||
undefined, // url
|
||||
httpUrl, // httpUrl
|
||||
undefined, // headers
|
||||
undefined, // tcp
|
||||
undefined, // timeout
|
||||
false, // trust
|
||||
'IDE connection', // description
|
||||
undefined, // includeTools
|
||||
undefined, // excludeTools
|
||||
);
|
||||
} else {
|
||||
logger.warn(
|
||||
'Could not connect to IDE. Make sure you have the companion VS Code extension installed from the marketplace or via /ide install.',
|
||||
);
|
||||
}
|
||||
const httpUrl = `http://localhost:${companionPort}/mcp`;
|
||||
mcpServers[IDE_SERVER_NAME] = new MCPServerConfig(
|
||||
undefined, // command
|
||||
undefined, // args
|
||||
undefined, // env
|
||||
undefined, // cwd
|
||||
undefined, // url
|
||||
httpUrl, // httpUrl
|
||||
undefined, // headers
|
||||
undefined, // tcp
|
||||
undefined, // timeout
|
||||
false, // trust
|
||||
'IDE connection', // description
|
||||
undefined, // includeTools
|
||||
undefined, // excludeTools
|
||||
);
|
||||
}
|
||||
|
||||
const sandboxConfig = await loadSandboxConfig(settings, argv);
|
||||
|
|
Loading…
Reference in New Issue