summaryrefslogtreecommitdiff
path: root/packages/core/src/config/config.ts
diff options
context:
space:
mode:
authorchristine betts <[email protected]>2025-07-25 17:46:55 +0000
committerGitHub <[email protected]>2025-07-25 17:46:55 +0000
commit1b8ba5ca6bf739e4100a1d313721988f953acb49 (patch)
tree9dea66f108d427edc6284e1ea38b5883d8e82881 /packages/core/src/config/config.ts
parent3c16429fc4b8102b7ea44c5b2842507e3a99ec72 (diff)
[ide-mode] Create an IDE manager class to handle connecting to and exposing methods from the IDE server (#4797)
Diffstat (limited to 'packages/core/src/config/config.ts')
-rw-r--r--packages/core/src/config/config.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts
index 485a56c4..96b6f2cb 100644
--- a/packages/core/src/config/config.ts
+++ b/packages/core/src/config/config.ts
@@ -45,6 +45,7 @@ import {
import { ClearcutLogger } from '../telemetry/clearcut-logger/clearcut-logger.js';
import { shouldAttemptBrowserLaunch } from '../utils/browser.js';
import { MCPOAuthConfig } from '../mcp/oauth-provider.js';
+import { IdeClient } from '../ide/ide-client.js';
// Re-export OAuth config type
export type { MCPOAuthConfig };
@@ -180,6 +181,7 @@ export interface ConfigParameters {
noBrowser?: boolean;
summarizeToolOutput?: Record<string, SummarizeToolOutputSettings>;
ideMode?: boolean;
+ ideClient?: IdeClient;
}
export class Config {
@@ -221,6 +223,7 @@ export class Config {
private readonly extensionContextFilePaths: string[];
private readonly noBrowser: boolean;
private readonly ideMode: boolean;
+ private readonly ideClient: IdeClient | undefined;
private modelSwitchedDuringSession: boolean = false;
private readonly maxSessionTurns: number;
private readonly listExtensions: boolean;
@@ -286,6 +289,7 @@ export class Config {
this.noBrowser = params.noBrowser ?? false;
this.summarizeToolOutput = params.summarizeToolOutput;
this.ideMode = params.ideMode ?? false;
+ this.ideClient = params.ideClient;
if (params.contextFileName) {
setGeminiMdFilename(params.contextFileName);
@@ -574,6 +578,10 @@ export class Config {
return this.ideMode;
}
+ getIdeClient(): IdeClient | undefined {
+ return this.ideClient;
+ }
+
async getGitService(): Promise<GitService> {
if (!this.gitService) {
this.gitService = new GitService(this.targetDir);