1pub use crate::error::{KernelError, Result};
8
9#[cfg(feature = "provider")]
12pub use crate::provider::{
13 AuthStrategy, ModelCapabilities, ModelCost, ModelDescriptor, ModelLimit, ModelModalities,
14 ProviderIndex, ServiceDescriptor,
15};
16
17#[cfg(feature = "client-async")]
20pub use crate::llm::{
21 AnthropicClient, ChatMessage, ContentPart, LLMClient, LLMRequest, LLMRequestBuilder,
22 LLMResponse, LLMStream, MessageRole, ModelConfig, OpenAIClient, ResponseFormat, StreamEvent,
23 TokenUsage, ToolCall, ToolDefinition, ToolResult,
24 json_extract::{JsonExtractor, extract_json, parse_json},
25 prompt::render_prompt,
26};
27
28#[cfg(feature = "secrets")]
31pub use crate::secrets::{SecretVault, redact_credential};
32
33#[cfg(feature = "graph")]
36pub use crate::graph::{
37 Graph, GraphEdge, GraphNode, GraphNodeSummary, GraphStats, ScoredNode, append_edge,
38 build_graph, compute_stats, decay_importance, delete_node, graph_neighbors, init_graph_schema,
39 query_nodes, read_node, related_nodes, search_nodes, smart_recall, tag_stale_nodes,
40 upsert_node,
41};
42
43#[cfg(feature = "mcp")]
46pub use crate::mcp::{
47 BearerAuth, Handler, JsonRpcDispatcher, McpServer, ResourceDescription, ToolDescription,
48};
49
50#[cfg(feature = "tokens")]
53pub use crate::tokens::estimate_tokens;
54
55#[cfg(feature = "search")]
58pub use crate::search::{SearchResult, rrf_fuse};
59
60#[cfg(feature = "embedding")]
63pub use crate::embedding::{EmbeddingProvider, EmbeddingResult, cosine_similarity};
64
65#[cfg(feature = "telemetry")]
68pub use crate::telemetry::{
69 ConsoleSink, FailureClass, FeatureName, NoopSink, ProviderCategory, TelemetryEvent,
70 TelemetrySink, ToolName,
71};
72
73#[cfg(feature = "safety")]
76pub use crate::safety::{
77 FailureCategory, classify_failure, mask_secrets, sanitize_output, strip_ansi,
78};
79
80#[cfg(feature = "discovery")]
83pub use crate::discovery::{
84 ModelEntry, ModelLimits, ModelsDevPayload, fetch_and_cache, fetch_ollama_models,
85 fetch_openai_compatible_models, load_cache,
86};
87
88#[cfg(feature = "store")]
91pub use crate::store::{
92 MigrationFn, SchemaVersion, init_in_memory, init_schema, init_schema_with_migrations,
93};
94
95#[cfg(feature = "config")]
98pub use crate::config::{default_config_template, load_toml_config};
99
100#[cfg(feature = "install")]
103pub use crate::install::{AgentKind, McpConfig, generate_mcp_config};