#![deny(missing_docs)]
extern crate self as everruns;
mod agent;
#[cfg(feature = "capabilities")]
pub mod capability;
mod capability_config;
mod context;
mod default_workspace;
mod engine;
mod events;
mod history;
mod hooks;
mod mcp;
mod plugin;
mod session;
mod tool;
pub mod work;
pub use agent::{Agent, AgentBuilder, BuildError, Model};
pub use capability_config::{CapabilityRef, CapabilitySpec, IntoCapability};
pub use context::{ContextMessage, SessionContext, ToolInfo};
pub use engine::{Engine, InMemoryEngine};
pub use events::{
CancellationToken, EVENT_STREAM_CAPACITY, EventStream, EventStreamError, RunOptions,
SessionEvent, SessionEventKind,
};
#[cfg(feature = "builtins")]
pub use everruns_builtins::{
AgentInstructionsConfig, CompactionConfig, CompactionStrategy, Skills, StatelessTodoList,
ToolSearch,
};
#[cfg(feature = "bashkit")]
pub use everruns_integrations_bashkit::BashkitShell;
#[cfg(feature = "duckduckgo")]
pub use everruns_integrations_duckduckgo::DuckDuckGo;
#[cfg(feature = "filesystem")]
pub use everruns_integrations_filesystem::FileSystem;
#[cfg(feature = "web-fetch")]
pub use everruns_integrations_web_fetch::WebFetch;
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, EnvironmentSessionBuilder, RunError, SendDisposition, SentMessage, Session,
SessionEnvironmentError, Turn, TurnHandle,
};
pub use tool::{FunctionTool, IntoTool, IntoToolResult, Tool, ToolResponse};
#[cfg(feature = "local")]
pub mod local;
#[cfg(feature = "local")]
pub use local::{LocalConfig, LocalGitWorkspaceProvider};
#[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::{
Environment, EnvironmentBuilder, Workspace, WorkspaceBinding, WorkspaceCheckpoint,
WorkspaceDescriptor, WorkspaceDiff, WorkspaceError, WorkspaceHead, WorkspaceHeadAccess,
WorkspaceHeadBuilder, WorkspaceHeadDescriptor, WorkspaceHeadId, WorkspaceHeadRequest,
WorkspaceHeadResource, WorkspaceHeadStatus, WorkspaceProvider, WorkspaceProviderId,
};
pub use everruns_core::turn::TurnStopReason;
pub use everruns_core::{
ContentPart, Controls, ImageContentPart, InitialFile, InputMessage, MessageRole,
ReasoningConfig, WorkspacePolicy, WorkspacePolicyBuilder, WorkspacePolicyError,
};
pub use everruns_provider::driver_registry::{
ChatDriver, LlmCallConfig, LlmCompletionMetadata, LlmMessage, LlmResponseStream, LlmStreamEvent,
};
pub use everruns_provider::model::ReasoningEffort;
pub use everruns_provider::reasoning::{ReasoningContentPart, ReasoningText};
pub use everruns_provider::{ExecutionPhase, PhaseSource};
pub use everruns_provider::error::AgentLoopError;
pub use everruns_provider::runtime_provider::{
BearerAuth, Provider, ProviderAuth, ProviderAuthRequest, ProviderEndpoint, ProviderKey,
StaticHeaderAuth,
};
pub use everruns_provider::tool_types::ToolCall;
pub use everruns_provider::typed_id::{SessionId, WorkspaceId};
pub use everruns_llmsim::LlmSimConfig;
pub mod prelude {
#[cfg(feature = "bashkit")]
pub use crate::BashkitShell;
#[cfg(feature = "duckduckgo")]
pub use crate::DuckDuckGo;
#[cfg(feature = "filesystem")]
pub use crate::FileSystem;
#[cfg(feature = "local")]
pub use crate::LocalConfig;
#[cfg(feature = "local")]
pub use crate::LocalGitWorkspaceProvider;
#[cfg(feature = "web-fetch")]
pub use crate::WebFetch;
#[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, CompletionContext, Engine, Environment, EventStream,
EventStreamError, FunctionTool, HistoryCursor, HistoryCursorParseError, HistoryError,
HistoryPage, HistoryPages, HistoryQuery, HookFailure, HookPoint, InMemoryEngine,
InitialFile, IntoCapability, IntoHookResult, IntoTool, IntoToolResult, LlmSimConfig,
McpServer, Model, PluginError, ResumeError, RunError, RunOptions, SendDisposition,
SentMessage, Session, SessionContext, SessionEnvironmentError, SessionEvent,
SessionEventKind, SessionId, SessionMessage, Tool, ToolEndContext, ToolInfo, ToolResponse,
ToolStartContext, Turn, TurnHandle, TurnStartContext, Workspace, WorkspaceDiff,
WorkspaceError, WorkspaceHead, WorkspaceHeadAccess, WorkspaceHeadId, WorkspaceId,
WorkspacePolicy, WorkspacePolicyBuilder, WorkspacePolicyError, WorkspaceProvider,
WorkspaceProviderId,
};
#[cfg(feature = "builtins")]
pub use crate::{
AgentInstructionsConfig, CompactionConfig, CompactionStrategy, Skills, StatelessTodoList,
ToolSearch,
};
#[cfg(feature = "openai")]
pub use crate::{OpenAI, OpenAIError};
pub use everruns_core::turn::TurnStopReason;
pub use everruns_core::{ContentPart, InputMessage, MessageRole};
}