diff options
| author | Tommaso Sciortino <[email protected]> | 2025-07-01 16:13:46 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-01 23:13:46 +0000 |
| commit | 3492c429b95b7e905cd7cc7538e95b38809cc53e (patch) | |
| tree | f69b27e19ebe1037756b329a1ebda449451033de /packages/cli/src/config/config.ts | |
| parent | e94decea39c5d81cddbfc1fd3b5c3881947551cf (diff) | |
Add excludedTools to extensions. (#2853)
Diffstat (limited to 'packages/cli/src/config/config.ts')
| -rw-r--r-- | packages/cli/src/config/config.ts | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index 552a8f67..cecf904b 100644 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -194,6 +194,7 @@ export async function loadCliConfig( ); const mcpServers = mergeMcpServers(settings, extensions); + const excludeTools = mergeExcludeTools(settings, extensions); const sandboxConfig = await loadSandboxConfig(settings, argv); @@ -206,7 +207,7 @@ export async function loadCliConfig( question: argv.prompt || '', fullContext: argv.all_files || false, coreTools: settings.coreTools || undefined, - excludeTools: settings.excludeTools || undefined, + excludeTools, toolDiscoveryCommand: settings.toolDiscoveryCommand, toolCallCommand: settings.toolCallCommand, mcpServerCommand: settings.mcpServerCommand, @@ -265,6 +266,20 @@ function mergeMcpServers(settings: Settings, extensions: Extension[]) { } return mcpServers; } + +function mergeExcludeTools( + settings: Settings, + extensions: Extension[], +): string[] { + const allExcludeTools = new Set(settings.excludeTools || []); + for (const extension of extensions) { + for (const tool of extension.config.excludeTools || []) { + allExcludeTools.add(tool); + } + } + return [...allExcludeTools]; +} + function findEnvFile(startDir: string): string | null { let currentDir = path.resolve(startDir); while (true) { |
