mirror of https://github.com/kortix-ai/suna.git
fix
This commit is contained in:
parent
60059eaa9b
commit
5b20676853
|
@ -50,7 +50,7 @@ MODELS = {
|
|||
"output_cost_per_million_tokens": 3.00
|
||||
},
|
||||
"context_window": 200_000, # 200k tokens
|
||||
"tier_availability": ["free", "paid"]
|
||||
"tier_availability": ["paid"]
|
||||
},
|
||||
"xai/grok-4": {
|
||||
"aliases": ["grok-4", "x-ai/grok-4"],
|
||||
|
|
|
@ -45,37 +45,22 @@ export interface CustomModel {
|
|||
|
||||
// SINGLE SOURCE OF TRUTH for all model data - aligned with backend constants
|
||||
export const MODELS = {
|
||||
// Premium tier models (require subscription)
|
||||
// Premium tier models (require subscription) - using aliases from backend
|
||||
'claude-sonnet-4': {
|
||||
tier: 'premium',
|
||||
priority: 100,
|
||||
recommended: true,
|
||||
lowQuality: false
|
||||
},
|
||||
|
||||
// 'gemini-flash-2.5': {
|
||||
// tier: 'free',
|
||||
// priority: 70,
|
||||
// recommended: false,
|
||||
// lowQuality: false
|
||||
// },
|
||||
// 'qwen3': {
|
||||
// tier: 'free',
|
||||
// priority: 60,
|
||||
// recommended: false,
|
||||
// lowQuality: false
|
||||
// },
|
||||
|
||||
// Free tier models (available to all users)
|
||||
'gpt-5-mini': {
|
||||
tier: 'free',
|
||||
priority: 100,
|
||||
recommended: true,
|
||||
'gpt-5': {
|
||||
tier: 'premium',
|
||||
priority: 99,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
'moonshotai/kimi-k2': {
|
||||
tier: 'free',
|
||||
priority: 90,
|
||||
'google/gemini-2.5-pro': {
|
||||
tier: 'premium',
|
||||
priority: 96,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
|
@ -91,37 +76,26 @@ export const MODELS = {
|
|||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
'google/gemini-2.5-pro': {
|
||||
tier: 'premium',
|
||||
priority: 96,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
'sonnet-3.5': {
|
||||
tier: 'premium',
|
||||
priority: 90,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
'gpt-5': {
|
||||
tier: 'premium',
|
||||
priority: 99,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
|
||||
'gemini-2.5-flash:thinking': {
|
||||
tier: 'premium',
|
||||
priority: 84,
|
||||
// Free tier models (available to all users)
|
||||
'gpt-5-mini': {
|
||||
tier: 'free',
|
||||
priority: 100,
|
||||
recommended: true,
|
||||
lowQuality: false
|
||||
},
|
||||
'moonshotai/kimi-k2': {
|
||||
tier: 'premium', // Updated to match backend - this is actually paid tier
|
||||
priority: 85,
|
||||
recommended: false,
|
||||
lowQuality: false
|
||||
},
|
||||
// 'deepseek/deepseek-chat-v3-0324': {
|
||||
// tier: 'free',
|
||||
// priority: 75,
|
||||
// recommended: false,
|
||||
// lowQuality: false
|
||||
// },
|
||||
};
|
||||
|
||||
// Helper to check if a user can access a model based on subscription status
|
||||
|
@ -214,22 +188,22 @@ export const useModelSelection = () => {
|
|||
const MODEL_OPTIONS = useMemo(() => {
|
||||
let models = [];
|
||||
|
||||
// Default models if API data not available
|
||||
if (!modelsData?.models || isLoadingModels) {
|
||||
models = [
|
||||
{
|
||||
id: DEFAULT_FREE_MODEL_ID,
|
||||
label: 'GPT-5 Mini',
|
||||
requiresSubscription: false,
|
||||
priority: MODELS[DEFAULT_FREE_MODEL_ID]?.priority || 50
|
||||
},
|
||||
{
|
||||
id: DEFAULT_PREMIUM_MODEL_ID,
|
||||
label: 'Sonnet 4',
|
||||
requiresSubscription: true,
|
||||
priority: MODELS[DEFAULT_PREMIUM_MODEL_ID]?.priority || 100
|
||||
},
|
||||
];
|
||||
// Default models if API data not available
|
||||
if (!modelsData?.models || isLoadingModels) {
|
||||
models = [
|
||||
{
|
||||
id: DEFAULT_FREE_MODEL_ID,
|
||||
label: 'GPT-5 Mini',
|
||||
requiresSubscription: false,
|
||||
priority: MODELS[DEFAULT_FREE_MODEL_ID]?.priority || 100
|
||||
},
|
||||
{
|
||||
id: DEFAULT_PREMIUM_MODEL_ID,
|
||||
label: 'Claude Sonnet 4',
|
||||
requiresSubscription: true,
|
||||
priority: MODELS[DEFAULT_PREMIUM_MODEL_ID]?.priority || 100
|
||||
},
|
||||
];
|
||||
} else {
|
||||
// Process API-provided models
|
||||
models = modelsData.models.map(model => {
|
||||
|
|
Loading…
Reference in New Issue