* fix(pioneer): filter API alias dupes, derive cost, honor base-model reasoning
Pioneer /v1/models returns each served model twice: once under its real
id and once under a duplicate "anthropic/pioneer/<id>" alias. Drop the
aliases so the sync no longer authors phantom "anthropic/pioneer/*" TOMLs.
Also derive cost from the API's per-1M-token prices for newly created
models (previously cost was only preserved from an existing file), and
trust the base model's authored reasoning flag instead of Pioneer's
boilerplate reasoning levels, which are identical for every model and
were wrongly marking non-reasoning models (e.g. Pixtral) as reasoning.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* feat(pioneer): add frontier and open models via base_model inheritance
Add 26 Pioneer models, each inheriting provider-agnostic facts through
base_model rather than duplicating them inline.
New model metadata entries:
- anthropic/claude-opus-5 (released 2026-07-24)
- alibaba/qwen2.5-coder-0.5b, alibaba/qwen3-235b-a22b-instruct-2507
- deepseek/deepseek-v3, deepseek/deepseek-v3.1
- meta/llama-3.2-1b, meta/llama-3.2-3b
- mistral/codestral-22b-v0.1, mistral/magistral-small-2506,
mistral/ministral-8b-instruct-2410
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* fix(qwen): set tool_call=false for Qwen2.5-Coder-0.5B base model
The served id and weights are the base (pretrained) checkpoint, not the
Instruct variant. The Qwen model card states base models are not
recommended for conversation and documents no tool/function calling, so
tool_call=true was inaccurate. Matches the Llama base entries in this PR.
---------
Co-authored-by: Samrath <samrath@Samraths-MacBook-Pro-6.local>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
These three model files set attachment = false while their own description and
modalities.input both say the model is multimodal, so the flag contradicts the
record it sits next to:
- alibaba/qwen3.7-plus - description: "Multimodal Qwen workhorse for long-context
agents, visual inputs, and coding"; input = ["text", "image"]; attachment = false.
- alibaba/qwen3.6-plus - description: "Earlier Qwen multimodal workhorse...";
input = ["text", "image", "video"]; attachment = false.
- moonshotai/kimi-k2.5 - description: "...coding, and multimodal work";
input = ["text", "image", "video"]; attachment = false.
Sibling models that are already correct (qwen3.8-max-preview, qwen3.6-flash,
kimi-k2.6, kimi-k2.7-code) all pair image/video input with attachment = true.
This change makes these three consistent with that convention and with their own
declared modalities.
qwen3.7-plus also gains "video" input. Its siblings qwen3.6-plus and qwen3.6-flash
already list video, its description says "visual inputs", and I verified it live:
against the Alibaba/Qwen Cloud Token Plan gateway (Singapore, 2026-07-24)
qwen3.7-plus accepted a real image and a 10-second video and described both
correctly, on the same endpoint where the text-only sibling qwen3.7-max returns
"Unexpected item type in content".
bun validate passes; git diff --check clean. Only attachment (x3) and one
modalities.input line changed.
Add provider entries for newly available LLM Gateway text models:
- gemma-4-31b-it, gemma-4-26b-a4b-it (Google, reasoning)
- kimi-k2.7-code-highspeed (Moonshot, highspeed tier of kimi-k2.7-code)
- qwen3.5-9b (Alibaba)
- glm-5.2 (Z.AI)
Adds base model metadata for kimi-k2.7-code-highspeed and qwen3.5-9b.
Pricing for gemma/kimi/qwen taken from the api.llmgateway.io catalog;
glm-5.2 pricing from the Z.AI docs (input $1.4, cache_read $0.26, output $4.4).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This refactors Zenmux model configurations by:
- Moving comprehensive model properties (e.g., limits, modalities) from `providers/zenmux/models/` to the shared `models/` directory.
- Introducing `base_model` references in `providers/zenmux/models/` files, which now primarily specify provider-specific attributes like `cost`.
- Updating parameters for `qwen3.7-plus`, `gpt-5.5-instant`, and `step-3.7-flash` during this reorganization.