Feat: Add provider_options.extra_fields support complementing extra_body #1295
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.
Adds support for
provider_options.extra_fieldsto pass custom parameters through Fantasy to OpenAI-compatible providers.Changes
internal/config/load.go: PreserveProviderOptionsfield when configuring known providersinternal/agent/coordinator.go: Extractextra_fieldsfromprovider_optionsand map to Fantasy'sExtraFieldsmechanismextra_body(SDK-level defaults) for complementary behaviorConfig
{ "provider_options": { "extra_fields": { "thinking": { "type": "enabled", "budget_tokens": 26214 } } } }Testing
HTTP logs confirm fields sent correctly to Z.AI GLM thinking mode.
Dependencies
Depends on Fantasy ExtraFields support charmbracelet/fantasy#45