# VercelAIModelProvider

**Kind:** Class

**Source:** [`atloria-monorepo/libs/agent-core/src/runtime/vercel-ai-adapter.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/agent-core/src/runtime/vercel-ai-adapter.ts#L33)

**Implements:** `IModelProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `getResponse` | `getResponse(request: ModelProviderRequest)` | `Promise<ModelProviderResponse>` |
| `getStreamedResponse` | `getStreamedResponse(request: ModelProviderRequest)` | `AsyncIterable<unknown>` |
| `getProfile` | `getProfile()` | `ModelCapabilityProfile` |

## Where it refuses work

- `VercelAIModelProvider` stops the work with an early return when `item.role === 'tool'`.
- `VercelAIModelProvider` stops the work with an early return when `item.role === 'assistant' && item.toolCalls?.length`.

## When something fails

- `VercelAIModelProvider` handles failure in 1 place: it turns it into a return value in all 1.
