refactor(config): extract applyCommonServerConfigFields to eliminate stdio/HTTP duplication#7764
Merged
Merged
Conversation
…ode in config_stdin.go
Copilot
AI
changed the title
[WIP] Refactor duplicate server config field initialization in config_stdin.go
refactor(config): extract applyCommonServerConfigFields to eliminate stdio/HTTP duplication
Jun 19, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refactors stdin JSON server config conversion to reduce duplication between HTTP and stdio server handling by extracting shared ServerConfig field assignments into a single helper.
Changes:
- Introduces
applyCommonServerConfigFields(cfg *ServerConfig, src *StdinServerConfig)to apply shared fields (Tools,ToolResponseFilters,Registry,GuardPolicies,Guard, andToolTimeoutwhen present). - Updates the HTTP conversion path to use the helper while keeping
ConnectTimeoutHTTP-specific. - Updates the stdio conversion path to use the helper and removes duplicated inline assignments /
ToolTimeoutnil-check.
Show a summary per file
| File | Description |
|---|---|
| internal/config/config_stdin.go | Extracts common stdin→ServerConfig field application into a helper and uses it in both HTTP and stdio conversion paths to prevent drift. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 1/1 changed files
- Comments generated: 0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both the HTTP and stdio paths in
config_stdin.gowere setting the same 5ServerConfigfields (Tools,ToolResponseFilters,Registry,GuardPolicies,Guard) plus an identicalToolTimeoutnil-check — any new shared field required updating two places, with silent divergence risk (already happened withConnectTimeout).Changes
applyCommonServerConfigFields(cfg *ServerConfig, src *StdinServerConfig)— sets all shared fields in one placeconvertStdinServerConfig): removes inline field assignments, calls helper;ConnectTimeoutremains HTTP-onlybuildStdioServerConfig): removes inline field assignments andToolTimeoutnil-check, calls helper