Skip to content

Commit 03c9c68

Browse files
ericyangpanclaude
andcommitted
feat(manifests): update schema, mapping, and existing model manifests
Update model schema with new fields, add mapping configuration, update 24 existing model manifests with enhanced metadata, and remove deprecated llama-4-maverick manifest. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
1 parent d33b77d commit 03c9c68

29 files changed

+265
-186
lines changed

docs/MANIFEST_I18N.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export default function MyComponent() {
7777
import { getTranslations } from 'next-intl/server'
7878

7979
export default async function Page() {
80-
const t = await getTranslations('home')
80+
const tPage = await getTranslations('home')
8181
return <h1>{t('title')}</h1>
8282
}
8383
```
@@ -282,7 +282,7 @@ Include translations for all supported locales in manifest files:
282282
|------|---------|
283283
| `src/i18n/config.ts` | Locale configuration |
284284
| `src/i18n/navigation.ts` | Localized Link component |
285-
| `src/i18n/lib-core.mjs` | Reference resolution |
285+
| `src/i18n/lib-core.ts` | Reference resolution |
286286
| `src/i18n/request.ts` | Request config for next-intl |
287287
| `src/lib/manifest-i18n.ts` | Manifest translation layer |
288288
| `translations/{locale}/` | UI translation files |

docs/SCHEMA-ALIGNMENT.md

Lines changed: 5 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -135,15 +135,13 @@ export interface ManifestCommunityUrls {
135135
discord: string | null
136136
reddit: string | null
137137
blog: string | null
138-
[key: string]: string | null
139138
}
140139

141140
// manifests/$schemas/ref/platform-urls.schema.json → ManifestPlatformUrls
142141
export interface ManifestPlatformUrls {
143142
huggingface: string | null
144143
artificialAnalysis: string | null
145144
openrouter: string | null
146-
[key: string]: string | null
147145
}
148146
```
149147

@@ -177,7 +175,6 @@ export interface ManifestIDE extends ManifestBaseApp {}
177175
// manifests/$schemas/extension.schema.json → ManifestExtension
178176
export interface ManifestExtension extends ManifestBaseProduct {
179177
supportedIdes: ManifestIDESupport[]
180-
platforms?: ManifestPlatformElement[]
181178
}
182179
```
183180

@@ -191,8 +188,8 @@ export interface ManifestModel extends ManifestVendorEntity {
191188
maxOutput: number
192189
tokenPricing: ManifestTokenPricing
193190
releaseDate: string | null
194-
inputModalities: ('image' | 'text' | 'file')[]
195-
capabilities: ('function-calling' | 'tool-choice' | 'structured-outputs' | 'reasoning')[]
191+
inputModalities: ModelInputModality[]
192+
capabilities: ModelCapability[]
196193
benchmarks: ManifestBenchmarks
197194
platformUrls: ManifestPlatformUrls
198195
}
@@ -207,7 +204,6 @@ export interface ManifestProvider extends ManifestVendorEntity {
207204

208205
// manifests/$schemas/vendor.schema.json → ManifestVendor
209206
export interface ManifestVendor extends ManifestEntity {
210-
docsUrl?: string | null
211207
communityUrls: ManifestCommunityUrls
212208
}
213209
```
@@ -248,15 +244,9 @@ export interface ManifestCollectionItem {
248244

249245
## Type Guards
250246

251-
The system includes type guard functions for runtime type checking:
252-
253-
```typescript
254-
export function isManifestEntity(obj: unknown): obj is ManifestEntity
255-
export function isManifestVendorEntity(obj: unknown): obj is ManifestVendorEntity
256-
export function isManifestBaseProduct(obj: unknown): obj is ManifestBaseProduct
257-
export function isManifestModel(obj: unknown): obj is ManifestModel
258-
export function isManifestProvider(obj: unknown): obj is ManifestProvider
259-
```
247+
Type guards are intentionally **not** defined in `src/types/manifests.ts` to keep it type-only.
248+
If runtime guards are needed, define them in a separate module under `src/lib/` (or `src/types/guards/`)
249+
so client components don't accidentally pull in runtime code when importing types.
260250

261251
---
262252

manifests/$schemas/model.schema.json

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,14 +45,24 @@
4545
"releaseDate": {
4646
"type": ["string", "null"],
4747
"format": "date",
48-
"description": "Model release date in ISO 8601 format (YYYY-MM-DD), null if release date is unknown"
48+
"description": "Model release date (ISO 8601 date, YYYY-MM-DD), null if unknown"
49+
},
50+
"lifecycle": {
51+
"type": "string",
52+
"enum": ["latest", "maintained", "deprecated"],
53+
"description": "Lifecycle stage: latest (newly released), maintained (still available for use), deprecated (no longer available)"
54+
},
55+
"knowledgeCutoff": {
56+
"type": ["string", "null"],
57+
"pattern": "^\\d{4}-(0[1-9]|1[0-2])(?:-(0[1-9]|[12]\\d|3[01]))?$",
58+
"description": "Knowledge cutoff date when the model's training data ended (ISO 8601, YYYY-MM or YYYY-MM-DD), null if unknown"
4959
},
5060
"inputModalities": {
5161
"type": "array",
5262
"description": "Input modalities supported by the model",
5363
"items": {
5464
"type": "string",
55-
"enum": ["image", "text", "file"]
65+
"enum": ["text", "image", "pdf", "audio", "video"]
5666
},
5767
"uniqueItems": true,
5868
"minItems": 1
@@ -121,6 +131,8 @@
121131
"maxOutput",
122132
"tokenPricing",
123133
"releaseDate",
134+
"lifecycle",
135+
"knowledgeCutoff",
124136
"inputModalities",
125137
"capabilities",
126138
"benchmarks",

manifests/mapping.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"vendors": {
3+
"Meta": "llama",
4+
"Moonshot": "moonshotai",
5+
"Z.ai": "zai"
6+
},
7+
"models": {
8+
"claude-opus-4": "claude-opus-4-0",
9+
"claude-sonnet-4": "claude-sonnet-4-0",
10+
"glm-4-6": "glm-4.6",
11+
"glm-4-6v": "glm-4.6v",
12+
"glm-4-7": "glm-4.7",
13+
"gpt-4-1": "gpt-4.1",
14+
"gpt-5-1": "gpt-5.1",
15+
"gpt-5-2": "gpt-5.2",
16+
"gpt-5-1-codex": "gpt-5.1-codex",
17+
"qwen3-coder-30b-a3b": "qwen3-coder-30b-a3b-instruct",
18+
"qwen3-coder-480b-a35b": "qwen3-coder-480b-a35b-instruct",
19+
"minimax-m2": "MiniMax-M2",
20+
"minimax-m2-1": "MiniMax-M2.1",
21+
"gemini-2-5-flash": "gemini-2.5-flash",
22+
"gemini-2-5-pro": "gemini-2.5-pro-preview-05-06",
23+
"gemini-3-pro": "gemini-3-pro-preview",
24+
"gemini-3-flash": "gemini-3-flash-preview",
25+
"kimi-k2-0905": "kimi-k2-0905-preview"
26+
}
27+
}

manifests/models/claude-haiku-4-5.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,22 @@
3838
"description": "Anthropic 最快、最高效的模型,以大型 Claude 模型的一小部分成本和延遲提供接近前沿的智能。在推理、編碼和計算機使用任務方面與 Claude Sonnet 4 的性能相當,Haiku 4.5 為實時和大规模應用帶來前沿級能力。"
3939
}
4040
},
41-
"verified": false,
41+
"verified": true,
4242
"websiteUrl": "https://www.anthropic.com",
4343
"docsUrl": "https://docs.anthropic.com/claude/docs/models-overview",
4444
"vendor": "Anthropic",
4545
"size": "Unknown",
4646
"contextWindow": 200000,
47-
"maxOutput": 8000,
47+
"maxOutput": 64000,
4848
"tokenPricing": {
4949
"input": 1,
50-
"output": 1,
51-
"cache": null
50+
"output": 5,
51+
"cache": 0.1
5252
},
53-
"releaseDate": null,
54-
"inputModalities": ["text"],
53+
"releaseDate": "2025-10-15",
54+
"lifecycle": "latest",
55+
"knowledgeCutoff": "2025-02",
56+
"inputModalities": ["text", "image", "pdf"],
5557
"capabilities": ["function-calling", "tool-choice", "structured-outputs", "reasoning"],
5658
"benchmarks": {
5759
"sweBench": null,

manifests/models/claude-opus-4-1.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,23 @@
3838
"description": "2025年8月發布的 Claude Opus 4.1,是 Anthropic 最新的旗艦模型,具備卓越的編碼能力,在 HumanEval+ 上達到 85.2%(首次超越 GPT-4o 的 84.9%),在 SWE-bench Verified 上達到 74.5%,擁有 200K 上下文視窗,適用於複雜的代碼生成任務。"
3939
}
4040
},
41-
"verified": false,
41+
"verified": true,
4242
"websiteUrl": "https://www.anthropic.com",
4343
"docsUrl": "https://docs.anthropic.com/claude/docs/models-overview",
4444
"vendor": "Anthropic",
4545
"size": "Unknown",
4646
"contextWindow": 200000,
47-
"maxOutput": 8000,
47+
"maxOutput": 32000,
4848
"tokenPricing": {
4949
"input": 15,
5050
"output": 75,
51-
"cache": null
51+
"cache": 1.5
5252
},
53-
"releaseDate": "2025-08-01",
54-
"inputModalities": ["text"],
55-
"capabilities": ["function-calling", "tool-choice", "structured-outputs"],
53+
"releaseDate": "2025-08-05",
54+
"lifecycle": "maintained",
55+
"knowledgeCutoff": null,
56+
"inputModalities": ["text", "image", "pdf"],
57+
"capabilities": ["function-calling", "reasoning", "tool-choice", "structured-outputs"],
5658
"benchmarks": {
5759
"sweBench": 74.4,
5860
"terminalBench": 0.631,

manifests/models/claude-opus-4.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,23 @@
3838
"description": "Claude Opus 4 是 Anthropic 推出的 200K 上下文視窗語言模型,專為複雜的代碼生成任務設計。"
3939
}
4040
},
41-
"verified": false,
41+
"verified": true,
4242
"websiteUrl": "https://www.anthropic.com",
4343
"docsUrl": "https://docs.anthropic.com/claude/docs/models-overview",
4444
"vendor": "Anthropic",
4545
"size": "Unknown",
4646
"contextWindow": 200000,
47-
"maxOutput": 8000,
47+
"maxOutput": 32000,
4848
"tokenPricing": {
4949
"input": 15,
5050
"output": 75,
51-
"cache": null
51+
"cache": 1.5
5252
},
53-
"releaseDate": null,
54-
"inputModalities": ["text"],
55-
"capabilities": ["function-calling", "tool-choice", "structured-outputs"],
53+
"releaseDate": "2025-05-22",
54+
"lifecycle": "maintained",
55+
"knowledgeCutoff": null,
56+
"inputModalities": ["text", "image", "pdf"],
57+
"capabilities": ["function-calling", "reasoning", "tool-choice", "structured-outputs"],
5658
"benchmarks": {
5759
"sweBench": 67.6,
5860
"terminalBench": 0.351,

manifests/models/claude-sonnet-4-5.json

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,23 @@
3838
"description": "Anthropic 迄今為止最先進的 Sonnet 模型,針對真實世界的代理和編碼工作流程進行了優化。在 SWE-bench Verified 等編碼基準測試中表現出色,在系統設計、代碼安全和規範遵循方面有所提升。"
3939
}
4040
},
41-
"verified": false,
41+
"verified": true,
4242
"websiteUrl": "https://www.anthropic.com",
4343
"docsUrl": "https://docs.anthropic.com/claude/docs/models-overview",
4444
"vendor": "Anthropic",
4545
"size": "Unknown",
4646
"contextWindow": 200000,
47-
"maxOutput": 8000,
47+
"maxOutput": 64000,
4848
"tokenPricing": {
4949
"input": 3,
50-
"output": 3,
51-
"cache": null
50+
"output": 15,
51+
"cache": 0.3
5252
},
53-
"releaseDate": null,
54-
"inputModalities": ["text"],
55-
"capabilities": ["function-calling", "tool-choice", "structured-outputs"],
53+
"releaseDate": "2025-09-29",
54+
"lifecycle": "latest",
55+
"knowledgeCutoff": "2025-01",
56+
"inputModalities": ["text", "image", "pdf"],
57+
"capabilities": ["function-calling", "reasoning", "tool-choice", "structured-outputs"],
5658
"benchmarks": {
5759
"sweBench": 70.6,
5860
"terminalBench": 0.42,

manifests/models/claude-sonnet-4.json

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,20 +38,22 @@
3838
"description": "顯著增強了其前身 Sonnet 3.7 的能力,在編碼和推理任務方面表現出色,具有改進的精度和可控性。在 SWE-bench 上達到 72.7% 的最先進性能,Sonnet 4 在能力和計算效率之間取得了平衡。"
3939
}
4040
},
41-
"verified": false,
41+
"verified": true,
4242
"websiteUrl": "https://www.anthropic.com",
4343
"docsUrl": "https://docs.anthropic.com/claude/docs/models-overview",
4444
"vendor": "Anthropic",
4545
"size": "Unknown",
4646
"contextWindow": 200000,
47-
"maxOutput": 8000,
47+
"maxOutput": 64000,
4848
"tokenPricing": {
4949
"input": 3,
50-
"output": 3,
51-
"cache": null
50+
"output": 15,
51+
"cache": 0.3
5252
},
53-
"releaseDate": null,
54-
"inputModalities": ["text"],
53+
"releaseDate": "2025-05-22",
54+
"lifecycle": "maintained",
55+
"knowledgeCutoff": null,
56+
"inputModalities": ["text", "image", "pdf"],
5557
"capabilities": ["function-calling", "tool-choice", "structured-outputs", "reasoning"],
5658
"benchmarks": {
5759
"sweBench": 64.93,

manifests/models/composer.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
"cache": null
5252
},
5353
"releaseDate": null,
54+
"lifecycle": "latest",
55+
"knowledgeCutoff": null,
5456
"inputModalities": ["text"],
5557
"capabilities": ["function-calling", "tool-choice", "structured-outputs"],
5658
"benchmarks": {

0 commit comments

Comments
 (0)