# AzureResponsesProvider

**Kind:** Class

**Source:** [`atloria-monorepo/apps/api/src/ai/providers/azure-responses.provider.ts`](https://github.com/sherkety/atloria/blob/main/atloria-monorepo/apps/api/src/ai/providers/azure-responses.provider.ts#L57)

**Implements:** `AIProvider`

## Methods

| Method | Signature | Returns |
|---|---|---|
| `isAvailable` | `isAvailable()` | `Promise<boolean>` |
| `generateText` | `generateText(prompt: string, options: GenerateOptions)` | `Promise<string>` |
| `generateTextWithUsage` | `generateTextWithUsage(prompt: string, options: GenerateOptions)` | `Promise<AIResponse>` |
| `generateStream` | `generateStream(prompt: string, options: GenerateOptions)` | `AsyncIterableIterator<string>` |
| `analyze` | `analyze(content: string, type: AnalysisType)` | `Promise<AnalysisResult>` |

## Properties

| Property | Type |
|---|---|
| `name` | `string` |

## Where it refuses work

- `AzureResponsesProvider` stops the work with an early return when `isReasoningModel(this.model)`.
- `AzureResponsesProvider` stops the work with an early return when `data.type === 'response.completed'`.

## When something fails

- `AzureResponsesProvider` handles failure in 4 places: it lets it reach the caller in 2, logs it and continues in 1, and turns it into a return value in 1.
