anthropic_sdk_dart 1.3.2 copy "anthropic_sdk_dart: ^1.3.2" to clipboard
anthropic_sdk_dart: ^1.3.2 copied to clipboard

Dart client for the Anthropic API. Provides type-safe access to Claude models with streaming, tool use, and batch processing support.

1.3.2 #

Complete McpToolset.toString() to include all fields (authorizationToken, cacheControl) that were previously missing.

  • FIX: Complete toString() and update spec metadata (#103). (7b316954)

1.3.1 #

Fixed verification warnings in generated model classes.

1.3.0 #

This release adds inline streaming error detection and top-level cache control support for request parameters.

  • FEAT: Detect inline streaming errors (#91). (9f0eaf37)
  • FEAT: Add top-level cache control to request params (#86). (e619516e)
  • DOCS: Improve READMEs with badges, sponsor section, and vertex_ai deprecation (#90). (5741f2f3)

1.2.1 #

Internal improvements to build tooling and package publishing configuration.

  • REFACTOR: Migrate API skills to the shared api-toolkit CLI (#74). (923cc83e)
  • CHORE: Add .pubignore to exclude .agents/ and specs/ from publishing (#78). (0ff199bf)

1.2.0 #

Added baseUrl and defaultHeaders parameters to withApiKey constructors, fixed WebSearchToolResultBlock.fromJson crash, and improved hashCode for list fields.

  • FEAT: Add baseUrl and defaultHeaders to withApiKey constructors (#57). (f0dd0caa)
  • FIX: Fix WebSearchToolResultBlock.fromJson crash (#63). (227b44f3)
  • FIX: Use Object.hashAll() for list fields in hashCode (#65). (4b19abd9)
  • REFACTOR: Unify equality_helpers.dart across packages (#67). (ec2897f8)

1.1.0 #

Added withApiKey convenience constructors for simplified client initialization and convenience methods for common API patterns like single-message responses and streaming text.

  • FEAT: Add withApiKey convenience constructors (#56). (b06e3df3)
  • FEAT: Add convenience methods for common API patterns (#55). (68cb17d3)
  • CHORE: Bump googleapis from 15.0.0 to 16.0.0 and Dart SDK to 3.9.0 (#52). (eae130b7)

1.0.0 #

Note: This release has breaking changes.

TL;DR: Complete reimplementation with a new architecture, minimal dependencies, resource-based API, and improved developer experience. Hand-crafted models (no code generation), interceptor-driven architecture, comprehensive error handling, full Anthropic API coverage, and alignment with the latest Anthropic OpenAPI (2026-02-19).

What's new #

  • Resource-based API organization:
    • client.messages — Message creation, streaming, token counting
    • client.messages.batches — Batch message processing
    • client.models — Model listing and retrieval
    • client.files — File upload/management
    • client.skills — Custom skills management
  • Architecture:
    • Interceptor chain (Auth → Logging → Error → Transport with Retry wrapper).
    • Authentication: API key or custom via AuthProvider interface.
    • Retry with exponential backoff + jitter (only for idempotent methods on 429, 5xx, timeouts).
    • Abortable requests via abortTrigger parameter.
    • SSE streaming parser for real-time responses.
    • Central AnthropicConfig (timeouts, retry policy, log level, baseUrl, auth).
  • Hand-crafted models:
    • No code generation dependencies (no freezed, json_serializable).
    • Minimal runtime dependencies (http, logging, meta only).
    • Immutable models with copyWith using sentinel pattern.
    • Full type safety with sealed exception hierarchy.
  • Improved DX:
    • Simplified message creation (e.g., InputMessage.user(), InputMessage.assistant()).
    • Explicit streaming methods (createStream() vs create()).
    • Response helpers (.text, .hasToolUse, .toolUseBlocks, .thinkingBlocks).
    • Rich logging with field redaction for sensitive data.
  • Full API coverage:
    • Messages with tool calling, vision, documents, and citations.
    • Extended thinking with budget control.
    • Built-in tools (web search, bash, text editor, computer use, code execution, MCP).
    • Message batches with JSONL results streaming.
    • Files and Skills APIs (Beta).

Breaking Changes #

  • Resource-based API: Methods reorganized under strongly-typed resources:
    • client.createMessage()client.messages.create()
    • client.createMessageStream()client.messages.createStream()
    • client.countMessageTokens()client.messages.countTokens()
    • client.createMessageBatch()client.messages.batches.create()
    • client.listMessageBatches()client.messages.batches.list()
    • client.listModels()client.models.list()
    • client.retrieveModel()client.models.retrieve()
  • Model class renames:
    • CreateMessageRequestMessageCreateRequest
    • MessageInputMessage
    • MessageContent.text()InputMessage.user() / InputMessage.assistant()
    • Block.text()TextInputBlock
    • Block.image()ImageInputBlock
    • Block.toolResult()InputContentBlock.toolResult()
    • Model.model(Models.xxx) → String model ID (e.g., 'claude-sonnet-4-20250514')
  • Configuration: New AnthropicConfig with AuthProvider pattern:
    • AnthropicClient(apiKey: 'KEY')AnthropicClient(config: AnthropicConfig(authProvider: ApiKeyProvider('KEY')))
    • Or use AnthropicClient.fromEnvironment() to read ANTHROPIC_API_KEY.
  • Exceptions: Replaced AnthropicClientException with typed hierarchy:
    • ApiException, AuthenticationException, RateLimitException, ValidationException, TimeoutException, AbortedException.
  • Streaming: Pattern matching replaces .map() callbacks:
    • event.map(contentBlockDelta: (e) => ...)if (event is ContentBlockDeltaEvent) ...
  • Enum type changes for better type safety:
    • Skill.source: StringSkillSource enum (SkillSource.custom, SkillSource.anthropic)
    • Message.role: StringMessageRole enum (MessageRole.assistant)
    • SkillsResource.list() source parameter: String?SkillSource?
  • Tooling API changes for improved type safety:
    • tools parameter: List<Map<String, dynamic>>List<ToolDefinition>
    • toolChoice parameter: Map<String, dynamic>ToolChoice
  • Session cleanup: endSession()close().
  • Dependencies: Removed freezed, json_serializable; now minimal (http, logging, meta).

See MIGRATION.md for step-by-step examples and mapping tables.

Commits #

  • BREAKING FEAT: Complete v1.0.0 reimplementation (#5). (a0623960)
  • BREAKING FEAT: Add typed ToolDefinition and SkillSource for improved type safety (#19). (48311502)
  • FEAT: Add speed controls, new built-in tools, tool governance, and ToolCaller type (#35). (ad3c34c6)
  • FEAT: Enhance models with documentation and add examples (#13). (bfd99bc6)
  • FIX: Pre-release documentation and test fixes (#42). (2fb37b06)
  • REFACTOR: Align client package architecture across SDK packages (#37). (cf741ee1)
  • REFACTOR: Align API surface across all SDK packages (#36). (ed969cc7)
  • DOCS: Refactors repository URLs to new location. (76835268)

0.3.1 #

0.3.0+1 #

0.3.0 #

Note: This release has breaking changes.

0.2.3 #

0.2.2 #

0.2.1 #

  • FEAT: Update dependencies (requires Dart 3.6.0) (#709). (9e3467f7)
  • REFACTOR: Remove fetch_client dependency in favor of http v1.3.0 (#659). (0e0a685c)
  • FIX: Fix linter issues (#656). (88a79c65)

0.2.0+1 #

  • REFACTOR: Add new lint rules and fix issues (#621). (60b10e00)
  • REFACTOR: Upgrade api clients generator version (#610). (0c8750e8)

0.2.0 #

Note: This release has breaking changes, check the relevant issues for more details on how to migrate.

  • FEAT: Add support for Message Batches (#585). (a41270a0)
  • FEAT: Add claude-3-5-sonnet-20241022 to model catalog (#583). (0cc59e13)
  • BREAKING FEAT: Add support for prompt caching (#587). (79dabaa5)
  • BREAKING FEAT: Add computer use support (#586). (36c4a3e3)
  • DOCS: Update anthropic_sdk_dart readme. (78b7bccf)

0.1.0 #

0.0.1 #

  • FEAT: Implement anthropic_sdk_dart, a Dart client for Anthropic API (#433). (e5412b)

0.0.1-dev.1 #

  • Bootstrap package.
12
likes
160
points
10.3k
downloads

Documentation

Documentation
API reference

Publisher

verified publisherdavidmiguel.com

Weekly Downloads

Dart client for the Anthropic API. Provides type-safe access to Claude models with streaming, tool use, and batch processing support.

Homepage
Repository (GitHub)
View/report issues

Topics

#nlp #gen-ai #llms #anthropic

Funding

Consider supporting this project:

github.com

License

MIT (license)

Dependencies

http, logging, meta

More

Packages that depend on anthropic_sdk_dart