Skip to content

Conversation

@aponcedeleonch
Copy link
Member

Closes: #3586 , #3553

Extends the client configuration system to support TOML-based config files with two different formats:

  • Array-of-tables format [[section]] for Mistral Vibe IDE
  • Nested tables format [section.servername] for Codex CLI

Key changes:

  • Add TOMLConfigUpdater for array-of-tables format (Mistral Vibe)
  • Add TOMLMapConfigUpdater for nested tables format (Codex)
  • Add MistralVibe and Codex client types with transport mappings
  • Add TOMLStorageType enum to distinguish between TOML formats
  • Support TOML extension alongside JSON and YAML
  • Add comprehensive tests for both TOML updater implementations
  • Extract defaultURLFieldName constant to reduce duplication
  • Improve validation to handle empty YAML/TOML files correctly

Extends the client configuration system to support TOML-based config files with two different formats:
- Array-of-tables format `[[section]]` for Mistral Vibe IDE
- Nested tables format `[section.servername]` for Codex CLI

Key changes:
- Add TOMLConfigUpdater for array-of-tables format (Mistral Vibe)
- Add TOMLMapConfigUpdater for nested tables format (Codex)
- Add MistralVibe and Codex client types with transport mappings
- Add TOMLStorageType enum to distinguish between TOML formats
- Support TOML extension alongside JSON and YAML
- Add comprehensive tests for both TOML updater implementations
- Extract defaultURLFieldName constant to reduce duplication
- Improve validation to handle empty YAML/TOML files correctly

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions github-actions bot added the size/XL Extra large PR: 1000+ lines changed label Feb 4, 2026
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Large PR Detected

This PR exceeds 1000 lines of changes and requires justification before it can be reviewed.

How to unblock this PR:

Add a section to your PR description with the following format:

## Large PR Justification

[Explain why this PR must be large, such as:]
- Generated code that cannot be split
- Large refactoring that must be atomic
- Multiple related changes that would break if separated
- Migration or data transformation

Alternative:

Consider splitting this PR into smaller, focused changes (< 1000 lines each) for easier review and reduced risk.

See our Contributing Guidelines for more details.


This review will be automatically dismissed once you add the justification section.

@codecov
Copy link

codecov bot commented Feb 4, 2026

Codecov Report

❌ Patch coverage is 67.96117% with 66 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.59%. Comparing base (ac82979) to head (f02c59c).

Files with missing lines Patch % Lines
pkg/client/config_editor.go 65.85% 35 Missing and 21 partials ⚠️
pkg/client/config.go 76.31% 9 Missing ⚠️
pkg/client/converter.go 75.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3592      +/-   ##
==========================================
+ Coverage   65.51%   65.59%   +0.08%     
==========================================
  Files         406      406              
  Lines       39996    40176     +180     
==========================================
+ Hits        26202    26354     +152     
- Misses      11762    11768       +6     
- Partials     2032     2054      +22     

☔ 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
Copy link
Member Author

Split into #3593 and #3594

@dmjb dmjb deleted the toml-client-configs branch February 6, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/XL Extra large PR: 1000+ lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Codex support

1 participant