diff --git a/packages/cli/src/config/config.ts b/packages/cli/src/config/config.ts index af8c1ae0ac..74316a97a0 100755 --- a/packages/cli/src/config/config.ts +++ b/packages/cli/src/config/config.ts @@ -978,6 +978,7 @@ export async function loadCliConfig( modelSteering: settings.experimental?.modelSteering, topicUpdateNarration: settings.experimental?.topicUpdateNarration, toolOutputMasking: settings.experimental?.toolOutputMasking, + useAgentProtocol: settings.experimental?.useAgentProtocol, noBrowser: !!process.env['NO_BROWSER'], summarizeToolOutput: settings.model?.summarizeToolOutput, ideMode, diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index aec521317c..8bed4c90d0 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -2080,6 +2080,16 @@ const SETTINGS_SCHEMA = { 'Enable dynamic model configuration (definitions, resolutions, and chains) via settings.', showInDialog: false, }, + useAgentProtocol: { + type: 'boolean', + label: 'Use Agent Protocol', + category: 'Experimental', + requiresRestart: true, + default: false, + description: + 'Enable the experimental unified agent for interactive mode.', + showInDialog: false, + }, gemmaModelRouter: { type: 'object', label: 'Gemma Model Router', diff --git a/packages/core/src/config/config.ts b/packages/core/src/config/config.ts index 16e7cbf59e..159052dddf 100644 --- a/packages/core/src/config/config.ts +++ b/packages/core/src/config/config.ts @@ -681,6 +681,7 @@ export interface ConfigParameters { adminSkillsEnabled?: boolean; experimentalJitContext?: boolean; experimentalMemoryManager?: boolean; + useAgentProtocol?: boolean; topicUpdateNarration?: boolean; toolOutputMasking?: Partial; disableLLMCorrection?: boolean; @@ -909,6 +910,7 @@ export class Config implements McpContext, AgentLoopContext { private readonly experimentalJitContext: boolean; private readonly experimentalMemoryManager: boolean; + private readonly useAgentProtocol: boolean; private readonly topicUpdateNarration: boolean; private readonly disableLLMCorrection: boolean; private readonly planEnabled: boolean; @@ -1118,6 +1120,7 @@ export class Config implements McpContext, AgentLoopContext { this.experimentalJitContext = params.experimentalJitContext ?? true; this.experimentalMemoryManager = params.experimentalMemoryManager ?? false; + this.useAgentProtocol = params.useAgentProtocol ?? false; this.topicUpdateNarration = params.topicUpdateNarration ?? false; this.modelSteering = params.modelSteering ?? false; this.injectionService = new InjectionService(() => @@ -2298,6 +2301,10 @@ export class Config implements McpContext, AgentLoopContext { return this.experimentalMemoryManager; } + getExperimentalUseAgentProtocol(): boolean { + return this.useAgentProtocol; + } + isTopicUpdateNarrationEnabled(): boolean { return this.topicUpdateNarration; }