claude_code_sdk_rust/
lib.rs1pub mod client;
2mod client_stream;
3pub mod client_types;
4pub mod error;
5pub mod mcp;
6pub mod options;
7pub mod query;
8pub mod session_store;
9pub mod session_summary;
10pub mod sessions;
11pub mod types;
12
13pub const VERSION: &str = env!("CARGO_PKG_VERSION");
15
16pub mod internal {
17 pub mod cli_args;
18 #[cfg(test)]
19 mod cli_args_tests;
20 pub mod cli_discovery;
21 pub mod control;
22 pub mod message_parser;
23 pub mod parser;
24 pub mod protocol;
25 pub mod runtime;
26 pub mod sdk_mcp;
27 pub mod session_resume;
28 #[cfg(test)]
29 mod session_resume_tests;
30 pub mod session_store_validation;
31 pub mod sessions_fs;
32 mod stdout_decoder;
33 pub mod transcript_mirror;
34 pub mod transport;
35}
36
37pub use types::*;
39
40pub type McpServerInfo = types::MCPServerInfo;
41pub type McpServerStatus = types::MCPServerStatus;
42pub type McpStatusResponse = types::MCPStatusResponse;
43pub type McpToolAnnotations = types::MCPToolAnnotations;
44pub type McpToolInfo = types::MCPToolInfo;
45
46pub use error::{
48 CLIConnectionError, CLIJSONDecodeError, CLINotFoundError, ClaudeSDKError, MessageParseError,
49 ProcessError, Result,
50};
51
52pub use options::ClaudeAgentOptionsBuilder;
54
55pub use query::{
57 query, query_messages, query_messages_with_transport, query_stream_messages,
58 query_stream_messages_with_transport, QueryResult, TokenUsage,
59};
60
61pub use client::ClaudeAgentClient;
63pub use client_types::{MessageResponse, StreamEvent};
64
65pub type ClaudeSDKClient = ClaudeAgentClient;
67
68pub use mcp::{
70 create_sdk_mcp_server, create_sdk_mcp_server_with_version, initialize_server, tool,
71 tool_with_annotations, MCPContent, MCPTool, MCPToolAnnotations, SdkMcpTool, SimpleMCPServer,
72};
73
74pub use session_store::{
76 project_key_for_directory, InMemorySessionStore, SessionKey, SessionListSubkeysKey,
77 SessionStore, SessionStoreEntry, SessionStoreHandle, SessionStoreListEntry,
78 SessionSummaryEntry,
79};
80pub use sessions::{
81 delete_session, delete_session_via_store, fork_session, fork_session_via_store,
82 get_session_info, get_session_info_from_store, get_session_messages,
83 get_session_messages_from_store, get_subagent_messages, get_subagent_messages_from_store,
84 import_session_to_store, list_sessions, list_sessions_from_store, list_subagents,
85 list_subagents_from_store, rename_session, rename_session_via_store, tag_session,
86 tag_session_via_store, ForkSessionResult, ImportSessionOptions, ListSessionsOptions,
87 LocalForkSessionResult, SDKSessionInfo, SDKSessionMessage, SessionInfo, SessionMessage,
88 SessionMutationOptions, SessionQueryOptions,
89};