mirror of
https://github.com/QwenLM/qwen-code.git
synced 2025-12-19 09:33:53 +00:00
Update companionPort not existing to be a warning so the user can still proceed with running /ide install (#4382)
This commit is contained in:
@@ -947,16 +947,20 @@ describe('loadCliConfig ideMode', () => {
|
|||||||
expect(mcpServers['_ide_server'].trust).toBe(false);
|
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'];
|
process.argv = ['node', 'script.js', '--ide-mode'];
|
||||||
const argv = await parseArguments();
|
const argv = await parseArguments();
|
||||||
process.env.TERM_PROGRAM = 'vscode';
|
process.env.TERM_PROGRAM = 'vscode';
|
||||||
const settings: Settings = {};
|
const settings: Settings = {};
|
||||||
await expect(
|
await loadCliConfig(settings, [], 'test-session', argv);
|
||||||
loadCliConfig(settings, [], 'test-session', argv),
|
expect(consoleWarnSpy).toHaveBeenCalledWith(
|
||||||
).rejects.toThrow(
|
'[WARN]',
|
||||||
'Could not connect to IDE. Make sure you have the companion VS Code extension installed from the marketplace or via /ide install.',
|
'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 () => {
|
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;
|
const companionPort = process.env.GEMINI_CLI_IDE_SERVER_PORT;
|
||||||
if (!companionPort) {
|
if (companionPort) {
|
||||||
throw new Error(
|
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.',
|
'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);
|
const sandboxConfig = await loadSandboxConfig(settings, argv);
|
||||||
|
|||||||
Reference in New Issue
Block a user