Add ExtensionLoader interface, use that on Config object (#12116)

This commit is contained in:
Jacob MacDonald
2025-10-28 09:04:30 -07:00
committed by GitHub
parent 25f27509c0
commit 1b302deeff
35 changed files with 619 additions and 505 deletions
+5 -4
View File
@@ -21,6 +21,7 @@ import {
DEFAULT_GEMINI_EMBEDDING_MODEL,
DEFAULT_GEMINI_MODEL,
type GeminiCLIExtension,
type ExtensionLoader,
debugLogger,
} from '@google/gemini-cli-core';
@@ -30,10 +31,10 @@ import { type AgentSettings, CoderAgentEvent } from '../types.js';
export async function loadConfig(
settings: Settings,
extensions: GeminiCLIExtension[],
extensionLoader: ExtensionLoader,
taskId: string,
): Promise<Config> {
const mcpServers = mergeMcpServers(settings, extensions);
const mcpServers = mergeMcpServers(settings, extensionLoader.getExtensions());
const workspaceDir = process.cwd();
const adcFilePath = process.env['GOOGLE_APPLICATION_CREDENTIALS'];
@@ -71,7 +72,7 @@ export async function loadConfig(
},
ideMode: false,
folderTrust: settings.folderTrust === true,
extensions,
extensionLoader,
};
const fileService = new FileDiscoveryService(workspaceDir);
@@ -80,7 +81,7 @@ export async function loadConfig(
[workspaceDir],
false,
fileService,
extensions,
extensionLoader,
settings.folderTrust === true,
);
configParams.userMemory = memoryContent;