Conversation
…usresearch, and zhipu - Added new model definitions in nebius and zhipu packages - Introduced new google gemma-2 variants - Added devstral-small model to mistral - Updated nousresearch models and added new Hermes 4 models - Updated pricing and model details in alibaba and deepseek - Incorporated new models into main models export array Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
WalkthroughAdds new model definitions (Zhipu GLM-4.5, Mistral Devstral, Google Gemma-2 IT, NousResearch Hermes 4, DeepSeek V3 variant), updates provider pricing/metadata for Alibaba and OpenAI entries, and integrates the new zhipuModels collection into the public models export. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20–30 minutes
Possibly related PRs
Suggested reviewers
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (8)
packages/models/src/models.ts(2 hunks)packages/models/src/models/alibaba.ts(2 hunks)packages/models/src/models/deepseek.ts(1 hunks)packages/models/src/models/google.ts(1 hunks)packages/models/src/models/mistral.ts(1 hunks)packages/models/src/models/nebius.ts(1 hunks)packages/models/src/models/nousresearch.ts(2 hunks)packages/models/src/models/zhipu.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{js,ts,jsx,tsx}: Always use top-levelimport, never use require or dynamic imports
No unnecessary code comments
Files:
packages/models/src/models/google.tspackages/models/src/models/nebius.tspackages/models/src/models/deepseek.tspackages/models/src/models.tspackages/models/src/models/zhipu.tspackages/models/src/models/mistral.tspackages/models/src/models/nousresearch.tspackages/models/src/models/alibaba.ts
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
Use cookies for user-settings which are not saved in the database to ensure SSR works
**/*.{ts,tsx,js,jsx}: Always use tabs for indentation
Always use top-levelimport, never use require or dynamic imports
Avoid unnecessary code comments
Files:
packages/models/src/models/google.tspackages/models/src/models/nebius.tspackages/models/src/models/deepseek.tspackages/models/src/models.tspackages/models/src/models/zhipu.tspackages/models/src/models/mistral.tspackages/models/src/models/nousresearch.tspackages/models/src/models/alibaba.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Use Drizzle ORM with latest object syntax for database operations
For database reads: Usedb().query.<table>.findMany()ordb().query.<table>.findFirst()Never use
anyoras anyin TypeScript code unless absolutely necessary
Files:
packages/models/src/models/google.tspackages/models/src/models/nebius.tspackages/models/src/models/deepseek.tspackages/models/src/models.tspackages/models/src/models/zhipu.tspackages/models/src/models/mistral.tspackages/models/src/models/nousresearch.tspackages/models/src/models/alibaba.ts
**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
For database reads, use
db().query.<table>.findMany()ordb().query.<table>.findFirst()with Drizzle ORM
Files:
packages/models/src/models/google.tspackages/models/src/models/nebius.tspackages/models/src/models/deepseek.tspackages/models/src/models.tspackages/models/src/models/zhipu.tspackages/models/src/models/mistral.tspackages/models/src/models/nousresearch.tspackages/models/src/models/alibaba.ts
packages/**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
Use DRY principles for code reuse across the monorepo with shared packages
Files:
packages/models/src/models/google.tspackages/models/src/models/nebius.tspackages/models/src/models/deepseek.tspackages/models/src/models.tspackages/models/src/models/zhipu.tspackages/models/src/models/mistral.tspackages/models/src/models/nousresearch.tspackages/models/src/models/alibaba.ts
🧬 Code graph analysis (2)
packages/models/src/models/nebius.ts (1)
packages/models/src/models.ts (1)
ModelDefinition(163-223)
packages/models/src/models/zhipu.ts (1)
packages/models/src/models.ts (1)
ModelDefinition(163-223)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
- GitHub Check: test / run
- GitHub Check: build / run
- GitHub Check: lint / run
- GitHub Check: e2e-shards (3)
- GitHub Check: e2e-shards (1)
- GitHub Check: e2e-shards (4)
- GitHub Check: e2e-shards (5)
- GitHub Check: e2e-shards (2)
- GitHub Check: autofix
🔇 Additional comments (8)
packages/models/src/models/alibaba.ts (2)
245-259: Qwen3 235B Thinking Nebius pricing update looks consistentRaising
outputPriceto0.8 / 1e6for the reasoning “Thinking” variant matches the intent to align with the new Nebius price sheet. No structural issues.
341-345: Updated Qwen2.5 Coder 7B Nebius mapping/pricing is structurally soundSwitching to
Qwen/Qwen2.5-Coder-7B-Instructwith adjustedinputPrice/outputPriceslots into the existing model definition cleanly; types and flags remain consistent with other Nebius-backed Qwen entries.packages/models/src/models/mistral.ts (1)
97-120: Devstral Small 2505 Nebius entry fits existing Mistral model schemaThe new
devstral-small-2505definition is structurally consistent (pricing, contextSize, tools/jsonOutput flags) with other coding-focused models and integrates cleanly intomistralModels.packages/models/src/models.ts (1)
11-18: Global models registry correctly integrates Nebius and Zhipu model groupsImporting
nebiusModelsandzhipuModelsand appending them to themodelsarray via spread keeps the aggregation pattern intact and ensures the new providers are exposed through the central catalog without type changes.Also applies to: 242-243
packages/models/src/models/google.ts (1)
1142-1187: Nebius Gemma 2 IT variants are well-formed and non-conflictingThe new
gemma-2-2b-itandgemma-2-9b-itentries introduce Nebius-backed Gemma 2 models with sensible pricing, 8K context, and capability flags matching other small IT variants. IDs don’t collide with the existinggemma2-9b-it(Groq) definition.packages/models/src/models/nebius.ts (1)
1-50: Nebius GPT-OSS model definitions align with shared ModelDefinition schema
gpt-oss-120bandgpt-oss-20buse the expectedfamily: "nebius",providerId: "nebius", and pricing/context/flags layout, and theas const satisfies ModelDefinition[]pattern matches the rest of the catalog.packages/models/src/models/zhipu.ts (1)
1-50: Zhipu GLM-4.5 variants via Nebius are correctly modeledThe
glm-4-5andglm-4-5-airentries cleanly represent Zhipu family models served by thenebiusprovider, with coherent pricing, 128K context, and appropriatetools/jsonOutputflags, and conform toModelDefinition.packages/models/src/models/nousresearch.ts (1)
5-72: Hermes 3 rename and Hermes 4 Nebius additions are consistent and type-safeUpdating Hermes 3 to
NousResearch/Hermes-3-Llama-3.1-405Bplus addinghermes-4-405bandhermes-4-70bas separatenousresearchfamily models with Nebius providers fits the existing schema and pricing conventions; provider blocks are complete (context, streaming, jsonOutput) and satisfyModelDefinition.
| id: "deepseek-v3-0324", | ||
| name: "DeepSeek V3 (0324)", | ||
| description: "March 2024 version of DeepSeek V3 with improved performance.", | ||
| family: "deepseek", | ||
| releasedAt: new Date("2025-03-24"), | ||
| publishedAt: new Date("2025-03-24"), |
There was a problem hiding this comment.
Align DeepSeek V3 (0324) description year with releasedAt/publishedAt
Description says “March 2024 version” but releasedAt/publishedAt are 2025-03-24. One of these is likely off by a year; please align description and dates so downstream consumers don’t get confused when sorting/filtering by release date.
🤖 Prompt for AI Agents
In packages/models/src/models/deepseek.ts around lines 42 to 47, the description
string says "March 2024 version" while releasedAt and publishedAt are set to
2025-03-24; update the description to match the 2025 date (e.g., "March 2025
version of DeepSeek V3...") so the textual metadata aligns with
releasedAt/publishedAt and downstream sorting/filtering remains consistent.
…ouping - Deleted the Nebius models file and removed its import and spreading from main models list. - Added Nebius model definitions under openaiModels instead, consolidating model definitions. - This streamlines the codebase by reducing separate Nebius grouping and integrating their models under openaiModels. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
packages/models/src/models.ts(2 hunks)packages/models/src/models/openai.ts(2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
- packages/models/src/models.ts
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{js,ts,jsx,tsx}: Always use top-levelimport, never use require or dynamic imports
No unnecessary code comments
Files:
packages/models/src/models/openai.ts
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
Use cookies for user-settings which are not saved in the database to ensure SSR works
**/*.{ts,tsx,js,jsx}: Always use tabs for indentation
Always use top-levelimport, never use require or dynamic imports
Avoid unnecessary code comments
Files:
packages/models/src/models/openai.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Use Drizzle ORM with latest object syntax for database operations
For database reads: Usedb().query.<table>.findMany()ordb().query.<table>.findFirst()Never use
anyoras anyin TypeScript code unless absolutely necessary
Files:
packages/models/src/models/openai.ts
**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
For database reads, use
db().query.<table>.findMany()ordb().query.<table>.findFirst()with Drizzle ORM
Files:
packages/models/src/models/openai.ts
packages/**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
Use DRY principles for code reuse across the monorepo with shared packages
Files:
packages/models/src/models/openai.ts
🔇 Additional comments (1)
packages/models/src/models/openai.ts (1)
604-616: Pricing and structure are consistent.The nebius provider entry follows the same pattern as the gpt-oss-120b entry above, with pricing correctly matching the PR objectives (0.05/1e6 input, 0.2/1e6 output). The capability differences mirror those in the 120B variant.
| { | ||
| providerId: "nebius", | ||
| modelName: "nvidia/gpt-oss-120b", | ||
| inputPrice: 0.15 / 1e6, | ||
| outputPrice: 0.6 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 128000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| jsonOutput: false, | ||
| }, |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Search for all Nebius provider entries to check consistency
rg -n 'providerId: "nebius"' packages/models/src/models/openai.ts
# Also check the full context around the gpt-oss-120b and gpt-oss-20b entries
cat -n packages/models/src/models/openai.ts | sed -n '514,618p'Repository: theopenco/llmgateway
Length of output: 3195
🏁 Script executed:
# Check for reasoning field patterns across all providers to understand if omission is standard
rg -n 'reasoning:' packages/models/src/models/openai.ts | head -20
# Check if there are any other provider entries without reasoning field
rg -B 3 -A 3 'tools: false' packages/models/src/models/openai.tsRepository: theopenco/llmgateway
Length of output: 2141
Add missing reasoning field to Nebius provider entries.
Both Nebius provider entries (lines 552 and 605) are missing the reasoning field, which is present in all other provider entries across the file. Based on the pattern in the codebase, the field should be explicitly set. Since the Nebius entries have tools: false and jsonOutput: false, and the model descriptions attribute reasoning capabilities specifically to Groq ("via Groq inference"), the reasoning field should be added and set to false for both Nebius entries at lines 551-563 and 604-616.
🤖 Prompt for AI Agents
In packages/models/src/models/openai.ts around lines 551 to 563, the Nebius
provider model entry is missing the standardized boolean "reasoning" field found
on other provider entries; add reasoning: false to this object (and likewise add
reasoning: false to the other Nebius entry at ~604-616) so both Nebius entries
explicitly include reasoning set to false to match the file's pattern and
reflect that these models do not support reasoning.
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (1)
packages/models/src/models/alibaba.ts (1)
334-355: Qwen2.5 Coder 7B Instruct mapping and pricing look goodSwitching
modelNameto the...-Instructvariant and bumpinginputPrice/outputPriceto0.03 / 1e6and0.09 / 1e6is coherent with the larger 32B instruct entry and keeps the provider block internally consistent. If you want perfect UX alignment, you might optionally update the human‑readablename/descriptionto mention “Instruct”, but it’s not required for correctness.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
packages/models/src/models/alibaba.ts(2 hunks)
🧰 Additional context used
📓 Path-based instructions (5)
**/*.{js,ts,jsx,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{js,ts,jsx,tsx}: Always use top-levelimport, never use require or dynamic imports
No unnecessary code comments
Files:
packages/models/src/models/alibaba.ts
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
Use cookies for user-settings which are not saved in the database to ensure SSR works
**/*.{ts,tsx,js,jsx}: Always use tabs for indentation
Always use top-levelimport, never use require or dynamic imports
Avoid unnecessary code comments
Files:
packages/models/src/models/alibaba.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (AGENTS.md)
**/*.{ts,tsx}: Use Drizzle ORM with latest object syntax for database operations
For database reads: Usedb().query.<table>.findMany()ordb().query.<table>.findFirst()Never use
anyoras anyin TypeScript code unless absolutely necessary
Files:
packages/models/src/models/alibaba.ts
**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
For database reads, use
db().query.<table>.findMany()ordb().query.<table>.findFirst()with Drizzle ORM
Files:
packages/models/src/models/alibaba.ts
packages/**/*.ts
📄 CodeRabbit inference engine (CLAUDE.md)
Use DRY principles for code reuse across the monorepo with shared packages
Files:
packages/models/src/models/alibaba.ts
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
- GitHub Check: test / run
- GitHub Check: e2e-shards (4)
- GitHub Check: e2e-shards (5)
- GitHub Check: e2e-shards (3)
- GitHub Check: e2e-shards (2)
- GitHub Check: e2e-shards (1)
- GitHub Check: autofix
- GitHub Check: lint / run
- GitHub Check: generate / run
- GitHub Check: build / run
🔇 Additional comments (1)
packages/models/src/models/alibaba.ts (1)
238-259: Nebius pricing update for Qwen3 235B Thinking looks consistentThe updated
outputPrice: 0.8 / 1e6aligns with this being the more expensive reasoning variant relative to the instruct entry above; no issues from a schema or consistency standpoint.
There was a problem hiding this comment.
Pull request overview
This PR integrates Nebius and Zhipu model providers into the model catalog, adds new model variants across multiple providers, and updates pricing for several existing models to align with official sources.
Key Changes:
- Adds Zhipu GLM-4.5 and GLM-4.5 Air models with Nebius provider support
- Extends Nebius provider support to existing OpenAI GPT-OSS models and adds new model variants for DeepSeek, Google Gemma, Mistral, and NousResearch
- Updates pricing and model names for Alibaba Qwen models to reflect current specifications
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/models/src/models/zhipu.ts | Adds new Zhipu model family with GLM-4.5 and GLM-4.5 Air variants served via Nebius |
| packages/models/src/models/openai.ts | Adds Nebius provider entries for GPT-OSS 120B and 20B models with corresponding pricing |
| packages/models/src/models/nousresearch.ts | Corrects Hermes 3 model name and adds Hermes 4 405B and 70B variants with Nebius support |
| packages/models/src/models/mistral.ts | Introduces Devstral Small 2505 coding model with Nebius provider configuration |
| packages/models/src/models/google.ts | Adds Gemma 2 2B IT and 9B IT instruction-tuned models via Nebius provider |
| packages/models/src/models/deepseek.ts | Removes unstable flag from DeepSeek V3 Nebius provider and adds V3-0324 variant |
| packages/models/src/models/alibaba.ts | Updates output pricing for Qwen3-235B-A22B-Thinking and corrects model name/pricing for Qwen2.5-Coder-7B |
| packages/models/src/models.ts | Imports and registers zhipuModels in the global models array |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| releasedAt: new Date("2025-03-24"), | ||
| publishedAt: new Date("2025-03-24"), |
There was a problem hiding this comment.
The description states "March 2024 version" but the releasedAt date is set to March 2025, creating an inconsistency. If this is truly a March 2024 version, the dates should be new Date("2024-03-24"). Please align the description and dates to reflect the correct release timeframe.
| releasedAt: new Date("2025-03-24"), | |
| publishedAt: new Date("2025-03-24"), | |
| releasedAt: new Date("2024-03-24"), | |
| publishedAt: new Date("2024-03-24"), |
Summary
Changes
Core Registry
New Nebius models
New Zhipu models
Model price updates (alignments and new variants)
New files
Test plan
🌿 Generated by Terry
ℹ️ Tag @terragon-labs to ask questions and address PR feedback
📎 Task: https://www.terragonlabs.com/task/51954b11-ee99-4b33-885d-4d27750ca923
Summary by CodeRabbit
New Features
Updates
✏️ Tip: You can customize this high-level summary in your review settings.