Add Nebul as provider (4 curated chat models + sync) - #7871
wynandhuizinga wants to merge 2 commits into
Conversation
Action items
|
|
All three findings addressed in 1. Endpoint ( 2. Effort sets: narrowed both 3. Fail-open advertised-efforts fallback (
|
Action items
|
|
Qwen3.5 finding addressed in |
|
No actionable findings. |
cde5df8 to
a583b83
Compare
Action items
|
Add the Nebul provider (NEBUL-AI) with exactly four curated chat models, each as a base_model override: - zai-org/GLM-5.3 - nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16 - Qwen/Qwen3.5-397B-A17B - mistralai/Mistral-Large-3-675B-Instruct-2512 The sync module reads the unauthenticated /v1/model/info catalog as authoritative for the curated entries' cost/context, but is constrained so it can never grow or shrink the shipped set: skipCreates keeps other in-scope chat models out, deleteMissing: false retains a curated model that drops out of the catalog (surfaced via missingNotice), and trackMissingModels: false avoids missing-model issues for models this provider deliberately does not curate. Reasoning options are only ever hand-authored from live probes; the catalog's advertised reasoning_efforts are probe-proven unreliable, and a reasoner without authored options fail-closes. Whole-catalog faults are rejected before any file is written or deleted.
a583b83 to
93fb473
Compare
|
No actionable findings. |
Rewrite the comments added with the Nebul provider for simple, active-voice English: short sentences, no semicolons or em-dashes, no speculative modals. No code or data changes.
|
No actionable findings. |
Add https://nebul.com as a provider with four curated chat models, plus an hourly sync module.
Supersedes #7400 (same provider, deliberately trimmed to the four flagship models below for a smaller review surface). Ref #6879.
Models added (all
base_model+ override-only against existing lab metadata — no new lab files needed):zai-org/GLM-5.3zhipuai/glm-5.3nvidia/NVIDIA-Nemotron-3-Super-120B-A12B-BF16nvidia/nemotron-3-super-120b-a12bQwen/Qwen3.5-397B-A17Balibaba/qwen3.5-397b-a17bmistralai/Mistral-Large-3-675B-Instruct-2512mistral/mistral-large-2512Curation policy
The sync treats the catalog as authoritative for these four entries' live cost/context, but it can never grow or shrink the shipped set:
skipCreates: true— only the four hand-authored models ship; any other in-scope chat model is reported via the skipped notice and left out.deleteMissing: false— a curated model absent from the catalog (e.g.zai-org/GLM-5.3has been intermittently absent) is retained and surfaced viamissingNoticerather than silently deleted.trackMissingModels: false— no missing-model issues for in-scope chat models this provider deliberately does not curate.Sources
GET https://api.inference.nebul.io/v1/model/info(input_cost_per_1m_tokens,output_cost_per_1m_tokens,cache_read_input_cost_per_1m_tokens,max_input_tokens), re-checked 2026-09-24POST /v1/chat/completions, 2026-09-23):reasoning_effortaccepts none|minimal|low|medium|high|xhigh|max — all levels return 200; thinking is on by default,nonedisables it. The catalog'ssupports_reasoning = falsefor both IDs is a false negativereasoning_efforts+ parity with the lab (providers/zai) and OpenRouter entries for the same base modelreasoning_effortparam only — no on/off toggle, no reasoning budget; traces arrive inreasoning_content(henceinterleaved)Reasoning controls policy
reasoning_efforts, which have been observed wrong on this host). If a reasoner advertises nothing and has nothing authored, sync fails closed with a missing-reasoning-controls error instead of inventing values.Sync safety
parseModelsbefore any file is written or deleted: empty response, no entry matching the chat-model filter, or a catalog smaller than half the known-good in-scope size.model_type, document-OCR by name,display_tagsGuard Model / Content Safety / Private / Internal, server-side-superseded IDs) skip silently.Checklist
logo.svg(currentColor,0 0 24 24viewBox)base_model; all four lab files already exist upstreambun validatepassesbun test packages/core/test/nebul.test.ts— 21/21 passbun packages/core/script/sync-models.ts nebul --dry-run— 4 unchanged, 0 created/updated/removed