mirror of
https://github.com/ultraworkers/claw-code.git
synced 2026-04-25 21:54:09 +08:00
Added criterion benchmarks and optimized flatten_tool_result_content: - Added criterion dev-dependency and request_building benchmark suite - Optimized flatten_tool_result_content to pre-allocate capacity and avoid intermediate Vec construction (was collecting to Vec then joining) - Made key functions public for benchmarking: translate_message, build_chat_completion_request, flatten_tool_result_content, is_reasoning_model, model_rejects_is_error_field Benchmark results: - flatten_tool_result_content/single_text: ~17ns - translate_message/text_only: ~200ns - build_chat_completion_request/10 messages: ~16.4µs - is_reasoning_model detection: ~26-42ns All 119 unit tests and 29 integration tests pass. cargo clippy passes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
43 lines
1.6 KiB
Rust
43 lines
1.6 KiB
Rust
mod client;
|
|
mod error;
|
|
mod http_client;
|
|
mod prompt_cache;
|
|
mod providers;
|
|
mod sse;
|
|
mod types;
|
|
|
|
pub use client::{
|
|
oauth_token_is_expired, read_base_url, read_xai_base_url, resolve_saved_oauth_token,
|
|
resolve_startup_auth_source, MessageStream, OAuthTokenSet, ProviderClient,
|
|
};
|
|
pub use error::ApiError;
|
|
pub use http_client::{
|
|
build_http_client, build_http_client_or_default, build_http_client_with, ProxyConfig,
|
|
};
|
|
pub use prompt_cache::{
|
|
CacheBreakEvent, PromptCache, PromptCacheConfig, PromptCachePaths, PromptCacheRecord,
|
|
PromptCacheStats,
|
|
};
|
|
pub use providers::anthropic::{AnthropicClient, AnthropicClient as ApiClient, AuthSource};
|
|
pub use providers::openai_compat::{
|
|
build_chat_completion_request, flatten_tool_result_content, is_reasoning_model,
|
|
model_rejects_is_error_field, translate_message, OpenAiCompatClient, OpenAiCompatConfig,
|
|
};
|
|
pub use providers::{
|
|
detect_provider_kind, max_tokens_for_model, max_tokens_for_model_with_override,
|
|
resolve_model_alias, ProviderKind,
|
|
};
|
|
pub use sse::{parse_frame, SseParser};
|
|
pub use types::{
|
|
ContentBlockDelta, ContentBlockDeltaEvent, ContentBlockStartEvent, ContentBlockStopEvent,
|
|
InputContentBlock, InputMessage, MessageDelta, MessageDeltaEvent, MessageRequest,
|
|
MessageResponse, MessageStartEvent, MessageStopEvent, OutputContentBlock, StreamEvent,
|
|
ToolChoice, ToolDefinition, ToolResultContentBlock, Usage,
|
|
};
|
|
|
|
pub use telemetry::{
|
|
AnalyticsEvent, AnthropicRequestProfile, ClientIdentity, JsonlTelemetrySink,
|
|
MemoryTelemetrySink, SessionTraceRecord, SessionTracer, TelemetryEvent, TelemetrySink,
|
|
DEFAULT_ANTHROPIC_VERSION,
|
|
};
|