Skip to content

Commit 5352a11

Browse files
feat(provider): add muse-spark-1.2 to meta provider
Adds muse-spark-1.2 model alongside existing 1.1 with identical capabilities (1M context, tools, parallel tool calls, reasoning, image input). Verified via OpenRouter API that 1.2 retains same architecture and context length. Co-Authored-By: ForgeCode <noreply@forgecode.dev>
1 parent 6ed5d37 commit 5352a11

2 files changed

Lines changed: 47 additions & 28 deletions

File tree

crates/forge_repo/src/provider/provider.json

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4465,6 +4465,16 @@
44654465
"supports_parallel_tool_calls": true,
44664466
"supports_reasoning": true,
44674467
"input_modalities": ["text", "image"]
4468+
},
4469+
{
4470+
"id": "muse-spark-1.2",
4471+
"name": "Muse Spark 1.2",
4472+
"description": "Meta's latest multimodal model for agentic tool calling, coding, structured output, image and video understanding, and long-context reasoning",
4473+
"context_length": 1048576,
4474+
"tools_supported": true,
4475+
"supports_parallel_tool_calls": true,
4476+
"supports_reasoning": true,
4477+
"input_modalities": ["text", "image"]
44684478
}
44694479
],
44704480
"auth_methods": ["api_key"]

crates/forge_repo/src/provider/provider_repo.rs

Lines changed: 37 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -982,35 +982,44 @@ mod tests {
982982

983983
match config.models.as_ref().expect("models should be present") {
984984
Models::Hardcoded(models) => {
985-
let model = models
986-
.iter()
987-
.find(|m| m.id.as_str() == "muse-spark-1.1")
988-
.expect("muse-spark-1.1 should be present in hardcoded models");
989-
assert_eq!(
990-
model.context_length,
991-
Some(1048576),
992-
"muse-spark-1.1 should have 1048576 context length"
993-
);
994-
assert_eq!(
995-
model.tools_supported,
996-
Some(true),
997-
"muse-spark-1.1 should support tools"
998-
);
999-
assert_eq!(
1000-
model.supports_parallel_tool_calls,
1001-
Some(true),
1002-
"muse-spark-1.1 should support parallel tool calls"
1003-
);
985+
for expected_id in ["muse-spark-1.1", "muse-spark-1.2"] {
986+
let model = models
987+
.iter()
988+
.find(|m| m.id.as_str() == expected_id)
989+
.unwrap_or_else(|| {
990+
panic!("{expected_id} should be present in hardcoded models")
991+
});
992+
assert_eq!(
993+
model.context_length,
994+
Some(1048576),
995+
"{expected_id} should have 1048576 context length"
996+
);
997+
assert_eq!(
998+
model.tools_supported,
999+
Some(true),
1000+
"{expected_id} should support tools"
1001+
);
1002+
assert_eq!(
1003+
model.supports_parallel_tool_calls,
1004+
Some(true),
1005+
"{expected_id} should support parallel tool calls"
1006+
);
1007+
assert_eq!(
1008+
model.supports_reasoning,
1009+
Some(true),
1010+
"{expected_id} should support reasoning"
1011+
);
1012+
assert!(
1013+
model
1014+
.input_modalities
1015+
.contains(&forge_app::domain::InputModality::Image),
1016+
"{expected_id} should support image input"
1017+
);
1018+
}
10041019
assert_eq!(
1005-
model.supports_reasoning,
1006-
Some(true),
1007-
"muse-spark-1.1 should support reasoning"
1008-
);
1009-
assert!(
1010-
model
1011-
.input_modalities
1012-
.contains(&forge_app::domain::InputModality::Image),
1013-
"muse-spark-1.1 should support image input"
1020+
models.len(),
1021+
2,
1022+
"meta provider should expose exactly 2 hardcoded models"
10141023
);
10151024
}
10161025
other => panic!("expected hardcoded models, got {other:?}"),

0 commit comments

Comments
 (0)