- Add OpenAI provider implementation using @ai-sdk/openai.\n- Update `models` command/tool to display API key status for configured providers.\n- Implement model-specific `maxTokens` override logic in `config-manager.js` using `supported-models.json`.\n- Improve AI error message parsing in `ai-services-unified.js` for better clarity.
291 lines
7.0 KiB
JSON
291 lines
7.0 KiB
JSON
{
|
|
"anthropic": [
|
|
{
|
|
"id": "claude-3-7-sonnet-20250219",
|
|
"swe_score": 0.623,
|
|
"cost_per_1m_tokens": { "input": 3.0, "output": 15.0 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 120000
|
|
},
|
|
{
|
|
"id": "claude-3-5-sonnet-20241022",
|
|
"swe_score": 0.49,
|
|
"cost_per_1m_tokens": { "input": 3.0, "output": 15.0 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 64000
|
|
},
|
|
{
|
|
"id": "claude-3-5-haiku-20241022",
|
|
"swe_score": 0.406,
|
|
"cost_per_1m_tokens": { "input": 0.8, "output": 4.0 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 64000
|
|
},
|
|
{
|
|
"id": "claude-3-opus-20240229",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 15, "output": 75 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 64000
|
|
}
|
|
],
|
|
"openai": [
|
|
{
|
|
"id": "gpt-4o",
|
|
"swe_score": 0.332,
|
|
"cost_per_1m_tokens": { "input": 2.5, "output": 10.0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "o1",
|
|
"swe_score": 0.489,
|
|
"cost_per_1m_tokens": { "input": 15.0, "output": 60.0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "o3",
|
|
"swe_score": 0.5,
|
|
"cost_per_1m_tokens": { "input": 10.0, "output": 40.0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "o3-mini",
|
|
"swe_score": 0.493,
|
|
"cost_per_1m_tokens": { "input": 1.1, "output": 4.4 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 100000
|
|
},
|
|
{
|
|
"id": "o4-mini",
|
|
"swe_score": 0.45,
|
|
"cost_per_1m_tokens": { "input": 1.1, "output": 4.4 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "o1-mini",
|
|
"swe_score": 0.4,
|
|
"cost_per_1m_tokens": { "input": 1.1, "output": 4.4 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "o1-pro",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 150.0, "output": 600.0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gpt-4-5-preview",
|
|
"swe_score": 0.38,
|
|
"cost_per_1m_tokens": { "input": 75.0, "output": 150.0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gpt-4-1-mini",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.4, "output": 1.6 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gpt-4-1-nano",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.1, "output": 0.4 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gpt-4o-mini",
|
|
"swe_score": 0.3,
|
|
"cost_per_1m_tokens": { "input": 0.15, "output": 0.6 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gpt-4o-search-preview",
|
|
"swe_score": 0.33,
|
|
"cost_per_1m_tokens": { "input": 2.5, "output": 10.0 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
},
|
|
{
|
|
"id": "gpt-4o-mini-search-preview",
|
|
"swe_score": 0.3,
|
|
"cost_per_1m_tokens": { "input": 0.15, "output": 0.6 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
}
|
|
],
|
|
"google": [
|
|
{
|
|
"id": "gemini-2.5-pro-exp-03-25",
|
|
"swe_score": 0.638,
|
|
"cost_per_1m_tokens": null,
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gemini-2.5-flash-preview-04-17",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": null,
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gemini-2.0-flash",
|
|
"swe_score": 0.754,
|
|
"cost_per_1m_tokens": { "input": 0.15, "output": 0.6 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gemini-2.0-flash-thinking-experimental",
|
|
"swe_score": 0.754,
|
|
"cost_per_1m_tokens": { "input": 0.15, "output": 0.6 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gemini-2.0-pro",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": null,
|
|
"allowed_roles": ["main", "fallback"]
|
|
}
|
|
],
|
|
"perplexity": [
|
|
{
|
|
"id": "sonar-pro",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 3, "output": 15 },
|
|
"allowed_roles": ["research"],
|
|
"max_tokens": 8700
|
|
},
|
|
{
|
|
"id": "sonar",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 1, "output": 1 },
|
|
"allowed_roles": ["research"],
|
|
"max_tokens": 8700
|
|
},
|
|
{
|
|
"id": "deep-research",
|
|
"swe_score": 0.211,
|
|
"cost_per_1m_tokens": { "input": 2, "output": 8 },
|
|
"allowed_roles": ["research"],
|
|
"max_tokens": 8700
|
|
},
|
|
{
|
|
"id": "sonar-reasoning-pro",
|
|
"swe_score": 0.211,
|
|
"cost_per_1m_tokens": { "input": 2, "output": 8 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 8700
|
|
},
|
|
{
|
|
"id": "sonar-reasoning",
|
|
"swe_score": 0.211,
|
|
"cost_per_1m_tokens": { "input": 1, "output": 5 },
|
|
"allowed_roles": ["main", "fallback"],
|
|
"max_tokens": 8700
|
|
}
|
|
],
|
|
"ollama": [
|
|
{
|
|
"id": "gemma3:27b",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "gemma3:12b",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "qwq",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "deepseek-r1",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "mistral-small3.1",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "llama3.3",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "phi4",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
}
|
|
],
|
|
"openrouter": [
|
|
{
|
|
"id": "google/gemini-2.0-flash-001",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.1, "output": 0.4 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "google/gemini-2.5-pro-exp-03-25:free",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "deepseek/deepseek-chat-v3-0324:free",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "google/gemini-2.5-pro-preview-03-25",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 1.25, "output": 10 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "deepseek/deepseek-chat-v3-0324",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.27, "output": 1.1 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
},
|
|
{
|
|
"id": "deepseek/deepseek-r1:free",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0, "output": 0 },
|
|
"allowed_roles": ["main", "fallback"]
|
|
}
|
|
],
|
|
"xai": [
|
|
{
|
|
"id": "grok3",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 3, "output": 15 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
},
|
|
{
|
|
"id": "grok-3-mini",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.3, "output": 0.5 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
},
|
|
{
|
|
"id": "grok3-fast",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 5, "output": 25 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
},
|
|
{
|
|
"id": "grok-3-mini-fast",
|
|
"swe_score": 0,
|
|
"cost_per_1m_tokens": { "input": 0.6, "output": 4 },
|
|
"allowed_roles": ["main", "fallback", "research"]
|
|
}
|
|
]
|
|
}
|