Skip to content

Capability integrations

The Framework separates capability contracts from environment-backed implementations. everruns-core defines capability, tool, filesystem, egress, and MCP invocation contracts; focused crates own code that touches an interpreter, network transport, local process, or session filesystem.

This keeps a custom host’s dependency and trust boundaries visible in Cargo.toml. It also prevents a core registry from silently granting an execution or network surface.

everruns featureDefaultImplementationEffect boundary
filesystemYeseverruns-integrations-filesystemHost-provided, session-scoped filesystem only
bashkitNoeverruns-integrations-bashkitSandboxed shell; HTTP remains capability-config and egress-policy gated
web-fetchNoeverruns-integrations-web-fetchFetchKit requests through the host egress contract
luaNoeverruns-integrations-luaVendored Lua 5.4 sandbox; also requires FEATURE_LUA=true at runtime
mcpNoeverruns-mcpRemote HTTP MCP through the host egress contract
mcp-stdioNoeverruns-mcpAdds local-process MCP servers and implies mcp

The default is offline: the filesystem capability can only use the session-filesystem implementation supplied by the host. Shell, web, Lua, MCP, and local-process transports require explicit features.

[dependencies]
everruns = { version = "0.17", features = ["bashkit", "web-fetch"] }

Enabling an implementation does not activate it on every agent. Add the matching capability reference to the agent, and retain the documented role, network-access, and runtime feature gates. In particular, Bashkit, web fetch, and Lua remain high-risk capabilities in the hosted product.

Integration packages can expose typed values through IntoCapability. Brave Search supports the ordinary Framework builder:

use everruns::{Agent, Model};
use everruns_integrations_brave_search::BraveSearch;
let agent = Agent::builder()
.instructions("Search and cite primary sources.")
.model(Model::simulated("Ready."))
.capability(BraveSearch::from_env()?)
.build()?;

Depend on everruns-integrations-brave-search with default-features = false to omit Platform connector registration. The Framework adapter reads BRAVE_SEARCH_API_KEY at construction; BraveSearch::new accepts an explicit application-owned key. Keys are retained privately by the client, never placed in capability JSON. Hosted execution continues to resolve connections and session secrets at tool execution time. Both paths use the same search schema and operation. Framework calls use the application’s direct HTTP client.

Advanced embedders select integrations on everruns-host and build the runtime registry through everruns_host::runtime_capability_registry():

[dependencies]
everruns-core = "0.17"
everruns-host = { version = "0.17", features = ["filesystem", "web-fetch"] }
let registry = everruns_host::runtime_capability_registry();
let egress = everruns_host::runtime_egress_service();
assert!(registry.has("session_file_system"));
assert!(registry.has("web_fetch"));
assert!(!registry.has("bashkit_shell"));
# let _ = egress;

If the host starts from a caller-owned registry, preserve it and apply the same feature-selected integrations with everruns_host::compose_runtime_capability_registry(registry).

Hosted server and worker composition uses everruns_platform::capabilities::hosted_capability_registry_for_grade with the platform’s environment-capabilities feature. That preset preserves the hosted catalog while keeping the implementations outside core.

Depend directly on a focused crate when you need its public implementation types. The former core paths move as follows:

Former public pathNew public path
everruns_core::FileSystemCapability and filesystem toolseverruns_integrations_filesystem::*
everruns_core::BashkitShellCapability, BashTool, and adaptereverruns_integrations_bashkit::*
everruns_core::WebFetchCapability, WebFetchTool, and bot-auth helperseverruns_integrations_web_fetch::*
everruns_core::LuaCapability and LuaCodeModeCapabilityeverruns_integrations_lua::*
everruns_core::McpCapability and MCP capability-ID helperseverruns_mcp::*
everruns_core::DirectEgressServiceeverruns_host::DirectEgressService with direct-egress
everruns_core::SystemEmailConfig and Resend typeseverruns_platform::*
everruns_core::ModelScoutCapability and OpenRouterWorkspaceCapabilityeverruns_integrations_openrouter_workspace::*
everruns_core::OpenRouterServerToolsCapabilityeverruns_integrations_openrouter_workspace::OpenRouterServerToolsCapability
everruns_core::{HumanIntentCapability, InfinityContextCapability, SkillsCapability, AttachSkillCapability, ToolApprovalCapability}everruns_builtins::*
everruns_core::{OpenUiCapability, A2UiCapability}everruns_builtins::* with ui-capabilities
everruns_core::skill::ProcessCommandExecutoreverruns_host::ProcessCommandExecutor with the host process feature

Continue with Configure and author capabilities for agent-level activation or Custom backends for host-level storage and orchestration.