feat(vision): honor current preset routes#964
Merged
Conversation
Route direct vision only through the current preset's provider, model, endpoint, credential, headers, and supported wire. Keep unsupported routes explicit/manual, remove the retired automatic MiniMax/Zhipu services, and ship provider-neutral manual guidance plus owning regressions.
Document that OpenRouter/custom first attempt the current OpenAI-compatible route, then return a sanitized tool failure pointing to manual alternatives without implicit provider/model/MCP fallback.
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.
Summary
vision(action="manual")when the current route is unsupported or lacks an explicit current identity; never switch provider/model/account, use a default OAuth identity, or fall through to SDK environment credentialsautowire selection is automatic (official Responses only when explicitly preferred with no custom base; otherwise Chat), while unknown nonblank/non-string selectors remain manual-onlySupersedes #957.
Companion gate
This is the kernel companion to TUI PR #664:
The TUI and kernel PRs describe one product contract and should be reviewed/landed together. This PR does not authorize a live refresh, install, release, or deployment.
Validation
Latest-main base at push:
2d415fda9c3ef48c5c4fed61dfacf87fb632d6e0(#962 + #963).151 passed— vision capability + preset manifest + package/manual + agent capability integration78 passed— vision services and canonical wire behavior160 passed— tool glossary20 passed— latest-main shell and Task Card handoff compatibilityservices/vision/minimax.pyandservices/vision/zhipu.pyExternal gate: an isolated wheel build would download
setuptools>=68, so no network/install was performed. Package-data/resource coverage is verified statically and by tests.