From 90889fb389f586e87feae97c559af8a94c6fdb2a Mon Sep 17 00:00:00 2001 From: Tony Giorgio Date: Sun, 13 Jul 2025 22:15:14 -0500 Subject: [PATCH 1/2] feat: add Mistral Small 3.1 24B and Qwen 2.5 72B models for Pro/Team users MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add Mistral Small 3.1 24B with vision support and 128k context window - Add Qwen 2.5 72B with 128k context window (text-only) - Update pricing config to show model availability across tiers - Fix misleading isGemma variable name to supportsVision for clarity 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- frontend/src/components/ChatBox.tsx | 4 +-- frontend/src/components/ModelSelector.tsx | 13 +++++++++ frontend/src/config/pricingConfig.tsx | 32 +++++++++++++++++++++++ 3 files changed, 47 insertions(+), 2 deletions(-) diff --git a/frontend/src/components/ChatBox.tsx b/frontend/src/components/ChatBox.tsx index 2c555d68..dc5b1010 100644 --- a/frontend/src/components/ChatBox.tsx +++ b/frontend/src/components/ChatBox.tsx @@ -228,7 +228,7 @@ export default function Component({ availableModels } = useLocalState(); - const isGemma = MODEL_CONFIG[model]?.supportsVision || false; + const supportsVision = MODEL_CONFIG[model]?.supportsVision || false; const [images, setImages] = useState([]); const [imageUrls, setImageUrls] = useState>(new Map()); const [uploadedDocument, setUploadedDocument] = useState<{ @@ -917,7 +917,7 @@ export default function Component({ navigate({ to: "/pricing" }); } else { // If not on a vision model, switch to one first - if (!isGemma) { + if (!supportsVision) { const visionModelId = findFirstVisionModel(); if (visionModelId) { setModel(visionModelId); diff --git a/frontend/src/components/ModelSelector.tsx b/frontend/src/components/ModelSelector.tsx index 66443367..87b17bdf 100644 --- a/frontend/src/components/ModelSelector.tsx +++ b/frontend/src/components/ModelSelector.tsx @@ -46,6 +46,19 @@ export const MODEL_CONFIG: Record = { badge: "Pro", requiresPro: true, tokenLimit: 64000 + }, + "mistral-small-3-1-24b": { + displayName: "Mistral Small 3.1 24B", + badge: "Pro", + requiresPro: true, + supportsVision: true, + tokenLimit: 128000 + }, + "qwen2-5-72b": { + displayName: "Qwen 2.5 72B", + badge: "Pro", + requiresPro: true, + tokenLimit: 128000 } }; diff --git a/frontend/src/config/pricingConfig.tsx b/frontend/src/config/pricingConfig.tsx index 41d692c4..cc27c11c 100644 --- a/frontend/src/config/pricingConfig.tsx +++ b/frontend/src/config/pricingConfig.tsx @@ -44,6 +44,12 @@ export const PRICING_PLANS: PricingPlan[] = [ { text: "Rename Chats", included: true, icon: }, { text: "Gemma 3 27B", included: false, icon: }, { text: "DeepSeek R1 70B", included: false, icon: }, + { + text: "Mistral Small 3.1 24B", + included: false, + icon: + }, + { text: "Qwen 2.5 72B", included: false, icon: }, { text: "Image Upload", included: false, icon: }, { text: "Document Upload", included: false, icon: } ], @@ -71,6 +77,12 @@ export const PRICING_PLANS: PricingPlan[] = [ }, { text: "Gemma 3 27B", included: true, icon: }, { text: "DeepSeek R1 70B", included: false, icon: }, + { + text: "Mistral Small 3.1 24B", + included: false, + icon: + }, + { text: "Qwen 2.5 72B", included: false, icon: }, { text: "Image Upload", included: false, icon: }, { text: "Document Upload", included: false, icon: } ], @@ -102,6 +114,16 @@ export const PRICING_PLANS: PricingPlan[] = [ included: true, icon: }, + { + text: "Mistral Small 3.1 24B", + included: true, + icon: + }, + { + text: "Qwen 2.5 72B", + included: true, + icon: + }, { text: "Image Upload", included: true, icon: }, { text: "Document Upload", @@ -143,6 +165,16 @@ export const PRICING_PLANS: PricingPlan[] = [ included: true, icon: }, + { + text: "Mistral Small 3.1 24B", + included: true, + icon: + }, + { + text: "Qwen 2.5 72B", + included: true, + icon: + }, { text: "Image Upload", included: true, icon: }, { text: "Document Upload", From 137f8d9c4f7463b6c53dc795eb42e426a33e31f8 Mon Sep 17 00:00:00 2001 From: Tony Giorgio Date: Sun, 13 Jul 2025 22:21:52 -0500 Subject: [PATCH 2/2] fix: filter out transcription models like Whisper from model selector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add filter for models with "transcribe" task to exclude Whisper and similar models - Prevents non-chat models from appearing in the model dropdown 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- frontend/src/components/ModelSelector.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/components/ModelSelector.tsx b/frontend/src/components/ModelSelector.tsx index 87b17bdf..60122cca 100644 --- a/frontend/src/components/ModelSelector.tsx +++ b/frontend/src/components/ModelSelector.tsx @@ -133,6 +133,11 @@ export function ModelSelector({ return false; } + // Filter out transcription models like Whisper + if (modelWithTasks.tasks.includes("transcribe")) { + return false; + } + return true; });