Repository navigation
feat: OpenCode 2 plugin API support - #32
Conversation
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (2)
📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Default LiteLLM chat models to explicit text-only modalities when capability metadata is absent, and invalidate stale model caches. Add regression coverage for OpenCode 2 discovery and cache upgrades.
Explain the conservative default for LiteLLM models without modality metadata and record the fix in the Unreleased changelog.
|
Independently verified the loader contract behind this PR's hybrid approach on two real runtimes (probe plugins under Verification result
Maintainer questions
The modality fix (always emit |
|
Thanks @AlexanderWillner and the maintainers for the OpenCode 2/V1 hybrid work and the modality fix. I pushed follow-up commit
Validation: typecheck passed, 70 tests passed (including with ambient LiteLLM environment variables), and a real OpenCode V2 2.0.19 smoke test completed through a mock LiteLLM provider. The live-runtime check plus focused regressions sped up the review/fix process and helped narrow the remaining issues quickly. |
# [1.4.0](v1.3.0...v1.4.0) (2026-09-29) ### Features * OpenCode 2 plugin API support ([#32](#32)) ([6215ca7](6215ca7))
Summary
This PR adds OpenCode 2 plugin API support while retaining the existing OpenCode 1 server entrypoint.
It also fixes modality discovery for LiteLLM chat models. When LiteLLM does not report capability metadata, the plugin now registers the model as text-only instead of relying on OpenCode's image-capable fallback. The model cache version is incremented so stale entries are refreshed after the upgrade.
Type of change
Checklist
npm run typecheckpassesnpm testpassesCHANGELOG.mdupdated under## [Unreleased]How was this tested?
npm test: 67 tests passednpm run typecheckgit diff --checkmmprojbackend error or retry loopThe model catalog now reports
level-1-lokalwithinput: ["text"]andoutput: ["text"]when capability metadata is absent. A route with a working multimodal projector can opt in withmodelCapabilities: { "model-id": { "supports_vision": true } }.Maintainer questions
@opencode/pluginthe preferred dependency and API surface for V2 plugins?/connectbehavior?Related to #31. This RFC intentionally does not close the issue.
Summary by CodeRabbit