You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Adds Kunavo — a unified AI gateway to Claude, Gemini, GPT and media models behind one OpenAI-compatible API, with transparent per-token pricing 30–70% under providers' list prices.
providers/kunavo/provider.toml — OpenAI-compatible, env = ["KUNAVO_API_KEY"], api = https://api.kunavo.com/v1
10 model TOMLs using base_model inheritance (anthropic / google / openai upstreams) with Kunavo's own [cost] — model ids match GET /v1/models exactly
logo.svg — currentColor mono
Compatibility verified today against the live endpoint: streaming ✓, tool calling (streamed tool_call deltas, finish_reason=tool_calls) ✓, stream_options.include_usage ✓, GET /v1/models lists all 10 ids ✓ — tested on both a Gemini and a Claude model.
[high] [violation]providers/kunavo/models/*.toml (all 10 new model files) - Check: Reasoning models must declare reasoning_options reflecting the provider's actual API surface. Why: Each file uses base_model pointing at metadata where reasoning = true (e.g. anthropic/claude-sonnet-5, anthropic/claude-fable-5, openai/gpt-5.5, openai/gpt-5.3-codex, openai/gpt-5.4-mini, google/gemini-2.5-pro, google/gemini-2.5-flash), and that boolean is inherited through the merge — but none of the Kunavo TOMLs define reasoning_options. The schema refinement Must set reasoning_options when reasoning is true (packages/core/src/schema.ts:282) and the AGENTS.md checklist make this a hard merge blocker; bun validate will reject every file. Comparable aggregators serving these same models (OpenRouter, Kilo, Venice) all declare reasoning_options for them. Action: Add a reasoning_options array to each of the 10 files — reasoning_options = [] if Kunavo exposes no verified reasoning control, or the actual effort/toggle/budget_tokens controls Kunavo's API accepts (with a TOML comment documenting the exact request syntax for niche controls, per AGENTS.md).
[low] [possible mistake]providers/kunavo/models/*.toml (all 10 [cost] blocks) - Check: Per-token pricing must be supported by a direct provider citation that states what it supports, and cache dimensions should be declared where the provider charges for them. Why: The PR body lists a catalog/docs URL but does not map it to the specific input/output/cache_read values. The Claude models declare cache_read while omitting cache_write, which every comparable Claude provider entry includes (OpenRouter, Kilo, Venice all publish cache_write); the Gemini/GPT models omit cache pricing entirely. These material factual values cannot be reviewed against an unmapped source. Action: Cite Kunavo's pricing source for the per-token costs (e.g., state explicitly that https://kunavo.com/llms.txt provides the pricing used) and confirm whether cache_write (Claude) and cache_read (Gemini/GPT) apply — add them wherever Kunavo charges for those dimensions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds Kunavo — a unified AI gateway to Claude, Gemini, GPT and media models behind one OpenAI-compatible API, with transparent per-token pricing 30–70% under providers' list prices.
providers/kunavo/provider.toml— OpenAI-compatible,env = ["KUNAVO_API_KEY"],api = https://api.kunavo.com/v1base_modelinheritance (anthropic / google / openai upstreams) with Kunavo's own[cost]— model ids matchGET /v1/modelsexactlylogo.svg— currentColor monoCompatibility verified today against the live endpoint: streaming ✓, tool calling (streamed tool_call deltas,
finish_reason=tool_calls) ✓,stream_options.include_usage✓,GET /v1/modelslists all 10 ids ✓ — tested on both a Gemini and a Claude model.Machine-readable catalog: https://kunavo.com/llms.txt · Docs: https://kunavo.com/docs/quickstart
Also serves the native Anthropic Messages API on the same key (
/v1/messages); this PR registers the OpenAI-compatible surface only.