anthropic_sdk_dart 1.4.2
anthropic_sdk_dart: ^1.4.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.4.2 #
Adds an extra overflow field to InputSchema for passing additional JSON Schema keywords (like additionalProperties: false) that the Anthropic API now requires on object-type tool input schemas. All examples and integration tests have been updated accordingly.
1.4.1 #
1.4.0 #
Aligns with the latest Anthropic OpenAPI spec, adding model capabilities (ModelCapabilities, CapabilitySupport), thinking display modes (ThinkingDisplayMode), and WebFetchTool v20260309 with cache bypass control. Also standardizes equality helper locations and overhauls documentation with llms.txt ecosystem files.
1.3.2 #
1.3.1 #
1.3.0 #
This release adds inline streaming error detection and top-level cache control support for request parameters.
1.2.1 #
1.2.0 #
Added baseUrl and defaultHeaders parameters to withApiKey constructors, fixed WebSearchToolResultBlock.fromJson crash, and improved hashCode for list fields.
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.
1.0.0 #
Caution
This release has breaking changes. See the Migration Guide for upgrade instructions.
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 countingclient.messages.batches— Batch message processingclient.models— Model listing and retrievalclient.files— File upload/managementclient.skills— Custom skills management
- Architecture:
- Interceptor chain (Auth → Logging → Error → Transport with Retry wrapper).
- Authentication: API key or custom via
AuthProviderinterface. - Retry with exponential backoff + jitter (only for idempotent methods on 429, 5xx, timeouts).
- Abortable requests via
abortTriggerparameter. - 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,metaonly). - Immutable models with
copyWithusing sentinel pattern. - Full type safety with sealed exception hierarchy.
- Improved DX:
- Simplified message creation (e.g.,
InputMessage.user(),InputMessage.assistant()). - Explicit streaming methods (
createStream()vscreate()). - Response helpers (
.text,.hasToolUse,.toolUseBlocks,.thinkingBlocks). - Rich logging with field redaction for sensitive data.
- Simplified message creation (e.g.,
- 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:
CreateMessageRequest→MessageCreateRequestMessage→InputMessageMessageContent.text()→InputMessage.user()/InputMessage.assistant()Block.text()→TextInputBlockBlock.image()→ImageInputBlockBlock.toolResult()→InputContentBlock.toolResult()Model.model(Models.xxx)→ String model ID (e.g.,'claude-sonnet-4-20250514')
- Configuration: New
AnthropicConfigwithAuthProviderpattern:AnthropicClient(apiKey: 'KEY')→AnthropicClient(config: AnthropicConfig(authProvider: ApiKeyProvider('KEY')))- Or use
AnthropicClient.fromEnvironment()to readANTHROPIC_API_KEY.
- Exceptions: Replaced
AnthropicClientExceptionwith 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:String→SkillSourceenum (SkillSource.custom,SkillSource.anthropic)Message.role:String→MessageRoleenum (MessageRole.assistant)SkillsResource.list()sourceparameter:String?→SkillSource?
- Tooling API changes for improved type safety:
toolsparameter:List<Map<String, dynamic>>→List<ToolDefinition>toolChoiceparameter: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 #
- FIX: Add signature_delta support to BlockDelta (fixes #811) (#878). (1d281837)
- FIX: Update tool types and fix analyzer warnings (#876). (17613b1e)
- FEAT: Add citations_delta support to BlockDelta (#880). (4da916bf)
- FEAT: Add beta features support (#874). (28e4a23a)
- FEAT: Add schema enhancements (#873). (424d3225)
- FEAT: Add Models API (#872). (7962a867)
- FEAT: Add get message batch results endpoint (#871). (46fb2a5d)
- FEAT: Add delete message batch endpoint (#870). (6611e175)
- FEAT: Add cancel message batch endpoint (#869). (b7aa8602)
- FEAT: Add list message batches endpoint (#868). (745e369d)
- FEAT: Add token counting API (#858). (b0d61c92)
0.3.0 #
Caution
This release has breaking changes. See the Migration Guide for upgrade instructions.
0.2.1 #
0.2.0+1 #
0.2.0 #
Caution
This release has breaking changes. See the Migration Guide for upgrade instructions.
- 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-dev.1 #
- Bootstrap package.