Kind: Interface
Source: atloria-monorepo/libs/agent-core/src/runtime/model-profiles.ts
Model Capability Profiles
Describes what each model needs at the API level and prompt level.
This makes AgentSession and buildAdaptivePrompt model-agnostic:
instead of scattering if (model.includes('gpt-5')) checks, callers
declare what a model needs via a profile.
Resolution order (first wins):
- Explicit
modelProfileon AzureModelProviderConfig (deployer knows their model) - Name-based detection via getDefaultProfile(modelId) (well-known slugs)
- STANDARD_PROFILE (safe default — preserves current GPT-5.4 behavior)
Properties
| Property | Type |
|---|---|
supportsReasoningEffort | boolean |
supportsTemperature | boolean |
supportsStrictTools | boolean |
defaults | `{ |
/** * Reasoning effort applied when the agent has tools and the caller * hasn't explicitly set reasoningEffort. * GPT-5.4: 'medium' (defaults to 'none' otherwise, skipping tool calls). * Claude / GPT-4.x: undefined (field not sent). */ reasoningEffort?: 'none' | 'low' | 'medium' | 'high'; /** * toolChoice for the FIRST turn only. * After turn 1, the session resets to 'auto' to prevent loops. * GPT-5.4: 'required' (forces at least one tool call on turn 1). * Claude / GPT-4.x: undefined. * * IMPORTANT: Do NOT set 'required' when built-in tools (web_search, * code_interpreter) are in the tool list — the API rejects mixed types * with tool_choice: 'required'. */ toolChoiceFirstTurn?: 'required' | 'auto'; /** * Whether to request strict schema validation for tool calls. * GPT-5.4: true. */ strictToolSchemas?: boolean; /** * Whether to run tool calls in parallel. * GPT-5.4: true (default behavior, but explicit is safer). */ parallelToolCalls?: boolean;
}| |needsToolPersistence|boolean| |needsApplyPatchFormat|boolean| |needsPreambleGuidance|boolean| |guidanceLevel|'minimal' | 'standard' | 'verbose'` |
Was this page helpful?