#![deny(missing_docs)]
#![deny(rust_2018_idioms)]
pub mod agent;
pub mod bus;
pub mod cancel;
pub mod error;
pub mod guardrail;
pub mod ids;
pub mod leader;
pub mod llm;
pub mod memory;
pub mod observability;
pub mod rate_limit;
pub mod reaper;
pub mod response;
pub mod resume;
pub mod runtime;
pub mod server_outbound;
pub mod summarize;
pub mod tenants;
pub mod tool;
pub use agent::{
Agent, AgentContext, AgentContextBuilder, AgentContextBuilderError, AgentEvent, SimpleAgent,
};
pub use bus::{
validate_subject_token, AckHandle, AckHandleImpl, BusHandles, ClaimHandle, ClaimHandleImpl,
ClaimedJob, Headers, Job, JobQueue, KvEntry, KvStore, Lease, LeaseImpl, Msg, MsgStream,
Pubsub, RequestReply, Revision,
};
#[cfg(feature = "otel")]
pub use bus::{extract_traceparent, inject_traceparent};
pub use cancel::CancelRegistry;
pub use error::{BusError, ConfigError, Error, LlmError, MemoryError, ToolError};
pub use guardrail::{
Guardrail, GuardrailOutcome, MaxResponseLengthGuardrail, RefusalKeywordGuardrail,
};
pub use ids::{DurableName, FactId, JobId, RunId, ThreadId};
pub use leader::{LeaderEntry, LeaderHandle, LeaderRegistry, FAILOVER_ATTEMPT_CAP};
pub use llm::{
Capabilities, CapabilitiesBuilder, ChatChunk, ChatRequest, ChatResponse, ChunkStream,
Embedding, FinishReason, LlmClient, Message, ResponseFormat, Role, ToolCall, ToolDef, Usage,
};
pub use memory::{
Episode, EpisodicMemory, Fact, LongTermMemory, MemoryHandles, RunFilter, RunSummary, Scope,
ShortTermMemory, ToolResult,
};
pub use observability::principal_hash;
pub use reaper::{spawn_kv_reaper, KvReaperHandle};
pub use response::{parse_structured, KlieoResponse};
pub use runtime::{run_steps, run_steps_streaming, RunOptions};
pub use server_outbound::{ServerOutbound, ServerOutboundError};
pub use summarize::{summarize_history, SummarizeOptions};
pub use tenants::{OwnershipHandle, OwnershipRegistry};
pub use tool::{Tool, ToolCtx, ToolInvoker};
#[cfg(any(test, feature = "test-utils"))]
pub mod test_utils;
#[doc(hidden)]
pub mod __macro_support {
pub use crate::error::ToolError;
pub use crate::response::{parse_structured, KlieoResponse};
pub use crate::tool::{Tool, ToolCtx};
}