Skip to main content

Module claude

Module claude 

Source
Expand description

Claude API Client - Comprehensive Anthropic Claude integration via raw reqwest

This module provides two interfaces:

  1. ClaudeClient - Rich API with full access to all Claude features: adaptive thinking, tool use, streaming, vision, prompt caching, etc.

  2. AnthropicProvider - Backward-compatible LlmProvider wrapper that plugs into the existing LlmProxy system. Existing code keeps working.

§Quick Example

let client = ClaudeClient::new("sk-ant-...".to_string());

// Simple text request
let response = client.messages()
    .opus()
    .system("You are a Rust expert")
    .user("Explain lifetimes")
    .thinking_adaptive()
    .max_tokens(4096)
    .send()
    .await?;

println!("{}", response.text().unwrap_or("no text"));

§Streaming Example

let mut parser = client.messages()
    .sonnet()
    .user("Write a haiku about Rust")
    .stream()
    .await?;

while let Some(event) = parser.next_event().await? {
    if let StreamEvent::ContentBlockDelta { delta, .. } = event {
        if let ContentDelta::TextDelta { text } = delta {
            print!("{}", text);
        }
    }
}

Re-exports§

pub use builder::MessageRequestBuilder;
pub use error::ClaudeApiError;
pub use stream::ContentDelta;
pub use stream::MessageAccumulator;
pub use stream::SseParser;
pub use stream::StreamEvent;
pub use types::*;

Modules§

builder
Fluent Request Builder for the Claude Messages API
error
Claude API Error Types
stream
SSE Streaming Parser for the Claude Messages API
types
Claude API Types - Complete request/response model for the Messages API

Structs§

AnthropicProvider
Backward-compatible provider implementing LlmProvider.
ClaudeClient
Full-featured Claude API client built on raw reqwest.