Conversation
Added a deactivatedAt property with date "2025-11-03" to several models across alibaba, deepseek, google, meta, moonshot, and nousresearch packages to indicate planned deactivation dates. Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
❌ Preview Environment deleted from BunnyshellAvailable commands (reply to this comment):
|
WalkthroughThe PR adds a Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes The changes are homogeneous and repetitive—consistently adding the same Possibly related PRs
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 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
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
packages/models/src/models/alibaba.ts (1)
187-200: Critical: Type definition missing fordeactivatedAtfield.The
ProviderModelMappinginterface does not include thedeactivatedAtfield, causing TypeScript compilation errors throughout this file. Add the following property to the interface definition inpackages/models/src/models.ts:/** * Date when this provider/model combination is deactivated */ deactivatedAt?: Date;
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (7)
packages/models/src/models/alibaba.ts(15 hunks)packages/models/src/models/deepseek.ts(2 hunks)packages/models/src/models/deepseek.ts.bak(1 hunks)packages/models/src/models/google.ts(1 hunks)packages/models/src/models/meta.ts(4 hunks)packages/models/src/models/moonshot.ts(1 hunks)packages/models/src/models/nousresearch.ts(1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
**/*.{ts,tsx,js,jsx}
📄 CodeRabbit inference engine (AGENTS.md)
Always use top-level import; never use require() or dynamic import()
Files:
packages/models/src/models/nousresearch.tspackages/models/src/models/moonshot.tspackages/models/src/models/google.tspackages/models/src/models/meta.tspackages/models/src/models/alibaba.tspackages/models/src/models/deepseek.ts
**/*.{ts,tsx}
📄 CodeRabbit inference engine (CLAUDE.md)
**/*.{ts,tsx}: Never useanyoras anyin this TypeScript project unless absolutely necessary
Always use top-levelimport; do not userequireor dynamicimport()
Files:
packages/models/src/models/nousresearch.tspackages/models/src/models/moonshot.tspackages/models/src/models/google.tspackages/models/src/models/meta.tspackages/models/src/models/alibaba.tspackages/models/src/models/deepseek.ts
🪛 GitHub Actions: ci
packages/models/src/models/alibaba.ts
[error] 199-199: TypeScript error TS2353: Object literal may only specify known properties, and 'deactivatedAt' does not exist in type 'ProviderModelMapping'.
🪛 GitHub Actions: e2e
packages/models/src/models/alibaba.ts
[error] 199-199: TypeScript error: Object literal may only specify known properties, and 'deactivatedAt' does not exist in type 'ProviderModelMapping'. (During build: tsc && resolve-tspaths)
🔇 Additional comments (6)
packages/models/src/models/deepseek.ts (2)
23-35: LGTM! Nebius provider deactivation metadata added correctly.The
deactivatedAtfield is properly set to November 3, 2025 for the Nebius provider entry, consistent with the PR objective.
107-120: LGTM! Nebius provider deactivation metadata added correctly.The
deactivatedAtfield is properly set to November 3, 2025 for the Nebius provider entry.packages/models/src/models/google.ts (1)
534-546: LGTM! Nebius provider deactivation metadata added correctly.The
deactivatedAtfield is properly set to November 3, 2025 for the Nebius provider entry.packages/models/src/models/moonshot.ts (1)
62-74: LGTM! Nebius provider deactivation metadata added correctly.The
deactivatedAtfield is properly set to November 3, 2025 for the Nebius provider entry.packages/models/src/models/nousresearch.ts (1)
11-23: LGTM! Nebius provider deactivation metadata added correctly.The
deactivatedAtfield is properly set to November 3, 2025 for the Nebius provider entry. Note: This change depends on the type definition fix flagged in alibaba.ts.packages/models/src/models/meta.ts (1)
23-35: LGTM! Nebius provider deactivation metadata added correctly across multiple models.The
deactivatedAtfield is properly set to November 3, 2025 for all four Nebius provider entries:
- llama-3.1-8b-instruct (line 34)
- llama-3.1-nemotron-ultra-253b (line 123)
- llama-3.3-70b-instruct (line 168)
- llama-3.1-405b-instruct (line 191)
Note: These changes depend on the type definition fix flagged in alibaba.ts.
Also applies to: 112-124, 157-169, 180-192
| import type { ModelDefinition } from "@/models.js"; | ||
|
|
||
| export const deepseekModels = [ | ||
| { | ||
| id: "deepseek-v3", | ||
| name: "DeepSeek V3", | ||
| family: "deepseek", | ||
| deprecatedAt: undefined, | ||
| deactivatedAt: undefined, | ||
| providers: [ | ||
| { | ||
| providerId: "cloudrift", | ||
| modelName: "deepseek-ai/DeepSeek-V3", | ||
| inputPrice: 0.15 / 1e6, | ||
| outputPrice: 0.4 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 163840, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| }, | ||
| { | ||
| providerId: "nebius", | ||
| modelName: "deepseek-ai/DeepSeek-V3", | ||
| inputPrice: 0.5 / 1e6, | ||
| outputPrice: 1.5 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 64000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| }, | ||
| ], | ||
| jsonOutput: false, | ||
| }, | ||
| { | ||
| id: "deepseek-r1", | ||
| name: "DeepSeek R1", | ||
| family: "deepseek", | ||
| deprecatedAt: undefined, | ||
| deactivatedAt: undefined, | ||
| providers: [ | ||
| { | ||
| providerId: "deepseek", | ||
| modelName: "deepseek-reasoner", | ||
| inputPrice: 0.55 / 1e6, | ||
| outputPrice: 2.19 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 64000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| }, | ||
| { | ||
| providerId: "routeway-discount", | ||
| stability: "unstable" as const, | ||
| modelName: "deepseek-reasoner", | ||
| inputPrice: 0.55 / 1e6, | ||
| outputPrice: 2.19 / 1e6, | ||
| discount: 0.5, | ||
| requestPrice: 0, | ||
| contextSize: 64000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| }, | ||
| ], | ||
| jsonOutput: false, | ||
| }, | ||
| { | ||
| id: "deepseek-r1-0528", | ||
| name: "DeepSeek R1 (0528)", | ||
| family: "deepseek", | ||
| deprecatedAt: undefined, | ||
| deactivatedAt: undefined, | ||
| providers: [ | ||
| { | ||
| providerId: "cloudrift", | ||
| modelName: "deepseek-ai/DeepSeek-R1-0528", | ||
| inputPrice: 0.25 / 1e6, | ||
| outputPrice: 1 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 32770, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| stability: "unstable" as const, | ||
| }, | ||
| { | ||
| providerId: "deepseek", | ||
| modelName: "deepseek-reasoner", | ||
| inputPrice: 0.55 / 1e6, | ||
| outputPrice: 2.19 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 64000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| }, | ||
| { | ||
| providerId: "nebius", | ||
| modelName: "deepseek-ai/DeepSeek-R1-0528", | ||
| inputPrice: 0.8 / 1e6, | ||
| outputPrice: 2.4 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 64000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: false, | ||
| stability: "unstable" as const, | ||
| }, | ||
| ], | ||
| jsonOutput: false, | ||
| }, | ||
| { | ||
| id: "deepseek-r1-distill-llama-70b", | ||
| name: "DeepSeek R1 Distill Llama 70B", | ||
| family: "deepseek", | ||
| deprecatedAt: undefined, | ||
| deactivatedAt: new Date("2025-10-09"), | ||
| stability: "beta" as const, | ||
| providers: [ | ||
| { | ||
| providerId: "groq", | ||
| modelName: "deepseek-r1-distill-llama-70b", | ||
| inputPrice: 0.75 / 1e6, | ||
| outputPrice: 0.99 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 131072, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: false, | ||
| tools: true, | ||
| }, | ||
| ], | ||
| jsonOutput: true, | ||
| }, | ||
| { | ||
| id: "deepseek-v3.1", | ||
| name: "DeepSeek V3.1", | ||
| family: "deepseek", | ||
| deprecatedAt: undefined, | ||
| deactivatedAt: undefined, | ||
| providers: [ | ||
| { | ||
| providerId: "deepseek", | ||
| modelName: "deepseek-chat", | ||
| inputPrice: 0.56 / 1e6, | ||
| outputPrice: 1.68 / 1e6, | ||
| cachedInputPrice: 0.07 / 1e6, | ||
| requestPrice: 0, | ||
| contextSize: 128000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: true, | ||
| tools: true, | ||
| }, | ||
| { | ||
| providerId: "routeway-discount", | ||
| stability: "unstable" as const, | ||
| modelName: "deepseek-chat", | ||
| inputPrice: 0.56 / 1e6, | ||
| outputPrice: 1.68 / 1e6, | ||
| cachedInputPrice: 0.07 / 1e6, | ||
| discount: 0.5, | ||
| requestPrice: 0, | ||
| contextSize: 128000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: true, | ||
| tools: true, | ||
| }, | ||
| { | ||
| providerId: "canopywave", | ||
| modelName: "deepseek/deepseek-chat-v3.1", | ||
| inputPrice: 0.27 / 1e6, | ||
| outputPrice: 1.0 / 1e6, | ||
| discount: 0.9, | ||
| requestPrice: 0, | ||
| contextSize: 128000, | ||
| maxOutput: undefined, | ||
| streaming: true, | ||
| vision: true, | ||
| tools: true, | ||
| }, | ||
| ], | ||
| jsonOutput: true, | ||
| }, | ||
| ] as const satisfies ModelDefinition[]; |
There was a problem hiding this comment.
🛠️ Refactor suggestion | 🟠 Major
Remove backup file from version control.
Backup files with .bak extensions should not be committed to the repository. Git's version history already serves as a backup mechanism. If you need to reference the previous version, you can use git diff or git show.
Remove this file:
git rm packages/models/src/models/deepseek.ts.bakIf you need to keep a backup locally during development, add *.bak to your .gitignore file.
🤖 Prompt for AI Agents
In packages/models/src/models/deepseek.ts.bak lines 1-196, a .bak backup file
has been committed; remove it from the repository and ensure future .bak files
are ignored. Run git rm packages/models/src/models/deepseek.ts.bak to remove the
file from the index (and commit that change), and add a rule like *.bak to
.gitignore (commit the .gitignore update) so backups aren’t re-added.
Co-authored-by: terragon-labs[bot] <terragon-labs[bot]@users.noreply.github.com>
Summary
Changes
Rationale
Testing plan
How to verify locally
Impact
🌿 Generated by Terry
ℹ️ Tag @terragon-labs to ask questions and address PR feedback
📎 Task: https://www.terragonlabs.com/task/8eac6103-91b2-4dcf-a8b5-1a11fd4457cf
Summary by CodeRabbit