Anvia
Providers

Anthropic Provider

Public exports from @anvia/anthropic.

Import from @anvia/anthropic.

AnthropicClient

type AnthropicClientOptions = {
  apiKey?: string;
  baseUrl?: string;
  client?: Anthropic;
};

class AnthropicClient {
  readonly client: Anthropic;
  constructor(options?: AnthropicClientOptions);
  completionModel(model?: string): AnthropicCompletionModel;
}

Purpose: factory for Anthropic completion models.

Return behavior: completionModel(...) returns a streaming Anvia completion model.

Notable errors: constructor throws when neither client nor apiKey is supplied.

AnthropicCompletionModel

class AnthropicCompletionModel implements StreamingCompletionModel {
  constructor(client: Anthropic, defaultModel?: string);
  completion(request: CompletionRequest): Promise<CompletionResponse>;
  streamCompletion(request: CompletionRequest): AsyncIterable<CompletionStreamEvent>;
}

Purpose: adapter for Anthropic Messages API.

Return behavior: maps Anvia completion requests to Anthropic params and returns normalized responses/events.

Notable errors: rejects or yields SDK/provider errors.

AnthropicCompatibleCompletionModel

class AnthropicCompatibleCompletionModel extends AnthropicCompletionModel {}

Purpose: named compatible-model export for Anthropic-compatible endpoints.

Return behavior: inherits AnthropicCompletionModel behavior.

Notable errors: same as AnthropicCompletionModel.

Conversion Helpers

function toAnthropicMessagesParams(defaultModel: string, request: CompletionRequest): Record<string, unknown>;
function fromAnthropicMessage(response: unknown): CompletionResponse;
function fromAnthropicStreamEvent(event: unknown): CompletionStreamEvent[];

Purpose: request and response mapping helpers.

Return behavior: convert between Anvia contracts and Anthropic wire shapes.

Notable errors: malformed provider payloads can throw while parsing.

Helper Namespaces

const anthropicMessageHelpers: {
  messageToAnthropicMessages(message: Message): Record<string, unknown>[];
  toolDefinitionToAnthropic(tool: ToolDefinition): Record<string, unknown>;
};

namespace anthropic { /* same Anthropic exports */ }
namespace anthropicCompatible { /* compatible exports */ }

Purpose: lower-level message/tool mapping and namespaced exports.

Return behavior: helper methods return Anthropic-shaped objects.

Notable errors: none directly.