# SdkModelProviderBridge

**Kind:** Class

**Source:** [`atloria-monorepo/libs/agent-core/src/runtime/sdk-model-bridge.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/libs/agent-core/src/runtime/sdk-model-bridge.ts#L40)

Wraps an existing SDK ModelProvider (AzureModelProvider, AnthropicModelProvider)
as our IModelProvider interface. This lets the Live-SWE loop use the existing
Azure adapter with all its optimizations (retries, incremental input, fallback).

**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

- `SdkModelProviderBridge` stops the work with `Error` when `typeof sdkModel === 'object' && 'then' in sdkModel` — “Async model resolution not supported in bridge”, in 2 places.
- `SdkModelProviderBridge` stops the work with an early return when `item.role === 'tool'`.
- `SdkModelProviderBridge` stops the work with an early return when `item.role === 'assistant' && item.toolCalls?.length`.
