Skip to content

agent-provider-anthropic / Exports / AnthropicProvider

Class: AnthropicProvider

Anthropic provider implementation for Robota

IMPORTANT PROVIDER-SPECIFIC RULES:

  1. This provider MUST extend BaseAIProvider from @robota-sdk/agent-core
  2. Content handling for Anthropic API:
    • When tool_calls are present: content MUST be null (not empty string)
    • For regular assistant messages: content should be a string
  3. Use override keyword for all methods inherited from BaseAIProvider
  4. Provider-specific API behavior should be documented here

Hierarchy

  • AbstractAIProvider

    AnthropicProvider

Table of contents

Constructors

Properties

Methods

Constructors

constructor

new AnthropicProvider(options): AnthropicProvider

Parameters

NameType
optionsIAnthropicProviderOptions

Returns

AnthropicProvider

Overrides

AbstractAIProvider.constructor

Defined in

agent-provider-anthropic/src/provider.ts:52

Properties

name

Readonly name: "anthropic"

Overrides

AbstractAIProvider.name

Defined in

agent-provider-anthropic/src/provider.ts:29


version

Readonly version: "1.0.0"

Overrides

AbstractAIProvider.version

Defined in

agent-provider-anthropic/src/provider.ts:30


enableWebTools

enableWebTools: boolean = false

When true, Anthropic server tools (web_search) are included in every request. The server executes these tools internally — no local tool registration needed.

Defined in

agent-provider-anthropic/src/provider.ts:39


onTextDelta

Optional onTextDelta: TTextDeltaCallback

Optional callback for text deltas during streaming. Set by the consumer (e.g., Session) to receive real-time text chunks. When set, chat() uses streaming internally while still returning the complete assembled message.

Defined in

agent-provider-anthropic/src/provider.ts:47


onServerToolUse

Optional onServerToolUse: (toolName: string, input: Record<string, string>) => void

Callback when a server tool (web_search etc.) is invoked by the API

Type declaration

▸ (toolName, input): void

Parameters
NameType
toolNamestring
inputRecord<string, string>
Returns

void

Defined in

agent-provider-anthropic/src/provider.ts:50

Methods

configure

configure(config): Promise<void>

Configure the provider with type-safe configuration

Parameters

NameType
configIProviderConfig

Returns

Promise<void>

Inherited from

AbstractAIProvider.configure

Defined in

agent-core/dist/node/index.d.ts:2464


generateResponse

generateResponse(payload): Promise<IRawProviderResponse>

Provider-agnostic raw response API.

This is the canonical "raw payload" entrypoint required by the AIProvider contract. The default implementation delegates to chat() and adapts the result into a RawProviderResponse shape.

Parameters

NameType
payloadIProviderRequest

Returns

Promise<IRawProviderResponse>

Inherited from

AbstractAIProvider.generateResponse

Defined in

agent-core/dist/node/index.d.ts:2487


generateStreamingResponse

generateStreamingResponse(payload): AsyncIterable<IRawProviderResponse, any, any>

Provider-agnostic raw streaming API.

If a provider does not implement chatStream, it does not support streaming.

Parameters

NameType
payloadIProviderRequest

Returns

AsyncIterable<IRawProviderResponse, any, any>

Inherited from

AbstractAIProvider.generateStreamingResponse

Defined in

agent-core/dist/node/index.d.ts:2493


chat

chat(messages, options?): Promise<TUniversalMessage>

Generate response using TUniversalMessage

Parameters

NameType
messagesTUniversalMessage[]
options?IChatOptions

Returns

Promise<TUniversalMessage>

Overrides

AbstractAIProvider.chat

Defined in

agent-provider-anthropic/src/provider.ts:81


chatStream

chatStream(messages, options?): AsyncIterable<TUniversalMessage, any, any>

Generate streaming response using TUniversalMessage

Parameters

NameType
messagesTUniversalMessage[]
options?IChatOptions

Returns

AsyncIterable<TUniversalMessage, any, any>

Overrides

AbstractAIProvider.chatStream

Defined in

agent-provider-anthropic/src/provider.ts:270


supportsTools

supportsTools(): boolean

Returns

boolean

Overrides

AbstractAIProvider.supportsTools

Defined in

agent-provider-anthropic/src/provider.ts:329


validateConfig

validateConfig(): boolean

Returns

boolean

Overrides

AbstractAIProvider.validateConfig

Defined in

agent-provider-anthropic/src/provider.ts:333


dispose

dispose(): Promise<void>

Returns

Promise<void>

Overrides

AbstractAIProvider.dispose

Defined in

agent-provider-anthropic/src/provider.ts:337

Released under the MIT License.