Repository navigation
feat(engy): add engy sync module - #8715
Open
roykollensvendsen wants to merge 1 commit into
Open
roykollensvendsen wants to merge 1 commit into
roykollensvendsen wants to merge 1 commit into
Conversation
Contributor
|
No actionable findings. |
roykollensvendsen
force-pushed
the
add-engy-sync
branch
from
October 7, 2026 21:24
18cfd2e to
6cd8bfb
Compare
engy publishes prices, the context window and modalities on a public GET /v1/models; the module syncs those and preserves everything else (the input/output split, reasoning_options, interleaved, the other cost keys, provider, experimental, status, base_model). It never creates or deletes: a created file would ship limit.output = 0, so unseen ids become [missing-model] issues, and the unauthenticated list can return an empty data array, so missing files are retained and reported. An authored base_model wins over the slug resolver. Prices round to six decimals, so the hourly run is a no-op. Registered in sync/index.ts and the direct group, with an engy:sync script, an engy Notes section in sync.md, and 18 tests that read the shipped files. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018k8EL6s5hEtTTMJ8Jjd4Ls
roykollensvendsen
force-pushed
the
add-engy-sync
branch
from
October 7, 2026 21:26
6cd8bfb to
410a236
Compare
Contributor
|
No actionable findings. |
Contributor
|
No actionable findings. |
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.
Summary
Adds a sync module for engy, the provider added in #5910. That PR was split so the provider could land first, and this is the module that was taken out of it. One change since then: the module now keeps every authored field and overwrites only the cost, context and modalities, as the Mistral module does. Before, it rebuilt each model from a fixed field list, which would have stripped v2's new
typefield on the next run.engy publishes prices, the context window and modalities on a public
GET https://api.engy.ai/v1/models(no auth). The module keeps those current. While #5910 was open it caught two real changes: kimi-k3's 30% price rise on 09-03 and qwen3.8-27b's larger window on 09-13.What it writes and what it leaves alone
input,output,cache_read),limit.contextandmodalities.reasoning_options,interleaved, any other cost keys,provider,experimentalandstatus. The public list gives only the context window, which on engy is max_input + max_output, so the module never derives the split from it.base_model: an authoredbase_modelwins over the slug resolver.context_lengthof 0 or less counts as unreported.skipCreates: a new id opens a[missing-model]issue instead of a file, because a created file would shiplimit.output = 0. Today the list and the catalogue match, so the first run opens nothing.deleteMissing: false:{"data":[]}passes the schema, so retired ids are reported, not deleted.The module is registered in
sync/index.ts(alphabetical,directgroup), with anengy:syncscript and an engy Notes section insync.md. It is not onREVIEWED_REASONING_PROVIDERS.Test plan
packages/core/test/engy.test.ts: 18 pass. The carry-through test now coverstypeandreasoning_optionsand fails on the old field list. The suite reads the shipped engy files and asserts that a sync round trip leaves them unchanged.bun models:sync engy --dry-run, then a real run, then--dry-runagain, 2026-10-07: 8 unchanged each time, no files touchedbun validatebun run testinpackages/sdk: 25 passtsc --noEmitinpackages/core: the same 78 errors as ondev, none of them in engy codedev25bd6dc