-
Notifications
You must be signed in to change notification settings - Fork 982
feat(models): add Muse Spark 1.3 on the 1.2 spec #3317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -103,6 +103,21 @@ const COMMAND_CODE_MODEL_EFFORTS = { | |
| // 2026-08-13: direct upstream POST with low/medium/high/xhigh/max all 200, | ||
| // ultra 400; reasoningTokens differentiated 114..253; proxy previously stripped | ||
| // the field so effort changes had no effect). | ||
| // | ||
| // 1.3 shipped 2026-09-02 as the same-shaped successor to 1.2 (Command Code | ||
| // publishes meta/muse-spark-1.3 and meta/muse-spark-1.3-contributor alongside | ||
| // the 1.2 pair, and Zen serves muse-spark-1.3-contributor over the same | ||
| // /responses wire). It carries the 1.2 ladder because it IS the 1.2 spec: the | ||
| // upstream ladder statement is per-family, and a narrower guess here would | ||
| // strip an effort the gateway accepts. Additive — 1.2 and 1.1 stay live. | ||
| "meta/muse-spark-1.3": { | ||
| efforts: ["low", "medium", "high", "xhigh", "max"], | ||
| profileUrl: "https://commandcode.ai/models/meta-muse-spark-1.3", | ||
| }, | ||
| "meta/muse-spark-1.3-contributor": { | ||
| efforts: ["low", "medium", "high", "xhigh", "max"], | ||
| profileUrl: "https://commandcode.ai/models/meta-muse-spark-1.3-contributor", | ||
|
Comment on lines
+115
to
+119
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win 🔎 Supported by static analysis🏁 Script executed: #!/usr/bin/env bash
set -euo pipefail
check_url() {
local source="$1"
local expected="$2"
local actual
actual="$(curl -fsSL -o /dev/null -w '%{url_effective}' "$source")"
test "$actual" = "$expected" || {
printf 'Unexpected URL: %s -> %s\n' "$source" "$actual" >&2
exit 1
}
}
check_url 'https://commandcode.ai/models/meta-muse-spark-1.3' \
'https://commandcode.ai/models/muse-spark-1-3'
check_url 'https://commandcode.ai/models/meta-muse-spark-1.3-contributor' \
'https://commandcode.ai/models/muse-spark-1-3-contributor'Repository: lidge-jun/opencodex Length of output: 256 🏁 Script executed: printf '%s\n' '--- applicable repository guidance ---'
find /tmp/coderabbit-repo-knowledge/lidge-jun-opencodex-7afea732 -maxdepth 2 -type f -name '*.md' -print
printf '%s\n' '--- changed file ---'
cat -n src/providers/command-code-efforts.ts | sed -n '1,180p'
printf '%s\n' '--- profileUrl consumers ---'
rg -n -C 4 'profileUrl|commandCodeReasoningEfforts' srcRepository: lidge-jun/opencodex Length of output: 24025 🏁 Script executed: printf '%s\n' '--- src conventions ---'
cat /tmp/coderabbit-repo-knowledge/lidge-jun-opencodex-7afea732/conventions/src.md
printf '%s\n' '--- provider learnings ---'
cat /tmp/coderabbit-repo-knowledge/lidge-jun-opencodex-7afea732/learnings/src-providers.md
printf '%s\n' '--- refresh implementation ---'
cat -n src/providers/command-code-efforts.ts | sed -n '177,225p'
printf '%s\n' '--- candidate URL behavior ---'
for url in \
'https://commandcode.ai/models/meta-muse-spark-1.3' \
'https://commandcode.ai/models/meta-muse-spark-1-3' \
'https://commandcode.ai/models/muse-spark-1.3' \
'https://commandcode.ai/models/muse-spark-1-3-contributor' \
'https://commandcode.ai/models/meta-muse-spark-1.3-contributor' \
'https://commandcode.ai/models/muse-spark-1-3'; do
printf '\n%s\n' "$url"
curl -L --max-time 20 -sS -o /tmp/command-code-page -w 'status=%{http_code} effective=%{url_effective} bytes=%{size_download}\n' "$url" || true
grep -Eio '<title>[^<]*|Muse Spark[^<]*|meta/muse-spark[^<]*|reasoningEfforts[^<]*' /tmp/command-code-page | head -5 || true
doneRepository: lidge-jun/opencodex Length of output: 18712 Use the model-specific Command Code profile URLs. In 🤖 Prompt for AI AgentsSource: MCP tools |
||
| }, | ||
| "meta/muse-spark-1.2": { | ||
| efforts: ["low", "medium", "high", "xhigh", "max"], | ||
| profileUrl: "https://commandcode.ai/models/meta-muse-spark-1.2", | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -552,6 +552,8 @@ const COMMAND_CODE_IMAGE_MODELS = [ | |
| "gpt-5.6-sol", | ||
| "MiniMaxAI/MiniMax-M3", | ||
| "moonshotai/Kimi-K3", | ||
| "meta/muse-spark-1.3", | ||
| "meta/muse-spark-1.3-contributor", | ||
| "meta/muse-spark-1.2", | ||
| "meta/muse-spark-1.2-contributor", | ||
| ] as const; | ||
|
|
@@ -1487,25 +1489,33 @@ export const PROVIDER_REGISTRY: readonly ProviderRegistryEntry[] = [ | |
| - 다른 대안 대신 이 방식을 선택한 이유: OpenCode Go documents sibling models on Chat or Anthropic endpoints, and an exact registry default preserves both those routes and explicit opt-out precedence. | ||
| - 장점, 단점 및 영향: Each listed model reaches `/responses` from every inbound surface without changing siblings; a future upstream endpoint change requires an evidence-backed registry update. | ||
| */ | ||
| modelWireDefaults: { "gpt-5.6-luna": "openai-responses", "muse-spark-1.2-contributor": "openai-responses" }, | ||
| modelWireDefaults: { | ||
| "gpt-5.6-luna": "openai-responses", | ||
| "muse-spark-1.3-contributor": "openai-responses", | ||
| "muse-spark-1.2-contributor": "openai-responses", | ||
| }, | ||
| modelContextWindows: { | ||
| "kimi-k3": KIMI_K3_STANDARD_CONTEXT_WINDOW, | ||
| // The DeepSeek vision preview id is metadata-only here: the Go roster is | ||
| // discovered live, so it applies the moment the gateway serves the id. | ||
| [DEEPSEEK_VISION_PREVIEW_MODEL]: 1_048_576, | ||
| // Muse Spark 1.2 Contributor serves a 1,048,576-token (1M) context window over | ||
| // Muse Spark Contributor serves a 1,048,576-token (1M) context window over | ||
| // /responses on Zen Go, matching its 1.1 sibling (Meta developer docs, verified 2026-08-28). | ||
| // Without this declaration the catalog falls back to 128k, capping real usable context. | ||
| // 1.3 ships the same window as 1.2 and is served from the same Zen Go roster. | ||
| "muse-spark-1.3-contributor": 1_048_576, | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
When an existing AGENTS.md reference: src/AGENTS.md:L10-L10 Useful? React with 👍 / 👎. |
||
| "muse-spark-1.2-contributor": 1_048_576, | ||
| }, | ||
| modelInputModalities: { | ||
| "kimi-k3": ["text", "image"], | ||
| // Experimental DeepSeek vision preview — expected to merge into deepseek-v4-flash later. | ||
| [DEEPSEEK_VISION_PREVIEW_MODEL]: ["text", "image"], | ||
| // Muse Spark 1.2 Contributor is natively multimodal on Zen Go: it accepts input_image | ||
| // Muse Spark Contributor is natively multimodal on Zen Go: it accepts input_image | ||
| // parts over /responses (probed 2026-08-26). Without this declaration the catalog | ||
| // advertises it text-only and the Codex app blocks image attachments client-side with | ||
| // "This model does not support image inputs" before the request ever reaches the proxy. | ||
| // 1.3 is the same-shaped successor and Command Code documents it as multimodal. | ||
| "muse-spark-1.3-contributor": ["text", "image"], | ||
| "muse-spark-1.2-contributor": ["text", "image"], | ||
| }, | ||
| modelReasoningEfforts: { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For a Command Code provider created before this release, the persisted
modelReasoningEffortsmap is already nonempty, soenrichProviderFromRegistry()skips all registry effort defaults atsrc/providers/derive.ts:493. The live 1.3 model is therefore advertised without supported reasoning levels even though the adapter recognizes the new static row, preventing catalog-driven clients from selecting the intended effort ladder. Merge the registry map beneath per-model user overrides and test both 1.3 IDs using a pre-upgrade provider config.AGENTS.md reference: src/AGENTS.md:L10-L10
Useful? React with 👍 / 👎.