diff --git a/AGENTS.md b/AGENTS.md index aed3453cf..7cb587a22 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,4 +26,32 @@ - Use `export interface` for API types, `export const Schema = z.object()` for validation - Prefix unused variables with underscore or use `_` for ignored parameters - Handle undefined values explicitly in comparisons and sorting -- Use optional chaining (`?.`) and nullish coalescing (`??`) for safe property access \ No newline at end of file +- Use optional chaining (`?.`) and nullish coalescing (`??`) for safe property access + +## Model Configuration + +- Model `id` is **auto-injected** from filename (minus `.toml`) — never put `id` in TOML files +- Same model is duplicated across provider directories with no cross-referencing +- Schema uses `.strict()` — extra fields cause validation errors + +### Bedrock Naming Patterns +- Dated models: `-v1:0` suffix (`anthropic.claude-3-5-sonnet-20241022-v1:0.toml`) +- Latest/undated models: bare `-v1` (`anthropic.claude-opus-4-6-v1.toml`) +- Region prefixes: `us.`, `eu.`, `global.` (default has no prefix) + +### Vertex AI Naming Patterns +- Dated models: `@YYYYMMDD` (`claude-opus-4-5@20251101.toml`) +- Latest/undated models: `@default` (`claude-opus-4-6@default.toml`) + +### Cost Schema +- `cost.context_over_200k` is a nested `Cost` object for >200K token pricing +- Cache pricing ratios: standard models use 10%/125% (read/write), regional variants may use 30%/375% + +### Required vs Optional Fields +| Field | Required? | Notes | +|-------|-----------|-------| +| `name`, `release_date`, `last_updated` | Yes | Human-readable metadata | +| `attachment`, `reasoning`, `tool_call`, `open_weights` | Yes | Boolean capabilities | +| `cost`, `limit`, `modalities` | Yes | Objects with their own required fields | +| `family`, `knowledge`, `temperature`, `structured_output` | No | Optional metadata | +| `status` | No | Use for `"alpha"`, `"beta"`, `"deprecated"` lifecycle | \ No newline at end of file diff --git a/providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1:0.toml b/providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1.toml similarity index 95% rename from providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1:0.toml rename to providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1.toml index bf6fab1c3..ed8fca58f 100644 --- a/providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1:0.toml +++ b/providers/amazon-bedrock/models/anthropic.claude-opus-4-6-v1.toml @@ -22,7 +22,7 @@ cache_read = 1.00 cache_write = 12.50 [limit] -context = 200_000 +context = 1_000_000 output = 128_000 [modalities] diff --git a/providers/amazon-bedrock/models/eu.anthropic.claude-opus-4-6-v1:0.toml b/providers/amazon-bedrock/models/eu.anthropic.claude-opus-4-6-v1:0.toml deleted file mode 100644 index f7e136ba2..000000000 --- a/providers/amazon-bedrock/models/eu.anthropic.claude-opus-4-6-v1:0.toml +++ /dev/null @@ -1,30 +0,0 @@ -name = "Claude Opus 4.6 (EU)" -family = "claude-opus" -release_date = "2026-02-05" -last_updated = "2026-02-05" -attachment = true -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = false - -[cost] -input = 5.00 -output = 25.00 -cache_read = 1.50 -cache_write = 18.75 - -[cost.context_over_200k] -input = 10.00 -output = 37.50 -cache_read = 3.00 -cache_write = 37.50 - -[limit] -context = 200_000 -output = 128_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1:0.toml b/providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1.toml similarity index 96% rename from providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1:0.toml rename to providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1.toml index ca78c6707..36bfcc9d0 100644 --- a/providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1:0.toml +++ b/providers/amazon-bedrock/models/global.anthropic.claude-opus-4-6-v1.toml @@ -22,7 +22,7 @@ cache_read = 1.00 cache_write = 12.50 [limit] -context = 200_000 +context = 1_000_000 output = 128_000 [modalities] diff --git a/providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1:0.toml b/providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1.toml similarity index 96% rename from providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1:0.toml rename to providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1.toml index 1c8dbd4ce..b78b2ac40 100644 --- a/providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1:0.toml +++ b/providers/amazon-bedrock/models/us.anthropic.claude-opus-4-6-v1.toml @@ -22,7 +22,7 @@ cache_read = 3.00 cache_write = 37.50 [limit] -context = 200_000 +context = 1_000_000 output = 128_000 [modalities] diff --git a/providers/google-vertex-anthropic/models/claude-opus-4-6@20260205.toml b/providers/google-vertex-anthropic/models/claude-opus-4-6@20260205.toml deleted file mode 100644 index bf6fab1c3..000000000 --- a/providers/google-vertex-anthropic/models/claude-opus-4-6@20260205.toml +++ /dev/null @@ -1,30 +0,0 @@ -name = "Claude Opus 4.6" -family = "claude-opus" -release_date = "2026-02-05" -last_updated = "2026-02-05" -attachment = true -reasoning = true -temperature = true -tool_call = true -knowledge = "2025-05" -open_weights = false - -[cost] -input = 5.00 -output = 25.00 -cache_read = 0.50 -cache_write = 6.25 - -[cost.context_over_200k] -input = 10.00 -output = 37.50 -cache_read = 1.00 -cache_write = 12.50 - -[limit] -context = 200_000 -output = 128_000 - -[modalities] -input = ["text", "image", "pdf"] -output = ["text"] diff --git a/providers/anthropic/models/claude-opus-4-6-20260205.toml b/providers/google-vertex-anthropic/models/claude-opus-4-6@default.toml similarity index 95% rename from providers/anthropic/models/claude-opus-4-6-20260205.toml rename to providers/google-vertex-anthropic/models/claude-opus-4-6@default.toml index bf6fab1c3..ed8fca58f 100644 --- a/providers/anthropic/models/claude-opus-4-6-20260205.toml +++ b/providers/google-vertex-anthropic/models/claude-opus-4-6@default.toml @@ -22,7 +22,7 @@ cache_read = 1.00 cache_write = 12.50 [limit] -context = 200_000 +context = 1_000_000 output = 128_000 [modalities]