* Add GreenPT provider (26 models)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Add GreenPT provider logo
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Use base_model for Mistral Small 3.2 / Medium 3.5 and Green L (review)
Reference existing models/ metadata via base_model instead of
re-declaring provider-agnostic facts inline, per review feedback.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Add required description field to full-def models
Upstream schema now requires a non-empty description on models;
base_model entries inherit it, so add it to the self-contained ones.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Refresh GreenPT catalog against production
Reconciles every GreenPT entry with the live production catalog and addresses
the data-accuracy review:
- Context limits: add provider-specific limit.context where GreenPT serves a
smaller window than the base metadata (gemma-3-27b-it 40k, devstral-2 200k,
llama-3.3-70b 100k, qwen3-coder-30b 128k).
- Speech-to-text: reprice green-s / green-s-pro to the current EUR 0.12/hour
pre-recorded rate, with the standard EUR 0.23/hour noted inline.
- Modalities: override attachment and modalities.input so each entry advertises
exactly what GreenPT serves. Adds image input to gpt-oss-120b, green-r,
green-r-raw, green-l, green-l-raw and mistral-small-3.2; drops the inherited
video/audio modalities from qwen3.6-35b-a3b, qwen3.5-397b-a17b and the Kimi
entries.
- Reasoning controls: reasoning_options now lists the full accepted effort set
(none, minimal, low, medium, high) on every reasoning model.
- Token costs: refresh prices, including glm-5.2, glm-5.1, minimax-m2.5 and the
three Kimi entries.
* Rename gemma-4-26b-a4b-it to gemma4
The GreenPT API serves this model under the id `gemma4`; the previous filename
did not resolve against the live endpoint. The upstream weights are still
referenced through base_model.
* Address automated review feedback
- Add the required top-of-file cost-conversion comment (rate 1.14 USD/EUR,
captured 2026-07-24, with sources) to every EUR-sourced file, per the
AGENTS.md cost schema rule.
- Scope reasoning_options to the GreenPT-hosted models whose reasoning control
is documented first-party (gemma4, green-r, green-r-raw). The third-party
pass-through endpoints forward reasoning_effort upstream unchanged and their
per-model accepted values are not verified, so they now declare [] rather
than an assumed effort enum.
- Publish the standard EUR 0.23/hour speech-to-text rate (USD 0.00437/minute)
instead of the temporary promotional rate, so the catalog stays correct after
the promotion ends on 2026-08-31. The promotion is documented in the header.
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* feat(sync): add Merge Gateway model sync
* fix(merge-gateway): document reasoning controls
* fix(sync): preserve partial Merge Gateway metadata
* fix(merge-gateway): align route metadata sync
* fix(merge-gateway): treat supports_reasoning as a positive-only signal
The public /v1/models schema does not document supports_reasoning, and the
live catalog populates it inconsistently across vendor routes: the same
model reports true on one route and false on another (claude-opus-4-6 is
false via anthropic, true via bedrock), and reasoning-only models such as
deepseek-r1 report false on their sole route. Flipping reasoning = false
from that field erased curated reasoning metadata on 42 models.
- only confirm reasoning when an available route reports
supports_reasoning = true (always accompanied by route reasoning
metadata), defaulting reasoning_options to [] when none are curated
- preserve curated reasoning metadata when routes report false or omit
the field
- restore the 42 erased reasoning entries (claude, deepseek-r1, gpt-oss,
gemma, qwen, glm, nemotron, fugu) from curated values
- re-sync against the live catalog: gemini-embedding-001 added, route
cache_read prices and display names ingested, qwen3.5-27b limits and
modalities updated
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* chore(merge-gateway): refresh model catalog
* fix(merge-gateway): align synced model metadata
* docs(sync): trim Merge Gateway notes
* fix(merge-gateway): remove stale Qwen aliases
* test(merge-gateway): document sync coverage
* fix(merge-gateway): mark chat models as non-reasoning
---------
Co-authored-by: Matthew Feroz <matt.feroz@merge.dev>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Co-authored-by: Aiden Cline <aidenpcline@gmail.com>
* feat(llmgateway): add reasoning effort levels for kimi-k3
The kimi-k3 entry declared no reasoning options. Verified against the
live gateway that reasoning_effort accepts
minimal|low|medium|high|xhigh|max and returns thinking traces in
message.reasoning, with depth scaling low < medium < high ~= max.
There is no working off switch ('none', reasoning.enabled=false,
thinking.type=disabled, and reasoning.exclude=true all still reason),
so 'none' is omitted and no toggle is declared.
* refactor(llmgateway): move kimi-k3 API mapping note into header comment
Inline comments on TOML entries are dropped by the sync re-serializer;
keep the reasoning_effort/reasoning.effort mapping note in the leading
comment block per repo convention.
* fix(aiand): rescale logo.svg to 24x24 icon format
The previous logo used a 1280x1280 viewBox with a translate(0 430)
transform, causing it to render blank/broken at small icon sizes in
OpenCode's provider catalog. Rescaled to 24x24 following the convention
used by fireworks-ai, nebius, and other providers.
* fix(aiand): fix logo.svg rendering at icon sizes
Crop viewBox to the actual content bounding box (0 471 1280 430)
and add explicit width/height="24" so the logo renders correctly
at small icon sizes in OpenCode's provider catalog.
Original paths are unchanged.
* fix(aiand): fix logo.svg not rendering in provider catalog
Add width/height="24" and crop viewBox to "0 471 1280 430" —
the exact bounding box of the logo content after translate(0 430).
No path data changed.
* fix(aiand): remove glm-5.1 — not in live catalog (superseded by glm-5.2)
* fix(aiand): remove kimi-k2.6 — not in live catalog (superseded by kimi-k2.7-code and kimi-k3)
* feat(berget): add Kimi K3
Moonshot AI's 2.8T-parameter open-weights model, served on Berget AI's
Swedish infrastructure (NVIDIA B300, SGLang with DSpark speculative
decoding).
- reasoning_effort none/low/medium/high/max mapped to K3's native
low/high/max; reasoning returned in message.reasoning_content
- 320k context window, 32k max output
- Multimodal input (text + image)
- Pricing: $3 input / $15 output per 1M tokens, $0.30 cache read
* fix(berget): drop cache_read price, tidy reasoning comment
- Remove cache_read: no separate cache-read price on Berget
- Move reasoning comment to file top and drop xhigh mention
(Copilot review)
* fix(berget): Kimi K3 reasoning_effort to native low/high/max
K3 only has three native reasoning levels (low/high/max, default max) and
cannot disable thinking. The previous list (none/low/medium/high/max) mixed
in clamped OpenAI-compat values and implied a granularity the model does not
have — and 'none' is misleading since K3 always thinks. The Berget API still
accepts the full OpenAI effort set and clamps it, but only the three distinct
levels are advertised. Matches the 'distinct functional levels' convention
used by our other models.
---------
Co-authored-by: berget-code <noreply@berget.ai>
Co-authored-by: berget <dev@berget.ai>
* Add Synthetic's Kimi K3 offering
* Update cache read price
* fix(synthetic): declare effort-only reasoning for Kimi K3 per Synthetic API docs
Synthetic's OpenAI-compatible chat completions API documents reasoning_effort
with values low | medium | high and no reasoning on/off toggle, so drop the
toggle option and align effort values with the documented surface (matching
the existing Synthetic Kimi K2.6 / K2.7-Code entries).
https://dev.synthetic.new/docs/openai/chat-completions
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Remove unnecessary comment
* Retrigger transient actions failure
---------
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>