Repository navigation
feat(v2): migrate Helicone provider files to schema 2 - #10780
Merged
Merged
Conversation
Contributor
Action items
|
Collaborator
Author
|
Review round 1:
|
Contributor
Action items
|
Collaborator
Author
|
Review round 2:
|
Contributor
Action items
|
Collaborator
Author
|
Review round 3: no data changes this round.
|
…s for a hand pass
… on the backfilled Claude files
…s family to hermes-2-pro-llama-3-8b
…grok-code-fast-1 as provider overrides
rekram1-node
force-pushed
the
v2-helicone
branch
from
October 21, 2026 06:59
ba99da0 to
10cbfbe
Compare
Contributor
Action items
|
Collaborator
Author
|
Follow-up review: the only new point is |
rekram1-node
enabled auto-merge (squash)
October 21, 2026 16:12
rekram1-node
disabled auto-merge
October 21, 2026 16:12
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The 90 Helicone files were still v1, and 76 of them restated lab models in full.
generate-helicone.tscouldn't be rerun safely. It deleted every file and rewrote it from the registry, which:reasoning_options, descriptions and families, so the result failed validation;base_modelinto otherwise full files;The data had registry artifacts too:
attachment = falseon every model, including the 49 with image input;reasoning = falseon GPT-5, the o-series and other always-reasoning models, because the registry's parameter lists omitreasoning;0.30000000000000004).Change
Generator. Existing files are now authored v2 files. The registry only refreshes their price, through the shared
patchModelV2, the same path sync uses:No model IDs are hard-coded.
mainonly runs underimport.meta.main. The newgenerate-helicone.test.tscovers float rounding, unchanged files left alone, a price-only patch that keeps the header, reasoning and TTLs, all 90 shipped files reproducing from their own price, and new models written as v2.Live run against today's registry (reverted, not part of this PR):
22 created, 2 updated, 1 deleted, 87 unchanged.descriptionand reasoning controls, as before, so they still need a hand pass.Linked (76): Claude ×13 (undated IDs → undated labs,
-20251001-style IDs → dated labs, 4.0 →-4-0), DeepSeek Reasoner/V3.2, Gemini 2.5 ×3 / 3 Pro Preview, Gemma 3 12B, GLM-4.6, GPT-4.1 ×4 (gpt-4.1-mini-2025-04-14→gpt-4.1-mini), GPT-4o ×2, GPT-5 ×6, GPT-5.1 ×4, gpt-oss ×2, Grok 4 Fast ×2 / 4.1 Fast ×2 / Code Fast 1, Hermes 2 Pro, Kimi K2 0711/0905/Thinking, Llama 3.1 8B ×3, Llama 3.3 70B ×2, Llama 4 ×2, Prompt Guard 2 ×2, Mistral Large 2411/Nemo/Small, o1/o3/o3-mini/o3-pro/o4-mini, Qwen3 ×7, Sonar ×4.knowledgediffers from the lab on most files, because the generator copied the registry'strainingDate, which is really a release date. It is kept as a provider override with an "unsourced" header, per the migration rules.video, because the lab cites video support but has no MIME types for it.Left standalone (14): chatgpt-4o-latest, o1-mini, grok-3, grok-3-mini, grok-4, sonar-reasoning, gemma2-9b-it, llama-guard-4, qwen2.5-coder-7b-fast, deepseek-r1-distill-llama-70b, deepseek-tng-r1t2-chimera, deepseek-v3.1-terminus, ernie-4.5-21b-a3b-thinking (no lab). deepseek-v3 is also left alone: its registry endpoints serve V3.1.
Backfill:
reasoning_effortschema (minimal|low|medium|high); OpenAI routes pass it through (reasoning)noneis outside the gateway schema.thinking.type/budget_tokens, the same as the other Claude filesreasoning = { supported = true }{ "5m", "1h" }cacheMultipliers.write5m/write1hMid-conversation flags are unset. Helicone documents none of them, and there was no
HELICONE_API_KEYto test with.v1 changes (all from
bun run v1:check, full lists checked)attachment: false → true on 44 (49 set, then 5 Qwen/Mistral files went back to text-only on linking).reasoningfalse → true +reasoning_optionson 20 (table above).modalities: output["text","image"]→["text"]on 5. Input →["text"]on qwen3-coder, qwen3-30b-a3b, qwen3-235b-a22b-thinking, qwen3-next-80b-a3b-instruct and mistral-nemo.cache_read0.30000000000000004 → 0.3). No real price changed.canonical_model_id75,open_weightsfalse → true on 28,limit.inputon 9 GPT-5.x, lab descriptions, families (gpt-codex → gpt on chat-latest ×2, sonar-deep-research → sonar), and lab release/last_updated dates in place of registry dates (e.g. GPT-5 2025-01-01 → 2025-08-07, o3 2024-06-01 → 2025-04-16).tool_callfalse → true (the registry lists tools). Round 2: o1-mini reasoning (above), and no budget max on the three backfilled Claude files.familyis removed.family = "grok"onxai/grok-4-fast-reasoning,family = "hermes"onnousresearch/hermes-2-pro-llama-3-8b(Nous Research's Hermes line, same as hermes-4-405b). v1: lab family added on both; novita-ai's Hermes 2 Pro gainshermes; helicone hermes-2-prollama→hermes.family = "grok"as a provider override; their labs are left to feat(v2): migrate Abacus provider files to schema 2 #10776. The generator keeps these overrides (new test).Out of scope
pickEndpoint's price as before.reasoning = false(controls on Helicone unknown), GPT-5/5.1 Chat Latestreasoning = false(same as peers), and thetoolsoverrides on DeepSeek Reasoner, Gemma 3 12B, Mistral Nemo, o1 (false) and GPT-5 Chat Latest (true).statuschanges: Helicone still lists models whose upstream retired them (chatgpt-4o-latest, o1-mini, Claude 3.5 Sonnet).Verification
bun run v1:check: byte-identical after the migration commit (vs its parent). Afterwards, only the changes above.bun validate: passes.bun test: 680 pass / 10 fail. The same 10 fail on dev.bun test packages/core/test/generate-helicone.test.ts: 6 pass.bun run helicone:generateon the final tree: 87 files byte-identical. The other changes are the registry drift listed above, and they were reverted.