# Interface ModelEntry

One model's full metadata. Combines what was previously split across `ModelCapability` (capability/pricing/quality) and `ModelBehaviorProfile` (runtime behaviour toggles).

All capability + pricing + quality fields are optional because derived entries (vendor known but no authoritative data) won't have them. Routing consumers must handle absence gracefully.

Behaviour fields always have values (defaulted from vendor/family profile if no exact entry exists).

interface ModelEntry {
id: string;
aliases?: readonly string[];
vendor: ModelVendor;
family: string;
version?: string;
displayName?: string;
contextWindow?: number;
maxOutputTokens?: number;
inputModalities?: readonly (
"code"
| "text"
| "image"
| "audio"
| "video"
| "pdf"
)[];
outputModalities?: readonly (
| "code"
| "text"
| "image_png"
| "image_jpeg"
| "audio_pcm"
| "audio_wav"
| "audio_mp3"
| "video_mp4"
| "svg"
| "structured_json"
)[];
toolCapabilities?: readonly (
| "mcp"
| "function_calling"
| "computer_use"
| "code_execution_sandbox"
| "web_search"
| "file_operations"
| "structured_output"
| "apply_patch"
)[];
specialFeatures?: readonly (
| "extended_thinking"
| "deep_research"
| "streaming"
| "grounding"
| "citations"
| "image_editing"
| "voice_cloning"
| "live_api"
| "context_caching"
)[];
pricing?: { inputPer1M: number; outputPer1M: number };
qualityScores?: {
reasoning: number;
codeGeneration: number;
speed: number;
cost: number;
};
notes?: string;
cliName?: string;
cliAlias?: string;
cliModelName?: string;
parallelToolCalls: boolean;
promptCaching: PromptCachingMode;
toolDefinitionFormat: ToolDefinitionFormat;
maxRecommendedTurnBudget: number;
strictJson: boolean;
quirks: readonly string[];
profileId: string;
source: EntrySource;
verifiedAt?: string;
}

- Defined in packages/nexus-agents/src/config/model-registry.ts:92

##### Index

### Properties

id
aliases?
vendor
family
version?
displayName?
contextWindow?
maxOutputTokens?
inputModalities?
outputModalities?
toolCapabilities?
specialFeatures?
pricing?
qualityScores?
notes?
cliName?
cliAlias?
cliModelName?
parallelToolCalls
promptCaching
toolDefinitionFormat
maxRecommendedTurnBudget
strictJson
quirks
profileId
source
verifiedAt?

## Properties

### `Readonly` id

id: string

Canonical id, e.g. `claude-opus-4-1`, `gpt-5.4`, `meta/llama-3-70b`.

- Defined in packages/nexus-agents/src/config/model-registry.ts:95

### `Optional` `Readonly` aliases

aliases?: readonly string[]

Alternate strings that should resolve to this entry. Operators extend via the manifest (PR 4) when a gateway exposes a renamed version of a known model.

- Defined in packages/nexus-agents/src/config/model-registry.ts:101

### `Readonly` vendor

vendor: ModelVendor

Coarse vendor bucket — drives behaviour-profile fallback chains.

- Defined in packages/nexus-agents/src/config/model-registry.ts:103

### `Readonly` family

family: string

Family inside a vendor — `claude-opus`, `gpt-4o`, `llama-3`.

- Defined in packages/nexus-agents/src/config/model-registry.ts:105

### `Optional` `Readonly` version

version?: string

Version string (best-effort; `4-1`, `2024-08-06`, etc).

- Defined in packages/nexus-agents/src/config/model-registry.ts:107

### `Optional` `Readonly` displayName

displayName?: string

Human-readable display name for UI / logs.

- Defined in packages/nexus-agents/src/config/model-registry.ts:109

### `Optional` `Readonly` contextWindow

contextWindow?: number

- Defined in packages/nexus-agents/src/config/model-registry.ts:112

### `Optional` `Readonly` maxOutputTokens

maxOutputTokens?: number

- Defined in packages/nexus-agents/src/config/model-registry.ts:113

### `Optional` `Readonly` inputModalities

inputModalities?: readonly (
"code"
| "text"
| "image"
| "audio"
| "video"
| "pdf"
)[]

- Defined in packages/nexus-agents/src/config/model-registry.ts:114

### `Optional` `Readonly` outputModalities

outputModalities?: readonly (
| "code"
| "text"
| "image_png"
| "image_jpeg"
| "audio_pcm"
| "audio_wav"
| "audio_mp3"
| "video_mp4"
| "svg"
| "structured_json"
)[]

- Defined in packages/nexus-agents/src/config/model-registry.ts:115

### `Optional` `Readonly` toolCapabilities

toolCapabilities?: readonly (
| "mcp"
| "function_calling"
| "computer_use"
| "code_execution_sandbox"
| "web_search"
| "file_operations"
| "structured_output"
| "apply_patch"
)[]

- Defined in packages/nexus-agents/src/config/model-registry.ts:116

### `Optional` `Readonly` specialFeatures

specialFeatures?: readonly (
| "extended_thinking"
| "deep_research"
| "streaming"
| "grounding"
| "citations"
| "image_editing"
| "voice_cloning"
| "live_api"
| "context_caching"
)[]

- Defined in packages/nexus-agents/src/config/model-registry.ts:117

### `Optional` `Readonly` pricing

pricing?: { inputPer1M: number; outputPer1M: number }

- Defined in packages/nexus-agents/src/config/model-registry.ts:118

### `Optional` `Readonly` qualityScores

qualityScores?: {
reasoning: number;
codeGeneration: number;
speed: number;
cost: number;
}

- Defined in packages/nexus-agents/src/config/model-registry.ts:119

### `Optional` `Readonly` notes

notes?: string

- Defined in packages/nexus-agents/src/config/model-registry.ts:120

### `Optional` `Readonly` cliName

cliName?: string

Which CLI tool this model belongs to (e.g. 'claude', 'gemini').

- Defined in packages/nexus-agents/src/config/model-registry.ts:124

### `Optional` `Readonly` cliAlias

cliAlias?: string

Short alias the CLI accepts (e.g. 'opus' for claude).

- Defined in packages/nexus-agents/src/config/model-registry.ts:126

### `Optional` `Readonly` cliModelName

cliModelName?: string

Vendor model id the CLI passes upstream (e.g. 'claude-opus-4-6').

- Defined in packages/nexus-agents/src/config/model-registry.ts:128

### `Readonly` parallelToolCalls

parallelToolCalls: boolean

- Defined in packages/nexus-agents/src/config/model-registry.ts:131

### `Readonly` promptCaching

promptCaching: PromptCachingMode

- Defined in packages/nexus-agents/src/config/model-registry.ts:132

### `Readonly` toolDefinitionFormat

toolDefinitionFormat: ToolDefinitionFormat

- Defined in packages/nexus-agents/src/config/model-registry.ts:133

### `Readonly` maxRecommendedTurnBudget

maxRecommendedTurnBudget: number

- Defined in packages/nexus-agents/src/config/model-registry.ts:134

### `Readonly` strictJson

strictJson: boolean

- Defined in packages/nexus-agents/src/config/model-registry.ts:135

### `Readonly` quirks

quirks: readonly string[]

- Defined in packages/nexus-agents/src/config/model-registry.ts:136

### `Readonly` profileId

profileId: string

- Defined in packages/nexus-agents/src/config/model-registry.ts:137

### `Readonly` source

source: EntrySource

- Defined in packages/nexus-agents/src/config/model-registry.ts:140

### `Optional` `Readonly` verifiedAt

verifiedAt?: string

ISO date when this entry was last validated against the upstream.

- Defined in packages/nexus-agents/src/config/model-registry.ts:142