feat: modernize quick-action model catalog with caching and remote updates#52
Merged
Conversation
Extend the shared ReasoningEffort type with a 'none' value so users can explicitly disable reasoning for models that support it, and update the extension's reasoning effort selector to expose it.
…data - Add MAI-Code-1-Flash to the fallback catalog and quick-action ordering/options, with its supported reasoning effort levels. - Add supportedReasoningEfforts to the fallback catalog type and mark GPT-5.4 Mini as supporting 'none'. - Switch useSessions and SidePanel to the shared ReasoningEffort type instead of a local hardcoded union.
…ot SDK Allow session create/update and model-switch routes to accept 'none' as an explicit reasoning effort value, and normalize it to undefined before building Copilot SDK session config or switching models, since the SDK itself has no concept of 'none'.
The blanket minimatch override to ^9.0.7 broke multimatch@6.0.0 (used by web-ext-run inside wxt), which does a default import of minimatch expecting the v3-era CJS export shape; minimatch v9 only exposes named exports, so 'pnpm dev' failed to launch the browser. Add a scoped override (multimatch>minimatch: ^3.1.2) so only multimatch's dependency resolves to a compatible version, while every other consumer keeps the patched ^9.0.7.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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
Modernizes the quick-action model catalog to remove outdated models (e.g. Claude 3.5 Haiku) and adds a caching/validation layer so quick actions never get sent with an unavailable model.
packages/shared): adds provider metadata types shared between backend and extension, laying the groundwork for future providers beyond GitHub Copilot (e.g. Devin, Gemini).chrome.storage.local, with daily refresh, offline fallback to last-known-good cache, and a final fallback to a curated in-code catalog if there's no cache and no connectivity.model-catalogbranch (catalogs/github-copilot-models.json, served via raw.githubusercontent.com), refreshed at most once a day, without requiring an extension release.nonereasoning effort: adds an explicit'none'value toReasoningEffort(shared type, backend routes/service, extension selector/hooks) so models like GPT-5.4 Mini that support disabling reasoning can do so, normalized toundefinedbefore calling the Copilot SDK.minimatchoverride (multimatch>minimatch: ^3.1.2) so the workspace's blanketminimatch@^9security override doesn't breakweb-ext-run's (viawxt) dependency onmultimatch, which needs the legacy CJS default export shape.Testing
pnpm run typecheck— passes forpackages/shared,apps/backend,apps/extensionpnpm run test— 125 backend tests + 151 extension tests passingpnpm run lint— clean on all touched filespnpm run build— all packages build successfullypnpm devandpnpm dev:backendstart cleanly after a fullnode_modulesreinstallNotes
model-catalogbranch as part of this PR; that branch is hosted independently and consumed at runtime via HTTP.