extern crate self as everruns;
mod agent;
#[cfg(feature = "capabilities")]
pub mod capability;
mod capability_config;
mod compaction;
mod context;
mod events;
mod history;
mod hooks;
mod mcp;
mod plugin;
mod session;
mod tool;
mod tool_search;
pub mod work;
pub use agent::{Agent, AgentBuilder, BuildError, Model};
pub use capability_config::{CapabilityRef, CapabilitySpec, IntoCapability};
pub use compaction::{CompactionConfig, CompactionStrategy};
pub use context::{ContextMessage, SessionContext, ToolInfo};
pub use events::{
CancellationToken, EVENT_STREAM_CAPACITY, EventStream, EventStreamError, RunOptions,
SessionEvent, SessionEventKind,
};
pub use history::{
HistoryCursor, HistoryCursorParseError, HistoryError, HistoryPage, HistoryPages, HistoryQuery,
ResumeError, SessionMessage,
};
pub use hooks::{
AgentStartContext, CompletionContext, HookFailure, HookPoint, IntoHookResult, ToolEndContext,
ToolStartContext, TurnStartContext,
};
pub use mcp::McpServer;
pub use plugin::PluginError;
pub use session::{CancelError, RunError, SendDisposition, SentMessage, Session, Turn, TurnHandle};
pub use tool::{FunctionTool, IntoTool, IntoToolResult, Tool, ToolResponse};
pub use tool_search::ToolSearch;
#[cfg(feature = "local")]
mod local;
#[cfg(feature = "local")]
pub use local::LocalConfig;
#[cfg(all(test, feature = "macros"))]
mod tool_macro_tests;
#[cfg(feature = "macros")]
pub use everruns_macros::tool;
#[cfg(feature = "macros")]
#[doc(hidden)]
pub mod __macro_support {
pub use schemars;
pub use serde;
pub use serde_json::{self, Value};
pub fn schema_for<T: schemars::JsonSchema>() -> Value {
serde_json::to_value(schemars::schema_for!(T)).unwrap_or(Value::Null)
}
pub fn from_value<T: serde::de::DeserializeOwned>(
value: Value,
) -> Result<T, serde_json::Error> {
serde_json::from_value(value)
}
pub fn to_value<T: serde::Serialize + ?Sized>(value: &T) -> Result<Value, serde_json::Error> {
serde_json::to_value(value)
}
}
pub mod providers;
#[cfg(feature = "openai")]
pub use providers::openai::{OpenAI, OpenAIError};
pub use everruns_host::{
HarnessBuilder, InProcessRuntime, InProcessRuntimeBuilder, SessionBuilder,
SingleSessionBuilder, TurnResult,
};
#[doc(hidden)]
pub use everruns_core::AgentCapabilityConfig;
pub use everruns_core::turn::TurnStopReason;
pub use everruns_core::{
AgentLoopError, BearerAuth, CapabilityRegistry, ChatDriver, ContentPart, Controls,
ImageContentPart, InitialFile, InputMessage, LlmCallConfig, LlmCompletionMetadata, LlmMessage,
LlmResponseStream, LlmStreamEvent, MessageRole, ModelSpec, PlatformDefinition, Provider,
ProviderAuth, ProviderAuthRequest, ProviderEndpoint, ProviderKey, ProviderRegistry,
ReasoningConfig, SessionId, StaticHeaderAuth, ToolCall, WorkspacePolicy,
WorkspacePolicyBuilder, WorkspacePolicyError,
};
pub use everruns_core::llmsim_driver::LlmSimConfig;
pub use everruns_core as core;
#[deprecated(
since = "0.17.25",
note = "advanced hosts should depend on everruns-host directly"
)]
pub use everruns_host as runtime;
pub mod prelude {
#[cfg(feature = "local")]
pub use crate::LocalConfig;
#[cfg(feature = "capabilities")]
pub use crate::capability;
#[cfg(feature = "macros")]
pub use crate::tool;
pub use crate::work::{
TaskOutcome, TaskRequest, WakePolicy, WakeRequest, WorkQueue, WorkSchedule,
};
pub use crate::{
Agent, AgentBuilder, AgentStartContext, BuildError, CancelError, CancellationToken,
CapabilityRef, CapabilitySpec, CompactionConfig, CompactionStrategy, CompletionContext,
EventStream, EventStreamError, FunctionTool, HistoryCursor, HistoryCursorParseError,
HistoryError, HistoryPage, HistoryPages, HistoryQuery, HookFailure, HookPoint, InitialFile,
IntoCapability, IntoHookResult, IntoTool, IntoToolResult, LlmSimConfig, McpServer, Model,
PluginError, ResumeError, RunError, RunOptions, SendDisposition, SentMessage, Session,
SessionContext, SessionEvent, SessionEventKind, SessionId, SessionMessage, Tool,
ToolEndContext, ToolInfo, ToolResponse, ToolSearch, ToolStartContext, Turn, TurnHandle,
TurnStartContext, WorkspacePolicy, WorkspacePolicyBuilder, WorkspacePolicyError,
};
#[cfg(feature = "openai")]
pub use crate::{OpenAI, OpenAIError};
pub use everruns_core::turn::TurnStopReason;
pub use everruns_core::{ContentPart, InputMessage, MessageRole};
}