You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Update VS Code LM model metadata and regression tests - #2255
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.
Recent review details
Context from checks skipped due to timeout: 6
GitHub Check: CodeRabbit
GitHub Check: webview-visual
GitHub Check: extension-host-visual
GitHub Check: platform-unit-test (ubuntu-latest)
GitHub Check: platform-unit-test (windows-latest)
GitHub Check: e2e-mock
Additional context used
Path-based instructions: 7
Treat model, provider, MCP, path, command, and tool data as untrusted.
CodeRabbit configuration file
Files:
src/api/providers/__tests__/vscode-lm.spec.ts
For persisted settings, verify the complete schema/storage/runtime/webview round trip, shared default semantics, and focused true plus false/unset tests.
CodeRabbit configuration file
Files:
packages/types/src/__tests__/vscode-llm.spec.ts
packages/types/src/providers/vscode-llm.ts
Require regression coverage at the lowest valid harness with behavior-focused assertions, including relevant negative, error, false/unset, and boundary cases.
Added support for additional Claude, Grok, Gemini, MAI, and GPT model variants.
Model listings now reflect image support and input-token limits for supported models, including updated limits for select existing models.
The VS Code language-model catalog adds model entries and updates assigned input-token budgets. Tests cover model metadata, image-capability reporting, advertised context windows, and model-selector budget resolution.
Changes: VS Code LM model catalog
Layer / File(s)
Summary
Model catalog and metadata assertions packages/types/src/providers/vscode-llm.ts, packages/types/src/__tests__/vscode-llm.spec.ts
The catalog adds Claude, Grok, Gemini, MAI, and GPT model entries and updates selected input-token budgets. Tests assert model values, capabilities, omitted prices, and ordering.
Provider capability and budget tests src/api/providers/__tests__/vscode-lm.spec.ts
Tests check image-capability reporting and assigned budgets alongside advertised context windows. Astra budget resolution is tested across vendors.
Model selector budget tests webview-ui/src/components/ui/hooks/__tests__/useSelectedModel.spec.ts
Tests check assigned input-token budgets for 24 model families and verify Astra’s budget across vendors.
The catalog and regression-test updates have no established merge-blocking defect. The borrowed Fable budget is disclosed, and no incompatible Astra vendor limit was demonstrated. Mergeable subject to normal checks.
Pre-merge checks: 7 · 1
Failed checks: 1 warning
Check name
Status
Explanation
Resolution
Description check
The description summarizes the implementation and validation, but it omits the required linked issue, test procedure details, pre-submission checklist, documentation impact, and contributor contact se…
Add an approved issue reference using “Closes: #”. Include the required template sections, complete the pre-submission checklist, describe repeatable test steps and relevant environments, state the documentation impact, and provide …
Passed checks: 7 passed
Check name
Status
Explanation
Title check
The title clearly summarizes the main changes to VS Code LM metadata and regression tests.
Linked Issues check
Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check
Check skipped because no linked issues were found for this pull request.
Regression Evidence
PASS. The changed model rows and revised budgets have focused coverage. packages/types/src/__tests__/vscode-llm.spec.ts checks the added rows, changed Opus 5 and Gemini 3.6 values, omitted prices, i…
Security Boundaries
PASS. The pull request changes only the static VS Code LM metadata table and regression tests in four files. The new entries contain model names, capability flags, budgets, and public documentation li…
Persistence Integrity
The pull request changes only static VS Code LM metadata and regression tests. packages/types/src/providers/vscode-llm.ts defines an in-memory constant; it adds or updates model fields and keeps the…
Lifecycle Resource Cleanup
No changed lifecycle path can leak a resource or duplicate work. The only non-test production change is static model metadata in packages/types/src/providers/vscode-llm.ts; it adds no listeners, wat…
Full details: Regression Evidence
Explanation
PASS. The changed model rows and revised budgets have focused coverage. packages/types/src/__tests__/vscode-llm.spec.ts checks the added rows, changed Opus 5 and Gemini 3.6 values, omitted prices, image-disabled Grok rows, Fable 5.5 copying, and ordering. Provider tests exercise the assigned budgets while live limits differ, Astra selector resolution for two vendors, image capability true/false/unset cases, and unknown-family fallbacks. useSelectedModel.spec.ts checks the budgets for all added or changed families and the Astra vendor case. The PR changes metadata and tests only. It does not change a UI component, layout, or theme, so a Playwright component snapshot is not required.
Full details: Security Boundaries
Explanation
PASS. The pull request changes only the static VS Code LM metadata table and regression tests in four files. The new entries contain model names, capability flags, budgets, and public documentation links; they do not contain secrets or PII. No changed path adds input execution, network or environment access, or a bypass of approval or allowlist controls. Runtime consumers still perform exact family-key lookups and use the existing selector validation.
Full details: Persistence Integrity
Explanation
The pull request changes only static VS Code LM metadata and regression tests. packages/types/src/providers/vscode-llm.ts defines an in-memory constant; it adds or updates model fields and keeps the default ID unchanged at line 50. The consumers read this table synchronously for condensing and UI context limits (src/api/providers/vscode-lm.ts:1634-1644, webview-ui/src/components/ui/hooks/useSelectedModel.ts:453-499). No changed file performs persistence, asynchronous writes, rollback handling, or default-state propagation.
Full details: Lifecycle Resource Cleanup
Explanation
No changed lifecycle path can leak a resource or duplicate work. The only non-test production change is static model metadata in packages/types/src/providers/vscode-llm.ts; it adds no listeners, watchers, timers, tasks, providers, or cancellation sources. The new handler test creates selectedHandler and disposes it in finally; the shared test handler is disposed by the existing afterEach cleanup.
Full details: Description check
Explanation
The description summarizes the implementation and validation, but it omits the required linked issue, test procedure details, pre-submission checklist, documentation impact, and contributor contact sections.
Resolution
Add an approved issue reference using “Closes: #<number>”. Include the required template sections, complete the pre-submission checklist, describe repeatable test steps and relevant environments, state the documentation impact, and provide the contributor contact.
Finishing Touches
🧪 Generate unit tests (beta)
Create a new PR
Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Warning
Some tools did not complete. Review the errors below.
ESLint
If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.
packages/types/src/__tests__/vscode-llm.spec.ts
ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.
packages/types/src/providers/vscode-llm.ts
ESLint skipped: the matched ESLint configuration already failed (missing-dependency).
src/api/providers/__tests__/vscode-lm.spec.ts
ESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox.
1 others
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.
Thanks for contributing. This comment tracks the review sequence and the next action.
Current step: The required review sequence passed. Remaining merge requirements apply.
Review-state labels are managed by this workflow; do not edit them manually. community-approved is managed the same way — do not add or remove it manually. It signals a fresh community code approval for the current head as an advisory priority only; maintainer review is still required.
Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.
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
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
Validation