1#![warn(missing_docs)]
33#![warn(rustdoc::missing_crate_level_docs)]
34
35pub mod cli_download;
37mod client;
38mod client_working;
39mod errors;
40mod interactive;
41mod internal_query;
42mod message_parser;
43pub mod model_recommendation;
44mod optimized_client;
45pub mod sessions;
47mod perf_utils;
48mod query;
49mod sdk_mcp;
50pub mod token_tracker;
51pub mod transport;
52mod types;
53
54pub mod llm;
59
60pub use client::ClaudeSDKClient;
62pub use client_working::ClaudeSDKClientWorking;
63pub use errors::{Result, SdkError};
64pub use interactive::InteractiveClient;
65pub use internal_query::Query;
66pub use query::query;
67pub use interactive::InteractiveClient as SimpleInteractiveClient;
69pub use model_recommendation::ModelRecommendation;
70pub use optimized_client::{ClientMode, OptimizedClient};
71pub use sessions::{SessionInfo, SessionMessage, list_sessions, get_session_messages, rename_session, tag_session, delete_session, fork_session};
72pub use perf_utils::{MessageBatcher, PerformanceMetrics, RetryConfig};
73pub use token_tracker::{BudgetLimit, BudgetManager, BudgetStatus, TokenUsageTracker};
74pub type ClaudeSDKClientDefault = InteractiveClient;
76pub use types::{
77 AssistantContent, AssistantMessage, ClaudeCodeOptions, ContentBlock, ContentValue,
78 ControlProtocolFormat, ControlRequest, ControlResponse, McpServerConfig, Message,
79 PermissionMode, ResultMessage, SystemMessage, TextContent, ThinkingContent,
80 ToolResultContent, ToolUseContent, UserContent, UserMessage,
81 PermissionBehavior, PermissionResult, PermissionResultAllow, PermissionResultDeny,
83 PermissionRuleValue, PermissionUpdate, PermissionUpdateDestination, PermissionUpdateType,
84 ToolPermissionContext, CanUseTool,
85 HookCallback, HookContext, HookMatcher,
87 BaseHookInput, HookInput, PreToolUseHookInput, PostToolUseHookInput,
89 PostToolUseFailureHookInput, UserPromptSubmitHookInput, StopHookInput,
90 SubagentStopHookInput, PreCompactHookInput,
91 NotificationHookInput, SubagentStartHookInput, PermissionRequestHookInput,
92 HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput,
94 HookSpecificOutput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput,
95 PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput,
96 SessionStartHookSpecificOutput, NotificationHookSpecificOutput,
97 SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput,
98 SDKControlInitializeRequest, SDKControlInterruptRequest, SDKControlMcpMessageRequest,
100 SDKControlPermissionRequest, SDKControlRequest, SDKControlSetPermissionModeRequest,
101 SDKHookCallbackRequest, SDKControlRewindFilesRequest,
102 SDKControlGetContextUsageRequest, SDKControlStopTaskRequest,
103 SDKControlMcpStatusRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest,
104 SettingSource, AgentDefinition, SystemPrompt,
106 TaskUsage, TaskStatus, TaskStartedMessage, TaskProgressMessage, TaskNotificationMessage,
108 ToolsConfig, ToolsPreset, SdkBeta,
110 Effort, RateLimitStatus, RateLimitType, RateLimitInfo, AssistantMessageError,
112 McpConnectionStatus, McpToolAnnotations, McpToolInfo, McpServerInfo, McpServerStatus,
113 ThinkingConfig,
114 SandboxSettings, SandboxNetworkConfig, SandboxIgnoreViolations,
115 SdkPluginConfig,
116 ContextUsageResponse, ContextUsageCategory, ApiUsage,
118 TaskBudget, ForkSessionResult,
119};
120
121pub type ClaudeAgentOptions = ClaudeCodeOptions;
124pub type ClaudeAgentOptionsBuilder = ClaudeCodeOptionsBuilder;
126
127pub use types::ClaudeCodeOptionsBuilder;
129
130pub use transport::SubprocessTransport;
132#[cfg(feature = "websocket")]
133pub use transport::websocket::{WebSocketTransport, WebSocketConfig};
134
135pub use sdk_mcp::{
137 SdkMcpServer, SdkMcpServerBuilder, ToolDefinition, ToolHandler, ToolInputSchema,
138 ToolResult, create_simple_tool,
139 ToolResultContent as SdkToolResultContent,
140};
141
142pub use llm::{LlmOptions, LlmOptionsBuilder, LlmResponse};
144
145pub mod prelude {
147 pub use crate::{
148 ClaudeCodeOptions, ClaudeSDKClient, ClaudeSDKClientWorking, Message, PermissionMode,
149 Result, SdkError, query,
150 };
151}