Skip to content

Add TOML config file support with array-of-tables format#3596

Merged
aponcedeleonch merged 1 commit intomainfrom
toml-array-of-tables
Feb 5, 2026
Merged

Add TOML config file support with array-of-tables format#3596
aponcedeleonch merged 1 commit intomainfrom
toml-array-of-tables

Conversation

@aponcedeleonch
Copy link
Member

@aponcedeleonch aponcedeleonch commented Feb 4, 2026

Summary

  • Add TOML configuration file format support infrastructure with the array-of-tables ([[section]]) format
  • This format is used by clients like Mistral Vibe
  • Foundation PR for TOML support - nested tables format will follow in a separate PR

Changes

  • Added TOML extension constant and TOMLStorageType type with TOMLStorageTypeArray constant
  • Added shared TOML helper functions: tomlWithFileLock, readTOMLConfig, writeTOMLConfig, extractURLFromMCPServer, convertToAnySlice
  • Added TOMLConfigUpdater struct and methods for array-of-tables format
  • Added helper functions extractServersKeyFromConfig and extractURLLabelFromConfig
  • Updated validateConfigFileFormat to support TOML validation
  • Updated CreateClientConfig to support TOML file creation
  • Updated retrieveConfigFileMetadata to create TOML updaters
  • Added comprehensive tests for TOMLConfigUpdater

🤖 Generated with Claude Code

@github-actions github-actions bot added the size/L Large PR: 600-999 lines changed label Feb 4, 2026
aponcedeleonch added a commit that referenced this pull request Feb 4, 2026
Add support for TOML configuration files using the nested tables
format ([section.servername]), which is used by clients like Codex.

This PR adds:
- TOMLStorageTypeMap constant for nested tables format
- TOMLMapConfigUpdater struct and methods
- Conditional logic in retrieveConfigFileMetadata to select updater
  based on TOMLStorageType
- Comprehensive tests for the nested tables format

This builds on top of the array-of-tables TOML support added in PR #3596.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add support for TOML configuration files using the array-of-tables
format ([[section]]), which is used by clients like Mistral Vibe.

This PR adds:
- TOML extension constant and TOMLStorageType type
- Shared TOML helper functions (tomlWithFileLock, readTOMLConfig,
  writeTOMLConfig, extractURLFromMCPServer, convertToAnySlice)
- TOMLConfigUpdater struct for array-of-tables format
- Helper functions extractServersKeyFromConfig and
  extractURLLabelFromConfig for extracting configuration values
- Changes to validateConfigFileFormat for TOML support
- Changes to CreateClientConfig for TOML file creation
- Changes to retrieveConfigFileMetadata for TOML updater creation
- Comprehensive tests for the array-of-tables format

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added size/L Large PR: 600-999 lines changed and removed size/L Large PR: 600-999 lines changed labels Feb 4, 2026
@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 60.78431% with 60 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.50%. Comparing base (ac82979) to head (3fe280b).
⚠️ Report is 22 commits behind head on main.

Files with missing lines Patch % Lines
pkg/client/config_editor.go 64.10% 28 Missing and 14 partials ⚠️
pkg/client/config.go 46.87% 17 Missing ⚠️
pkg/client/converter.go 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3596      +/-   ##
==========================================
- Coverage   65.51%   65.50%   -0.01%     
==========================================
  Files         406      406              
  Lines       39996    40123     +127     
==========================================
+ Hits        26202    26283      +81     
- Misses      11762    11797      +35     
- Partials     2032     2043      +11     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@aponcedeleonch aponcedeleonch merged commit 42794e0 into main Feb 5, 2026
43 of 44 checks passed
@aponcedeleonch aponcedeleonch deleted the toml-array-of-tables branch February 5, 2026 09:26
aponcedeleonch added a commit that referenced this pull request Feb 5, 2026
Add support for TOML configuration files using the nested tables
format ([section.servername]), which is used by clients like Codex.

This PR adds:
- TOMLStorageTypeMap constant for nested tables format
- TOMLMapConfigUpdater struct and methods
- Conditional logic in retrieveConfigFileMetadata to select updater
  based on TOMLStorageType
- Comprehensive tests for the nested tables format

This builds on top of the array-of-tables TOML support added in PR #3596.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
aponcedeleonch added a commit that referenced this pull request Feb 5, 2026
Add support for TOML configuration files using the nested tables
format ([section.servername]), which is used by clients like Codex.

This PR adds:
- TOMLStorageTypeMap constant for nested tables format
- TOMLMapConfigUpdater struct and methods
- Conditional logic in retrieveConfigFileMetadata to select updater
  based on TOMLStorageType
- Comprehensive tests for the nested tables format

This builds on top of the array-of-tables TOML support added in PR #3596.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Large PR: 600-999 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants