---
title: "Class: PrefactorAISDK"
editUrl: true
head: []
template: doc
sidebar:
  hidden: false
  attrs: {}
pagefind: true
draft: false
---

[**Prefactor TypeScript SDK**](../../../index.md)

***

[Prefactor TypeScript SDK](../../../modules.md) / [@prefactor/ai](../index.md) / PrefactorAISDK

# Class: PrefactorAISDK

Defined in: [packages/ai/src/provider.ts:18](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L18)

## Implements

- `PrefactorProvider`\<`LanguageModelMiddleware`\>

## Constructors

### Constructor

> **new PrefactorAISDK**(`options?`): `PrefactorAISDK`

Defined in: [packages/ai/src/provider.ts:24](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L24)

#### Parameters

##### options?

[`PrefactorAISDKOptions`](../interfaces/PrefactorAISDKOptions.md) = `{}`

#### Returns

`PrefactorAISDK`

## Methods

### createMiddleware()

> **createMiddleware**(`tracer`, `agentManager`, `coreConfig`): `LanguageModelV3Middleware`

Defined in: [packages/ai/src/provider.ts:28](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L28)

Creates provider middleware bound to the core runtime services.

#### Parameters

##### tracer

`Tracer`

Runtime tracer used for span creation.

##### agentManager

`AgentInstanceManager`

Runtime agent instance manager.

##### coreConfig

#### Returns

`LanguageModelV3Middleware`

Provider middleware consumed by upstream frameworks.

#### Implementation of

`PrefactorProvider.createMiddleware`

***

### shutdown()

> **shutdown**(): `void`

Defined in: [packages/ai/src/provider.ts:56](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L56)

Optional provider-level cleanup hook invoked during client shutdown.

#### Returns

`void`

#### Implementation of

`PrefactorProvider.shutdown`

***

### getSdkHeaderEntry()

> **getSdkHeaderEntry**(): `string`

Defined in: [packages/ai/src/provider.ts:66](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L66)

Returns the SDK header entry to append to HTTP requests created by the core runtime.

#### Returns

`string`

Adapter-specific SDK identifier, or `undefined` to use the core header only.

#### Implementation of

`PrefactorProvider.getSdkHeaderEntry`

***

### normalizeAgentSchema()

> **normalizeAgentSchema**(`agentSchema`): `Record`\<`string`, `unknown`\>

Defined in: [packages/ai/src/provider.ts:70](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L70)

Normalizes a user- or provider-authored agent schema before core registers it.

#### Parameters

##### agentSchema

`Record`\<`string`, `unknown`\>

Authored agent schema configuration.

#### Returns

`Record`\<`string`, `unknown`\>

Normalized schema, or `undefined` to leave the input unchanged.

#### Implementation of

`PrefactorProvider.normalizeAgentSchema`

***

### getDefaultAgentSchema()

> **getDefaultAgentSchema**(): `Record`\<`string`, `unknown`\> \| `undefined`

Defined in: [packages/ai/src/provider.ts:76](https://github.com/prefactordev/typescript-sdk/blob/36c73ff31a0d7edab73280c2f46cb7ce554a63e9/packages/ai/src/provider.ts#L76)

Provides a default agent schema when a user does not supply one.

#### Returns

`Record`\<`string`, `unknown`\> \| `undefined`

Agent schema object, or `undefined` when no default is available.

#### Implementation of

`PrefactorProvider.getDefaultAgentSchema`