Update config to change name of agentic proxy search endpoint#3672
Update config to change name of agentic proxy search endpoint#3672bhavyaus merged 14 commits intomicrosoft:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new configuration setting to allow dogfooders to customize the model name for the agentic proxy search endpoint. The default model name remains agentic-search-v1, but it can now be overridden via github.copilot.chat.searchSubagent.agenticProxySearchModelName. The PR also modifies the SearchSubagent tool enablement logic in the agent intent handling.
Changes:
- Added new configuration key
AgenticProxySearchModelNamewith default value 'agentic-search-v1' - Modified
ProxyAgenticSearchEndpointto read model name from configuration instead of hardcoding it - Removed
useAgenticProxycheck from SearchSubagent tool enablement logic inagentIntent.ts
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| src/platform/configuration/common/configurationService.ts | Added new AgenticProxySearchModelName configuration key with default value 'agentic-search-v1' |
| src/platform/endpoint/node/proxyAgenticSearchEndpoint.ts | Changed from hardcoded model name to reading from configuration service |
| src/extension/intents/node/agentIntent.ts | Removed useAgenticProxy check from SearchSubagent tool enablement logic |
| .vscode/settings.json | Added dogfooding settings for search subagent features |
Comments suppressed due to low confidence (1)
src/platform/configuration/common/configurationService.ts:692
- A localization string needs to be added to package.nls.json for the new configuration setting. Add an entry like
"github.copilot.config.searchSubagent.agenticProxySearchModelName": "Model name to use for the agentic proxy search endpoint."after thesearchSubagent.useAgenticProxyentry to provide proper user-facing documentation for this setting.
export const AgenticProxySearchModelName = defineSetting<string>('chat.searchSubagent.agenticProxySearchModelName', ConfigType.Simple, 'agentic-search-v1');
| /** Use the agentic proxy for the search subagent tool */ | ||
| export const SearchSubagentUseAgenticProxy = defineSetting<boolean>('chat.searchSubagent.useAgenticProxy', ConfigType.Simple, false); | ||
| /** Model name for the agentic search endpoint */ | ||
| export const AgenticProxySearchModelName = defineSetting<string>('chat.searchSubagent.agenticProxySearchModelName', ConfigType.Simple, 'agentic-search-v1'); |
There was a problem hiding this comment.
The new configuration key github.copilot.chat.searchSubagent.agenticProxySearchModelName is not registered in package.json. All configuration settings must be registered in the contributes.configuration section of package.json to be recognized by VS Code and to provide proper IntelliSense and documentation to users. The setting should be added after the existing github.copilot.chat.searchSubagent.useAgenticProxy setting with appropriate type, default value, and markdown description.
This issue also appears on line 692 of the same file.
| const searchSubagentEnabled = configurationService.getExperimentBasedConfig(ConfigKey.Advanced.SearchSubagentToolEnabled, experimentationService); | ||
| const isGptOrAnthropic = isGptFamily(model) || isAnthropicFamily(model); | ||
| allowTools[ToolName.SearchSubagent] = isGptOrAnthropic && (useAgenticProxy && searchSubagentEnabled); | ||
| allowTools[ToolName.SearchSubagent] = isGptOrAnthropic && searchSubagentEnabled; |
There was a problem hiding this comment.
The removal of the useAgenticProxy check from the SearchSubagent tool enablement logic changes the behavior. Previously, the SearchSubagent tool was only enabled when both searchSubagentEnabled AND useAgenticProxy were true. Now it will be enabled whenever just searchSubagentEnabled is true, regardless of the useAgenticProxy setting. This means users who have searchSubagentEnabled true but useAgenticProxy false will now get the SearchSubagent tool enabled when they previously wouldn't have. If this behavior change is intentional, it should be documented in the PR description.
See below for a potential fix:
const useAgenticProxy = configurationService.getExperimentBasedConfig(ConfigKey.Advanced.UseAgenticProxy, experimentationService);
const isGptOrAnthropic = isGptFamily(model) || isAnthropicFamily(model);
allowTools[ToolName.SearchSubagent] = isGptOrAnthropic && searchSubagentEnabled && useAgenticProxy;
| "github.copilot.chat.searchSubagent.useAgenticProxy": true, | ||
| "github.copilot.chat.searchSubagent.enabled": true, |
There was a problem hiding this comment.
The PR description states that settings.json should include "github.copilot.chat.searchSubagent.agenticProxySearchModelName": "model-name-here", but this setting is missing from the .vscode/settings.json changes. While the default value will be used if not specified, it would be helpful for dogfooders to have this setting explicitly shown in the workspace settings to make it easier to test different model names.
Add configuration variable that allows dogfooders to specify different proxy endpoint names for the agentic proxy search endpoint.
settings.jsonshould now include:{ "github.copilot.chat.searchSubagent.useAgenticProxy": true, "github.copilot.chat.searchSubagent.agenticProxySearchModelName": "model-name-here" "github.copilot.chat.searchSubagent.enabled": true, }Default model name is
agentic-search-v1