Skip to content

feat(providers): add Kyma - #4019

Open
sonpiaz wants to merge 1 commit into
anomalyco:devfrom
sonpiaz:add-kyma-provider-2026-08
Open

feat(providers): add Kyma#4019
sonpiaz wants to merge 1 commit into
anomalyco:devfrom
sonpiaz:add-kyma-provider-2026-08

Conversation

@sonpiaz

@sonpiaz sonpiaz commented Aug 3, 2026

Copy link
Copy Markdown

Kyma is an OpenAI-compatible gateway (https://api.kymaapi.com/v1). This adds providers/kyma/ with 41 models.

This supersedes #1417, which I filed in April and let go stale — the stale bot's note said to feel free to reopen, but that payload predates the base_model rule and would fail validation today, so this is a clean refile rather than a reopen.

Shape

Kyma resells; it authors nothing. So every model file is base_model plus real overrides only, per AGENTS.md:

base_model = "openai/gpt-oss-120b"
reasoning_options = []

[cost]
input = 0.0527
output = 0.2565
  • bun validate passes.
  • logo.svg included.
  • 41 models across 13 labs, all pointing at existing models/<lab>/ entries. No new lab files are added by this PR.

Two things worth flagging to a reviewer

reasoning_options = [] is deliberate, not a placeholder. Kyma accepts reasoning_effort and returns 200, but I could not demonstrate that the control reaches upstream on every route — reasoning_effort: "banana" also returns 200. Declaring an effort enum would advertise a control that is honoured on some models and dropped on others. [] is the schema's own way of saying "this model reasons and the host exposes no control", and it's the most common value in the repo, so it seemed like the honest option rather than a way around the constraint. Happy to publish a real enum once I've audited the passthrough per route.

11 of Kyma's 52 language models are omitted because they have no models/<lab>/ entry yet — mostly very recent releases (grok-4.20, the gpt-5.6-*-pro variants, claude-opus-5-fast). I'd rather leave them out than add lab entries in the same PR as a new provider; happy to file those separately if that's welcome.

Keeping it fresh

The April entry rotted because it was written by hand. This one is generated from the same catalogue that serves /v1/models, so prices here and prices charged can't drift. I noticed llmgateway:sync, nano-gpt:sync and friends in package.json — if a kyma:sync script would be useful I'm glad to add one in a follow-up so this never goes stale again.

Kyma is an OpenAI-compatible gateway; every model here is resold rather than
authored, so each entry is base_model plus the cost override, per AGENTS.md.

41 models across 13 labs. Generated from the same catalogue that serves
/v1/models, so the prices here and the prices charged cannot drift.

reasoning_options is [] on reasoning models: Kyma exposes no effort control it
can guarantee end to end, and [] is the schema's way of saying so.
@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Action items

  • [high] [violation] providers/kyma/models/gpt-5.6-luna.toml:2 - Check: On multi-model relays, reasoning_options = [] means affirmative no caller control, not uncertainty (AGENTS.md Reasoning options §2; audit skill anti-pattern). Why: Kyma is an OpenAI-compatible gateway of lab models. Nearly every reasoning entry sets reasoning_options = [], and the PR body states this is because passthrough could not be proven end-to-end (reasoning_effort: "banana" still 200) while also noting the API accepts reasoning_effort. Lab and same-surface peers expose real controls for these models (e.g. OpenAI GPT-5.6 none|low|medium|high|xhigh|max, Claude Opus 4.7 low|medium|high|xhigh|max, DeepSeek V4 high|max, Gemini 3.5 Flash minimal|low|medium|high, Grok 4.5 low|medium|high). Blanketing [] under-advertises controls consumers expect on a GPT-style relay. Action: For each reasoning = true model, author reasoning_options from the lab entry plus established same-surface peers for that model (OpenAI-compat / reasoning_effort peers where that is the host surface). Keep [] only where lab/peers affirmatively have no control (e.g. always-on MiniMax M2.5/M2.7, Kimi K2.7 Code, Grok Build). Do not invent a universal L/M/H set, and do not copy lab-only wire shapes (Anthropic budget_tokens, DeepSeek thinking.type) unless this host actually exposes them.
  • [low] [possible mistake] providers/kyma/models/gpt-oss-120b.toml:5 - Check: Data-changing PRs should cite direct provider pricing/docs mapped to claims. Why: Costs use fine-grained USD/MTok values (e.g. 0.0527 / 0.2565) across 41 models with only a general claim that they come from Kyma’s /v1/models catalogue; no public pricing or docs URL is mapped to those numbers. Action: Add a PR-body citation (and optional leading TOML comment) to the public pricing or models catalogue page, stating it backs the listed input/output rates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant