feat: filter old, date-snapshot, and non-text models from model selectors#4039
Merged
ComputelessComputer merged 4 commits intomainfrom Feb 18, 2026
Merged
Conversation
✅ Deploy Preview for hyprnote ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
✅ Deploy Preview for hyprnote-storybook ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Contributor
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
15b0f27 to
7e5ab99
Compare
…tors - Add 'realtime', 'moderation', 'codex' to common ignore keywords - Add isDateSnapshot helper to detect date-versioned models (YYYY-MM-DD, MMDD) - Add isOldModel helper to detect deprecated models (gpt-3.5, gpt-4, davinci, babbage, claude-2, claude-instant) - Add 'old_model' and 'date_snapshot' ignore reasons - Apply filters to OpenAI, Anthropic, Google, Mistral, and OpenRouter providers Co-Authored-By: john@hyprnote.com <john@hyprnote.com>
Add detection and filtering of models that are not suitable for chat interactions. Implement isNonChatModel function to identify transcription, fine-tuned, and other specialized models based on naming patterns. Apply filtering across OpenAI, Google, and OpenRouter providers to improve model selection accuracy by excluding models like o1, gpt-4o variants, Gemini 2.0/2.5, Gemma, and fine-tuned models from chat model lists.
Add support for 8-digit date format in snapshot ID detection and remove trailing commas from generic type parameters in partition and extractMetadataMap functions for cleaner TypeScript syntax.
Adds trailing commas to generic type parameters in partition and extractMetadataMap functions to improve consistency with TypeScript style guidelines and prevent potential parsing issues.
428e06e to
6d6b40a
Compare
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
Cleans up the model selector dropdowns by filtering out old/deprecated models, date-specific snapshots, and non-text models (realtime, moderation, codex) across all cloud providers. Filtered models are still accessible via the "show ignored" toggle in the combobox.
Changes:
list-common.ts: Added"realtime","moderation","codex"to common ignore keywords. AddedisDateSnapshot()(matches-YYYY-MM-DDand-MMDDsuffixes) andisOldModel()(matchesgpt-3.5-*,gpt-4(notgpt-4o/gpt-4.5),davinci/babbage/curie/ada,claude-2/claude-instant). Added"old_model"and"date_snapshot"ignore reasons.isOldModel+isDateSnapshotto: OpenAI, Anthropic, OpenRouterisDateSnapshotonly to: Google, Mistralmodel-combobox.tsx: Added display labels for the two new ignore reasonsReview & Testing Checklist for Human
isOldModelregex correctness: The pattern/^gpt-4(?!o|\.)/is intended to catchgpt-4,gpt-4-turbo,gpt-4-0613but NOTgpt-4oorgpt-4.5. Confirm no false positives/negatives with real OpenAI model list.isDateSnapshotregex correctness: The patterns/-\d{4}-\d{2}-\d{2}/and/-\d{4}$/are intended to catch date-versioned models. The 4-digit suffix pattern could theoretically match non-date version numbers (e.g.,-v1234), but in practice model naming conventions use MMDD format. Confirm with real API responses.gpt-3.5-turbo,gpt-4-0613,claude-2,davinci-002) and realtime models are hidden by default but visible when clicking the eye icon to show ignored models.isOldModelfunction includes patterns for both OpenAI (ada,davinci) and Anthropic (claude-2). Verify these don't cause false positives for other providers (e.g., if OpenRouter has a model with "ada" in the name).Notes
isDateSnapshotfiltering, notisOldModel, since they don't have the same legacy model naming patterns.Link to Devin run: https://app.devin.ai/sessions/3b7f94d8bce64892b8e106ea90892c77
Requested by: @ComputelessComputer