Skip to main content

VercelAIAdapter

Agent Runtimes


Agent Runtimes / protocols/VercelAIAdapter / VercelAIAdapter

Class: VercelAIAdapter

Defined in: protocols/VercelAIAdapter.ts:45

Vercel AI protocol adapter Uses HTTP POST with SSE streaming for responses Compatible with Pydantic AI's Vercel AI Data Stream Protocol

Extends

Constructors

Constructor

new VercelAIAdapter(config): VercelAIAdapter

Defined in: protocols/VercelAIAdapter.ts:92

Parameters

config

VercelAIAdapterConfig

Returns

VercelAIAdapter

Overrides

BaseProtocolAdapter.constructor

Properties

_connectionState

protected _connectionState: ProtocolConnectionState = 'disconnected'

Defined in: protocols/BaseProtocolAdapter.ts:33

Inherited from

BaseProtocolAdapter._connectionState


config

protected config: ProtocolAdapterConfig

Defined in: protocols/BaseProtocolAdapter.ts:32

Inherited from

BaseProtocolAdapter.config


eventHandlers

protected eventHandlers: Set<ProtocolEventHandler>

Defined in: protocols/BaseProtocolAdapter.ts:34

Inherited from

BaseProtocolAdapter.eventHandlers


protocol

readonly protocol: "vercel-ai"

Defined in: protocols/VercelAIAdapter.ts:46

Protocol

Overrides

BaseProtocolAdapter.protocol


protocolTransport

readonly protocolTransport: "sse"

Defined in: protocols/VercelAIAdapter.ts:47

Transport mechanism used

Overrides

BaseProtocolAdapter.protocolTransport


reconnectAttempts

protected reconnectAttempts: number = 0

Defined in: protocols/BaseProtocolAdapter.ts:35

Inherited from

BaseProtocolAdapter.reconnectAttempts

Accessors

connectionState

Get Signature

get connectionState(): ProtocolConnectionState

Defined in: protocols/BaseProtocolAdapter.ts:47

Current connection state

Returns

ProtocolConnectionState

Current connection state

Inherited from

BaseProtocolAdapter.connectionState

Methods

buildHeaders()

protected buildHeaders(additionalHeaders?): Record<string, string>

Defined in: protocols/BaseProtocolAdapter.ts:175

Build headers for HTTP requests

Parameters

additionalHeaders?

Record<string, string>

Returns

Record<string, string>

Inherited from

BaseProtocolAdapter.buildHeaders


connect()

connect(): Promise<void>

Defined in: protocols/VercelAIAdapter.ts:100

Connect to Vercel AI endpoint (SSE doesn't require persistent connection)

Returns

Promise<void>

Overrides

BaseProtocolAdapter.connect


createTimeoutSignal()

protected createTimeoutSignal(): AbortSignal

Defined in: protocols/BaseProtocolAdapter.ts:192

Create abort signal with timeout

Returns

AbortSignal

Inherited from

BaseProtocolAdapter.createTimeoutSignal


disconnect()

disconnect(): void

Defined in: protocols/VercelAIAdapter.ts:110

Disconnect and terminate any ongoing request

Returns

void

Overrides

BaseProtocolAdapter.disconnect


emit()

protected emit(event): void

Defined in: protocols/BaseProtocolAdapter.ts:113

Emit an event to all subscribers

Parameters

event

ProtocolEvent

Returns

void

Inherited from

BaseProtocolAdapter.emit


getAgentCard()

getAgentCard(): Promise<AgentCard | null>

Defined in: protocols/BaseProtocolAdapter.ts:98

Get agent card (optional, mainly for A2A)

Returns

Promise<AgentCard | null>

Inherited from

BaseProtocolAdapter.getAgentCard


handleReconnect()

protected handleReconnect(): Promise<void>

Defined in: protocols/BaseProtocolAdapter.ts:141

Handle reconnection logic

Returns

Promise<void>

Inherited from

BaseProtocolAdapter.handleReconnect


requestPermission()

requestPermission(_permission): Promise<boolean>

Defined in: protocols/VercelAIAdapter.ts:965

Request permission (not supported in Vercel AI)

Parameters

_permission

string

Returns

Promise<boolean>


sendMessage()

sendMessage(message, options?): Promise<void>

Defined in: protocols/VercelAIAdapter.ts:159

Send a message using Vercel AI Data Stream Protocol

Parameters

message

ChatMessage

options?
_vercelMessages?

object[]

Pre-built Vercel AI message array for continuation requests

builtinTools?

string[]

Builtin tools / MCP tools to enable for this request

identities?

object[]

Connected identities with access tokens for skill execution

messages?

ChatMessage[]

Full conversation history to send with the message

metadata?

Record<string, unknown>

model?

string

Model to use for this request (overrides agent default)

skills?

string[]

Skills to enable for this request

threadId?

string

tools?

ToolDefinition[]

Returns

Promise<void>

Overrides

BaseProtocolAdapter.sendMessage


sendToolResult()

sendToolResult(toolCallId, result): Promise<void>

Defined in: protocols/VercelAIAdapter.ts:805

Send tool result back and continue the conversation.

When the agent makes multiple frontend tool calls in a single run, each call triggers an independent async execution in ChatBase. This method batches the results: it stores each result as it arrives and only sends ONE continuation request once ALL pending tool calls have been resolved.

Parameters

toolCallId

string

result

ToolExecutionResult

Returns

Promise<void>

Overrides

BaseProtocolAdapter.sendToolResult


setConnectionState()

protected setConnectionState(state): void

Defined in: protocols/BaseProtocolAdapter.ts:126

Update connection state and emit event

Parameters

state

ProtocolConnectionState

Returns

void

Inherited from

BaseProtocolAdapter.setConnectionState


stopGeneration()

stopGeneration(): void

Defined in: protocols/VercelAIAdapter.ts:985

Stop generation

Returns

void


subscribe()

subscribe(handler): () => void

Defined in: protocols/BaseProtocolAdapter.ts:88

Subscribe to protocol events

Parameters

handler

ProtocolEventHandler

Returns

() => void

Inherited from

BaseProtocolAdapter.subscribe


supportsFeature()

supportsFeature(feature): boolean

Defined in: protocols/VercelAIAdapter.ts:972

Check feature support

Parameters

feature

string

Returns

boolean

Overrides

BaseProtocolAdapter.supportsFeature


terminateRequest()

terminateRequest(requestId?): Promise<void>

Defined in: protocols/VercelAIAdapter.ts:127

Terminate a running request on the backend

Parameters

requestId?

string

Returns

Promise<void>