VercelAIAdapter
Agent Runtimes / protocols/VercelAIAdapter / VercelAIAdapter
Class: VercelAIAdapter
Defined in: src/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: src/protocols/VercelAIAdapter.ts:115
Parameters
config
Returns
VercelAIAdapter
Overrides
BaseProtocolAdapter.constructor
Properties
_connectionState
protected_connectionState:ProtocolConnectionState='disconnected'
Defined in: src/protocols/BaseProtocolAdapter.ts:33
Inherited from
BaseProtocolAdapter._connectionState
config
protectedconfig:ProtocolAdapterConfig
Defined in: src/protocols/BaseProtocolAdapter.ts:32
Inherited from
eventHandlers
protectedeventHandlers:Set<ProtocolEventHandler>
Defined in: src/protocols/BaseProtocolAdapter.ts:34
Inherited from
BaseProtocolAdapter.eventHandlers
protocol
readonlyprotocol:"vercel-ai"
Defined in: src/protocols/VercelAIAdapter.ts:46
Protocol
Overrides
protocolTransport
readonlyprotocolTransport:"sse"
Defined in: src/protocols/VercelAIAdapter.ts:47
Transport mechanism used
Overrides
BaseProtocolAdapter.protocolTransport
reconnectAttempts
protectedreconnectAttempts:number=0
Defined in: src/protocols/BaseProtocolAdapter.ts:35
Inherited from
BaseProtocolAdapter.reconnectAttempts
Accessors
connectionState
Get Signature
get connectionState():
ProtocolConnectionState
Defined in: src/protocols/BaseProtocolAdapter.ts:47
Current connection state
Returns
Current connection state
Inherited from
BaseProtocolAdapter.connectionState
Methods
buildHeaders()
protectedbuildHeaders(additionalHeaders?):Record<string,string>
Defined in: src/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: src/protocols/VercelAIAdapter.ts:123
Connect to Vercel AI endpoint (SSE doesn't require persistent connection)
Returns
Promise<void>
Overrides
createTimeoutSignal()
protectedcreateTimeoutSignal():AbortSignal
Defined in: src/protocols/BaseProtocolAdapter.ts:192
Create abort signal with timeout
Returns
AbortSignal
Inherited from
BaseProtocolAdapter.createTimeoutSignal
disconnect()
disconnect():
void
Defined in: src/protocols/VercelAIAdapter.ts:133
Disconnect and terminate any ongoing request
Returns
void
Overrides
BaseProtocolAdapter.disconnect
emit()
protectedemit(event):void
Defined in: src/protocols/BaseProtocolAdapter.ts:113
Emit an event to all subscribers
Parameters
event
Returns
void
Inherited from
getAgentCard()
getAgentCard():
Promise<AgentCard|null>
Defined in: src/protocols/BaseProtocolAdapter.ts:98
Get agent card (optional, mainly for A2A)
Returns
Promise<AgentCard | null>
Inherited from
BaseProtocolAdapter.getAgentCard
getDeferredToolCallId()
getDeferredToolCallId(
toolName):string|undefined
Defined in: src/protocols/VercelAIAdapter.ts:98
Return the toolCallId for the first deferred tool whose name matches toolName, or the first deferred tool if toolName is empty/unmatched. Used by external callers (e.g. approval handlers) that need to send a continuation without access to the original tool-call-id.
Parameters
toolName
string
Returns
string | undefined
handleReconnect()
protectedhandleReconnect():Promise<void>
Defined in: src/protocols/BaseProtocolAdapter.ts:141
Handle reconnection logic
Returns
Promise<void>
Inherited from
BaseProtocolAdapter.handleReconnect
requestPermission()
requestPermission(
_permission):Promise<boolean>
Defined in: src/protocols/VercelAIAdapter.ts:1006
Request permission (not supported in Vercel AI)
Parameters
_permission
string
Returns
Promise<boolean>
sendMessage()
sendMessage(
message,options?):Promise<void>
Defined in: src/protocols/VercelAIAdapter.ts:182
Send a message using Vercel AI Data Stream Protocol
Parameters
message
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?
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?
Returns
Promise<void>
Overrides
BaseProtocolAdapter.sendMessage
sendToolResult()
sendToolResult(
toolCallId,result):Promise<void>
Defined in: src/protocols/VercelAIAdapter.ts:826
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
Returns
Promise<void>
Overrides
BaseProtocolAdapter.sendToolResult
setConnectionState()
protectedsetConnectionState(state):void
Defined in: src/protocols/BaseProtocolAdapter.ts:126
Update connection state and emit event
Parameters
state
Returns
void
Inherited from
BaseProtocolAdapter.setConnectionState
stopGeneration()
stopGeneration():
void
Defined in: src/protocols/VercelAIAdapter.ts:1026
Stop generation
Returns
void
subscribe()
subscribe(
handler): () =>void
Defined in: src/protocols/BaseProtocolAdapter.ts:88
Subscribe to protocol events
Parameters
handler
Returns
() => void
Inherited from
supportsFeature()
supportsFeature(
feature):boolean
Defined in: src/protocols/VercelAIAdapter.ts:1013
Check feature support
Parameters
feature
string
Returns
boolean
Overrides
BaseProtocolAdapter.supportsFeature
terminateRequest()
terminateRequest(
requestId?):Promise<void>
Defined in: src/protocols/VercelAIAdapter.ts:150
Terminate a running request on the backend
Parameters
requestId?
string
Returns
Promise<void>