Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions crates/forge_domain/src/provider.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ impl ProviderId {
pub const FORGE_SERVICES: ProviderId = ProviderId(Cow::Borrowed("forge_services"));
pub const IO_INTELLIGENCE: ProviderId = ProviderId(Cow::Borrowed("io_intelligence"));
pub const BEDROCK: ProviderId = ProviderId(Cow::Borrowed("bedrock"));
pub const MINIMAX: ProviderId = ProviderId(Cow::Borrowed("minimax"));
pub const CODEX: ProviderId = ProviderId(Cow::Borrowed("codex"));

/// Returns all built-in provider IDs
Expand Down Expand Up @@ -95,6 +96,7 @@ impl ProviderId {
ProviderId::FORGE_SERVICES,
ProviderId::IO_INTELLIGENCE,
ProviderId::BEDROCK,
ProviderId::MINIMAX,
ProviderId::CODEX,
]
}
Expand All @@ -117,6 +119,7 @@ impl ProviderId {
"openai_compatible" => "OpenAICompatible".to_string(),
"openai_responses_compatible" => "OpenAIResponsesCompatible".to_string(),
"io_intelligence" => "IOIntelligence".to_string(),
"minimax" => "MiniMax".to_string(),
"codex" => "Codex".to_string(),
_ => {
// For other providers, use UpperCamelCase conversion
Expand Down Expand Up @@ -158,6 +161,7 @@ impl std::str::FromStr for ProviderId {
"anthropic_compatible" => ProviderId::ANTHROPIC_COMPATIBLE,
"forge_services" => ProviderId::FORGE_SERVICES,
"io_intelligence" => ProviderId::IO_INTELLIGENCE,
"minimax" => ProviderId::MINIMAX,
"codex" => ProviderId::CODEX,
// For custom providers, use Cow::Owned to avoid memory leaks
custom => ProviderId(Cow::Owned(custom.to_string())),
Expand Down
60 changes: 60 additions & 0 deletions crates/forge_repo/src/provider/provider.json
Original file line number Diff line number Diff line change
Expand Up @@ -1815,6 +1815,66 @@
],
"auth_methods": ["google_adc"]
},
{
"id": "minimax",
"api_key_vars": "MINIMAX_API_KEY",
"url_param_vars": [],
"response_type": "Anthropic",
"url": "https://api.minimax.io/anthropic/v1/messages",
"models": [
{
"id": "MiniMax-M2.5",
"name": "MiniMax M2.5",
"description": "Peak performance model optimized for code generation and refactoring with advanced reasoning",
"context_length": 204800,
"tools_supported": true,
"supports_parallel_tool_calls": true,
"supports_reasoning": true,
"input_modalities": ["text"]
},
{
"id": "MiniMax-M2.5-highspeed",
"name": "MiniMax M2.5 Highspeed",
"description": "Same performance as M2.5 with significantly faster inference (~100 tps)",
"context_length": 204800,
"tools_supported": true,
"supports_parallel_tool_calls": true,
"supports_reasoning": true,
"input_modalities": ["text"]
},
{
"id": "MiniMax-M2.1",
"name": "MiniMax M2.1",
"description": "230B total parameters with 10B activated per inference, optimized for code generation and refactoring",
"context_length": 204800,
"tools_supported": true,
"supports_parallel_tool_calls": true,
"supports_reasoning": true,
"input_modalities": ["text"]
},
{
"id": "MiniMax-M2.1-highspeed",
"name": "MiniMax M2.1 Highspeed",
"description": "Same performance as M2.1 with significantly faster inference (~100 tps)",
"context_length": 204800,
"tools_supported": true,
"supports_parallel_tool_calls": true,
"supports_reasoning": true,
"input_modalities": ["text"]
},
{
"id": "MiniMax-M2",
"name": "MiniMax M2",
"description": "Agentic capabilities with advanced reasoning, function calling, and real-time streaming",
"context_length": 204800,
"tools_supported": true,
"supports_parallel_tool_calls": true,
"supports_reasoning": true,
"input_modalities": ["text"]
}
],
"auth_methods": ["api_key"]
},
{
"id": "codex",
"api_key_vars": "CODEX_API_KEY",
Expand Down
Loading