- Import vscodeLlmModels from @roo-code/types to check static definitions first
- Use pattern matching only for unknown models not in static definitions
- Add IMAGE_INCAPABLE_MODEL_PATTERNS for explicit non-vision models
- Update IMAGE_CAPABLE_MODEL_PATTERNS to use RegExp for precise matching
- Fix inconsistency where older models incorrectly reported supportsImages: true
- Update tests to verify static definitions take precedence over pattern matching
Re-applies the image support feature from PR #11065 that was reverted,
with a fix for the @types/vscode version issue.
The fix keeps @types/vscode at ^1.84.0 in package.json (matching
engines.vscode) while the pnpm-lock.yaml resolves to version 1.108.1
which provides the LanguageModelDataPart API.
This approach:
- Maintains compatibility with VS Code 1.84.0+
- Provides TypeScript types for the new LanguageModelDataPart API
- Resolves the vsix build failure from the original PR
Changes:
- Add convertImageToDataPart() for image-to-LanguageModelDataPart conversion
- Add checkModelSupportsImages() for model image capability detection
- Update useSelectedModel to use models actual supportsImages capability
- Add comprehensive tests for image support
Relates to #11064, #11065
- Modified VsCodeLmHandler.internalCountTokens() to create temporary cancellation tokens when needed
- Token counting now works both during and outside of active requests
- Added 4 new tests to verify the fix and prevent regression
- Resolves issue where VS Code LM API users experienced context overflow errors
* Remove claude-3.7-sonnet and claude-3.7-sonnet:thinking from vscodelm provider in api.ts (not supported via API)
* Add static blacklist for unsupported VS Code Language Model IDs
---------
Co-authored-by: Ruakij <ruakij@ruekov.eu>
* feat: initialize VS Code Language Model client in constructor
* feat: add VS Code LLM models and configuration
* feat: integrate VS Code LLM models into API configuration normalization
* Fix tests
---------
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>