Expand description
Core agent abstractions for Everruns.
everruns-core is the shared contract crate for the
Everruns ecosystem. It defines the runtime-facing
types used by embedded hosts, workers, provider drivers, integrations, and
the control plane.
The crate is deliberately storage-agnostic. Agent execution is expressed in
terms of traits such as MessageRetriever, ToolExecutor,
EventEmitter, and ProviderStore, while host crates decide whether
those traits are backed by memory, PostgreSQL, gRPC, or another system.
§Main Surfaces
- Agent, harness, session, message, event, and typed ID models
- Capability and tool traits for composing agent behavior
- Provider-neutral LLM messages, streams, and driver registration
- Context assembly for the shared
input -> reason -> actexecution flow - In-memory helpers and
llmsimfor deterministic tests and examples
§Example
ⓘ
use everruns_core::{CapabilityRegistry, DriverRegistry, PlatformDefinition};
use everruns_core::capabilities::TestMathCapability;
let mut capabilities = CapabilityRegistry::new();
capabilities.register(TestMathCapability);
let platform = PlatformDefinition::new(capabilities, DriverRegistry::new());
assert!(platform.capability_registry().get("test_math").is_some());Re-exports§
pub use command_host::CommandHost;pub use command_host::CommandTurnContext;pub use command_host::DisabledCommandHost;pub use command_host::SessionCompletion;pub use command_host::SessionCompletionError;pub use command_host::SessionCompletionRequest;pub use command_host::SessionCompletionStream;pub use command_host::StoreCommandHost;pub use config_layer::AgentConfigOverlay;pub use config_layer::merge_capabilities;pub use config_layer::merge_initial_files;pub use config_layer::normalize_initial_file_path;pub use llm_error_hook::LlmErrorContext;pub use llm_error_hook::LlmErrorHook;pub use llm_error_hook::LlmErrorHookOutcome;pub use llm_error_hook::LlmErrorHookServices;pub use message::ContentPart;pub use message::ContentType;pub use message::Controls;pub use message::ExternalActor;pub use message::ImageContentPart;pub use message::ImageFileContentPart;pub use message::InputContentPart;pub use message::Message;pub use message::MessageRole;pub use message::ReasoningConfig;pub use message::TextContentPart;pub use message::ToolCallContentPart;pub use message::ToolResultContentPart;pub use message_filter::ExcludedNoticeTransform;pub use message_filter::FilterContext;pub use message_filter::InjectedMessage;pub use message_filter::InjectionPosition;pub use message_filter::MessageFilter;pub use message_filter::MessageFilterProvider;pub use message_filter::MessageQuery;pub use message_filter::PrependTransform;pub use message_retriever::InputMessage;pub use message_retriever::MessageRetriever;pub use mount_fs::DisplayPolicy;pub use mount_fs::MountFs;pub use mount_fs::WORKSPACE_MOUNT;pub use mount_fs::scoped_prompt_file_store;pub use runtime_agent::RuntimeAgent;pub use runtime_agent::RuntimeAgentBuilder;pub use runtime_context::AssembledTurnContext;pub use runtime_context::ResolvedRuntimeCapabilities;pub use runtime_context::assemble_turn_context;pub use runtime_context::inspect_turn_context;pub use runtime_context::resolve_runtime_capabilities;pub use traits::DisabledSessionFileSystemFactory;pub use traits::DurableToolResultStore;pub use traits::EventEmitter;pub use traits::HarnessStore;pub use traits::ImageResolver;pub use traits::KeyInfo;pub use traits::LeasedResourceStore;pub use traits::NoopDurableToolResultStore;pub use traits::NoopEventEmitter;pub use traits::NoopPartialStreamStore;pub use traits::NoopStreamHeartbeater;pub use traits::NoopSubagentSpawnStore;pub use traits::OutboundToolRateLimiter;pub use traits::PartialStreamState;pub use traits::PartialStreamStore;pub use traits::ProviderStore;pub use traits::ReasoningEffortHandle;pub use traits::ResolvedImage;pub use traits::ResolvedModel;pub use traits::SecretInfo;pub use traits::SessionFileStore;pub use traits::SessionFileSystem;pub use traits::SessionFileSystemFactory;pub use traits::SessionFileSystemFactoryContext;pub use traits::SessionMutator;pub use traits::SessionResourceRegistry;pub use traits::SessionSqlDbStoreRef;pub use traits::SessionStorageStore;pub use traits::SessionStore;pub use traits::SpawnClaimResult;pub use traits::StreamHeartbeater;pub use traits::StreamProgress;pub use traits::SubagentNestingPolicy;pub use traits::SubagentSpawnStore;pub use traits::ToolCallClaimResult;pub use traits::ToolContext;pub use traits::ToolExecutor;pub use traits::UserConnectionResolver;pub use traits::WorkspaceScopedFileSystem;pub use workspace_roots::ADDITIONAL_ROOTS_MOUNT;pub use workspace_roots::PRIMARY_WORKSPACE_ROOT_NAME;pub use workspace_roots::RelPath;pub use workspace_roots::ResolvedPath;pub use workspace_roots::WorkspaceRoot;pub use workspace_roots::WorkspaceRootSet;pub use channel::ChannelDeliveryAdapter;pub use channel::ChannelReplyMode;pub use channel::DeliveryContext as ChannelDeliveryContext;pub use channel::DeliveryResult as ChannelDeliveryResult;pub use channel::InboundAttachment;pub use channel::InboundChannelEvent;pub use channel::OutboundChannelMessage;pub use channel::Participant;pub use channel::SessionRoutingStrategy;pub use channel::ThreadContext;pub use platform_store::PlatformMessage;pub use platform_store::PlatformStore;pub use resource_ownership::LEASED_RESOURCE_EXTERNAL_ID_KEY;pub use resource_ownership::LEASED_RESOURCE_ID_KEY;pub use resource_ownership::LEASED_RESOURCE_PROVIDER_KEY;pub use resource_ownership::LEASED_RESOURCE_TYPE_KEY;pub use resource_ownership::list_owned_external_resource_ids;pub use resource_ownership::require_owned_external_resource;pub use resource_ownership::resource_not_owned_error;pub use resource_ownership::verify_owned_external_resource_if_available;pub use background::BackgroundEventSink;pub use background::BackgroundExecutableTool;pub use background::BackgroundOutcome;pub use background::BackgroundProgress;pub use event_listeners::CompositeEventListener;pub use event_listeners::EventListener;pub use event_listeners::NoopEventListener;pub use error_reporter::ErrorReport;pub use error_reporter::ErrorReporter;pub use error_reporter::ErrorScope;pub use error_reporter::ErrorSeverity;pub use error_reporter::NoopErrorReporter;pub use egress::DirectEgressService;pub use egress::DisabledEgressService;pub use egress::EgressByteStream;pub use egress::EgressError;pub use egress::EgressRequest;pub use egress::EgressRequestKind;pub use egress::EgressResponse;pub use egress::EgressResult;pub use egress::EgressService;pub use egress::EgressSigning;pub use egress::EgressStreamResponse;pub use system_allowlist::AllowGroup;pub use system_allowlist::SYSTEM_ALLOWLIST_ENABLED_ENV;pub use system_allowlist::SystemAllowlist;pub use email::BasicEmailTemplate;pub use email::DisabledEmailSender;pub use email::EmailAddress;pub use email::EmailError;pub use email::EmailMessage;pub use email::EmailResult;pub use email::EmailSender;pub use email::EmailTag;pub use email::EmailTemplate;pub use email::MinimalEmailTemplate;pub use email::NoopEmailSender;pub use email::RenderedEmail;pub use email::ResendEmailConfig;pub use email::ResendEmailSender;pub use email::SYSTEM_EMAIL_FROM;pub use email::SentEmail;pub use email::SystemEmailConfig;pub use email::system_email_from;pub use utility_llm::DisabledUtilityLlmService;pub use utility_llm::OpenAiUtilityLlmService;pub use utility_llm::SystemUtilityLlmConfig;pub use utility_llm::UTILITY_LLM_MODEL;pub use utility_llm::UTILITY_OPENAI_API_KEY_ENV;pub use utility_llm::UtilityLlmReasoningEffort;pub use utility_llm::UtilityLlmRequest;pub use utility_llm::UtilityLlmService;pub use tools::EchoTool;pub use tools::FailingTool;pub use tools::SpawnBackgroundTool;pub use tools::Tool;pub use tools::ToolExecutionResult;pub use tools::ToolInternalError;pub use tools::ToolRegistry;pub use tools::ToolRegistryBuilder;pub use credential_provider::CredentialProvider;pub use credential_provider::EnvCredentialProvider;pub use credential_provider::ProviderCredentials;pub use connector::Connector;pub use connector::ConnectorFormSchema;pub use connector::ConnectorPlugin;pub use connector::ConnectorRegistry;pub use connector::ConnectorRegistryBuilder;pub use connector::ConnectorType;pub use connector::ConnectorValidation;pub use platform_definition::BuiltInCapabilityDefinition;pub use platform_definition::BuiltInHarnessDefinition;pub use platform_definition::BuiltInHarnessRole;pub use platform_definition::PlatformDefinition;pub use platform_definition::PlatformDefinitionBuilder;pub use session_sandbox::DEFAULT_SESSION_SANDBOX_IDLE_TIMEOUT_SECS;pub use session_sandbox::SESSION_SANDBOX_CAPABILITY_ID;pub use session_sandbox::SESSION_SANDBOX_SECRET_NAME;pub use session_sandbox::SessionSandboxConfig;pub use session_sandbox::SessionSandboxExecRequest;pub use session_sandbox::SessionSandboxExecResponse;pub use session_sandbox::SessionSandboxInitConfig;pub use session_sandbox::SessionSandboxInstance;pub use session_sandbox::SessionSandboxProvider;pub use session_sandbox::SessionSandboxProviderPlugin;pub use session_sandbox::SessionSandboxReadFileResponse;pub use session_sandbox::SessionSandboxState;pub use session_sandbox::SessionSandboxStatus;pub use session_sandbox::SessionSandboxStatusResponse;pub use session_sandbox::SessionSandboxWriteFileResponse;pub use session_sandbox::create_session_sandbox_provider;pub use session_sandbox::delete_session_sandbox;pub use session_sandbox::delete_session_sandbox_state;pub use session_sandbox::ensure_session_sandbox_running;pub use session_sandbox::load_session_sandbox_state;pub use session_sandbox::pause_session_sandbox;pub use session_sandbox::run_session_sandbox_init_if_needed;pub use session_sandbox::save_session_sandbox_state;pub use session_sandbox::session_sandbox_config_from_capabilities;pub use session_sandbox::session_sandbox_tool_hints;pub use capabilities::SystemPromptContext;pub use capabilities::AUTO_TOOL_SEARCH_CAPABILITY_ID;pub use capabilities::AddTool;pub use capabilities::AgentBlueprint;pub use capabilities::AgentCapabilityConfig;pub use capabilities::AppliedCapabilities;pub use capabilities::AutoToolSearchCapability;pub use capabilities::BlueprintModel;pub use capabilities::CLAUDE_TOOL_SEARCH_CAPABILITY_ID;pub use capabilities::Capability;pub use capabilities::CapabilityId;pub use capabilities::CapabilityRegistry;pub use capabilities::CapabilityRegistryBuilder;pub use capabilities::CapabilityStatus;pub use capabilities::ClaudeToolSearchCapability;pub use capabilities::CollectedCapabilities;pub use capabilities::CurrentTimeCapability;pub use capabilities::DECLARATIVE_CAPABILITY_PREFIX;pub use capabilities::DeleteFileTool;pub use capabilities::DependencyError;pub use capabilities::DivideTool;pub use capabilities::FileSystemCapability;pub use capabilities::GetCurrentTimeTool;pub use capabilities::GetForecastTool;pub use capabilities::GetSessionInfoTool;pub use capabilities::GetWeatherTool;pub use capabilities::GrepFilesTool;pub use capabilities::HUMAN_INTENT_CAPABILITY_ID;pub use capabilities::HumanIntentCapability;pub use capabilities::INFINITY_CONTEXT_CAPABILITY_ID;pub use capabilities::InfinityContextCapability;pub use capabilities::IntegrationPlugin;pub use capabilities::ListDirectoryTool;pub use capabilities::MAX_RESOLVED_CAPABILITIES;pub use capabilities::MCP_CAPABILITY_PREFIX;pub use capabilities::McpCapability;pub use capabilities::MountAccess;pub use capabilities::MountDirectoryBuilder;pub use capabilities::MountEntry;pub use capabilities::MountPoint;pub use capabilities::MountSource;pub use capabilities::MultiplyTool;pub use capabilities::NoopCapability;pub use capabilities::OPENAI_TOOL_SEARCH_CAPABILITY_ID;pub use capabilities::OpenAiToolSearchCapability;pub use capabilities::PlatformManagementCapability;pub use capabilities::QueryHistoryTool;pub use capabilities::ReadFileTool;pub use capabilities::ResearchCapability;pub use capabilities::ResolvedCapabilities;pub use capabilities::RiskLevel;pub use capabilities::SampleDataCapability;pub use capabilities::SessionCapability;pub use capabilities::SessionSandboxCapability;pub use capabilities::SessionSqlDatabaseCapability;pub use capabilities::SqlExecuteTool;pub use capabilities::SqlQueryTool;pub use capabilities::SqlSchemaTool;pub use capabilities::StatFileTool;pub use capabilities::StatelessTodoListCapability;pub use capabilities::SubtractTool;pub use capabilities::TestMathCapability;pub use capabilities::TestWeatherCapability;pub use capabilities::ToolCallHook;pub use capabilities::ToolDefinitionHook;pub use capabilities::WriteFileTool;pub use capabilities::WriteSessionTitleTool;pub use capabilities::WriteTodosTool;pub use capabilities::apply_capabilities;pub use capabilities::collect_capabilities;pub use capabilities::collect_capabilities_with_configs;pub use capabilities::compute_features;pub use capabilities::declarative_capability_id;pub use capabilities::declarative_capability_info;pub use capabilities::get_dependencies;pub use capabilities::hydrate_declarative_capability_config;pub use capabilities::hydrate_plugin_capability_config;pub use capabilities::is_declarative_capability;pub use capabilities::is_mcp_capability;pub use capabilities::mcp_capability_id;pub use capabilities::parse_declarative_capability_id;pub use capabilities::parse_mcp_capability_id;pub use capabilities::plugin_capability_info;pub use capabilities::resolve_dependencies;pub use capabilities::validate_declarative_capability_definition;pub use capabilities::AttachSkillCapability;pub use capabilities::SKILL_CAPABILITY_PREFIX;pub use capabilities::SKILLS_CAPABILITY_ID;pub use capabilities::SKILLS_DISCOVERY_PATH;pub use capabilities::SkillInstructions;pub use capabilities::SkillMeta;pub use capabilities::SkillSource;pub use capabilities::SkillsCapability;pub use capabilities::discover_skills_from_entries;pub use capabilities::is_skill_capability;pub use capabilities::parse_skill_capability_id;pub use capabilities::skill_capability_id;pub use capabilities::DeclarativeCapabilityDefinition;pub use capabilities::DeclarativeCapabilityFile;pub use capabilities::DeclarativeCapabilitySkill;pub use atoms::ActAtom;pub use atoms::ActInput;pub use atoms::ActResult;pub use atoms::Atom;pub use atoms::AtomContext;pub use atoms::ClientSideToolHook;pub use atoms::ConnectionSetupHook;pub use atoms::InputAtom;pub use atoms::InputAtomInput;pub use atoms::InputAtomResult;pub use atoms::PostActAction;pub use atoms::PostActHook;pub use atoms::PostToolExecHook;pub use atoms::ReasonAtom;pub use atoms::ReasonInput;pub use atoms::ReasonResult;pub use atoms::ToolCallResult;pub use capability_types::PLUGIN_CAPABILITY_PREFIX;pub use capability_types::is_plugin_capability;pub use capability_types::parse_plugin_capability_id;pub use capability_types::plugin_capability_id;pub use agent::Agent;pub use agent::AgentStatus;pub use agent::AgentVersion;pub use agent::AgentVersionChangeKind;pub use agent::MAX_ADDRESSABLE_NAME_LEN;pub use agent::generate_agent_public_id;pub use agent::validate_addressable_name;pub use agent::validate_agent_public_id;pub use agent_identity::AgentIdentity;pub use agent_identity::AgentIdentityStatus;pub use agent_trigger::AgentTrigger;pub use agent_trigger::AgentTriggerType;pub use agent_trigger::ScheduleTriggerConfig;pub use app::A2aChannelConfig;pub use app::AgUiChannelConfig;pub use app::AgUiToolVisibility;pub use app::AgentVersionPolicy;pub use app::ApiEndpointChannelConfig;pub use app::App;pub use app::AppChannel;pub use app::AppEndpointAuthConfig;pub use app::AppEndpointAuthMode;pub use app::AppEndpointAuthProviderConfig;pub use app::AppEndpointAuthRequirements;pub use app::AppStatus;pub use app::CaptchaProvider;pub use app::ChannelType;pub use app::FcpChannelConfig;pub use app::InvocationSessionMode;pub use app::PublicChatBranding;pub use app::PublicChatCaptchaConfig;pub use app::PublicChatChannelConfig;pub use app::SessionStrategy;pub use app::SlackChannelConfig;pub use app::SlackReplyMode;pub use ard_attachment::ARD_ATTACHMENT_KV_PREFIX;pub use ard_attachment::ARD_ATTACHMENT_RESOURCE_KIND;pub use ard_attachment::ARD_DISCOVERY_KV_PREFIX;pub use ard_attachment::ArdAttachment;pub use ard_attachment::ArdAttachmentTarget;pub use ard_attachment::apply_session_attachments;pub use ard_attachment::attachment_kv_key;pub use ard_attachment::load_session_attachments;pub use ard_attachment::merge_attachment_into_session;pub use ard_attachment::urn_slug;pub use capability_dto::AgentCapability;pub use capability_dto::CapabilityInfo;pub use context_report::ContextReportContribution;pub use context_report::ContextReportSection;pub use context_report::SessionContextReport;pub use context_report::build_session_context_report;pub use context_report::build_session_context_report_from_generation;pub use events::ACT_COMPLETED;pub use events::ACT_STARTED;pub use events::ActCompletedData;pub use events::ActStartedData;pub use events::CONTEXT_COMPACTED;pub use events::CONTEXT_COMPACTING;pub use events::CompactionReason;pub use events::CompactionStepData;pub use events::ContextCompactedData;pub use events::ContextCompactingData;pub use events::Event;pub use events::EventBuilder;pub use events::EventContext;pub use events::EventData;pub use events::EventRequest;pub use events::FILE_WRITTEN;pub use events::FileWrittenData;pub use events::INPUT_MESSAGE;pub use events::InputMessageData;pub use events::LLM_GENERATION;pub use events::LlmCompactionInfo;pub use events::LlmGenerationData;pub use events::LlmGenerationMetadata;pub use events::LlmGenerationOutput;pub use events::LlmRetryInfo;pub use events::ModelMetadata;pub use events::OUTPUT_MESSAGE_COMPLETED;pub use events::OUTPUT_MESSAGE_DELTA;pub use events::OUTPUT_MESSAGE_REPLACED;pub use events::OUTPUT_MESSAGE_STARTED;pub use events::OutputMessageCompletedData;pub use events::OutputMessageDeltaData;pub use events::OutputMessageReplacedData;pub use events::OutputMessageStartedData;pub use events::REASON_COMPLETED;pub use events::REASON_ITEM;pub use events::REASON_RECOVERED;pub use events::REASON_STARTED;pub use events::REASON_THINKING_COMPLETED;pub use events::REASON_THINKING_DELTA;pub use events::REASON_THINKING_STARTED;pub use events::ReasonCompletedData;pub use events::ReasonItemData;pub use events::ReasonRecoveredData;pub use events::ReasonStartedData;pub use events::ReasonThinkingCompletedData;pub use events::ReasonThinkingDeltaData;pub use events::ReasonThinkingStartedData;pub use events::RecoveryMode;pub use events::SESSION_ACTIVATED;pub use events::SESSION_IDLED;pub use events::SESSION_STARTED;pub use events::SessionActivatedData;pub use events::SessionIdledData;pub use events::SessionStartedData;pub use events::TOOL_CALL_REQUESTED;pub use events::TOOL_COMPLETED;pub use events::TOOL_OUTPUT_DELTA;pub use events::TOOL_PROGRESS;pub use events::TOOL_STARTED;pub use events::TURN_CANCELLED;pub use events::TURN_COMPLETED;pub use events::TURN_FAILED;pub use events::TURN_SEALED;pub use events::TURN_STARTED;pub use events::TokenUsage;pub use events::ToolCallRequestedData;pub use events::ToolCallSummary;pub use events::ToolCompletedData;pub use events::ToolOutputDeltaData;pub use events::ToolProgressData;pub use events::ToolStartedData;pub use events::TurnCancelledData;pub use events::TurnCompletedData;pub use events::TurnFailedData;pub use events::TurnSealedData;pub use events::TurnStartedData;pub use events::VALID_EVENT_TYPES;pub use guardrail_checks::CompiledJudgeCheck;pub use guardrail_checks::GuardrailAction;pub use guardrail_checks::GuardrailHit;pub use guardrail_checks::GuardrailMode;pub use guardrail_checks::GuardrailOnFail;pub use guardrail_checks::GuardrailRule;pub use guardrail_checks::GuardrailStage;pub use guardrail_checks::GuardrailsConfig;pub use guardrail_checks::MAX_JUDGE_PROMPT_LEN;pub use guardrail_gallery::DataEgress;pub use guardrail_gallery::GuardrailGalleryItem;pub use guardrail_gallery::find_guardrail_gallery_item;pub use guardrail_gallery::guardrail_gallery;pub use harness::Harness;pub use harness::HarnessStatus;pub use harness::merge_harness;pub use harness::merge_harness_chain;pub use leased_resource::LEASED_RESOURCES_FEATURE;pub use leased_resource::LeasedResource;pub use leased_resource::LeasedResourceStatus;pub use leased_resource::UpsertLeasedResource;pub use mcp_proxy::McpProxyTool;pub use mcp_proxy::McpToolInvoker;pub use mcp_proxy::ScopedMcpToolInvoker;pub use mcp_proxy::build_mcp_proxy_tools;pub use mcp_server::MCP_PROTOCOL_VERSION_LEGACY;pub use mcp_server::MCP_PROTOCOL_VERSION_RC;pub use mcp_server::MCP_PROTOCOL_VERSION_STABLE;pub use mcp_server::McpContent;pub use mcp_server::McpError;pub use mcp_server::McpProtocolMode;pub use mcp_server::McpServer;pub use mcp_server::McpServerAuthMode;pub use mcp_server::McpServerStatus;pub use mcp_server::McpServerTransportType;pub use mcp_server::McpToolAnnotations;pub use mcp_server::McpToolCallParams;pub use mcp_server::McpToolCallRequest;pub use mcp_server::McpToolCallResponse;pub use mcp_server::McpToolCallResult;pub use mcp_server::McpToolDefinition;pub use mcp_server::McpToolsListRequest;pub use mcp_server::McpToolsListResponse;pub use mcp_server::McpToolsListResult;pub use mcp_server::ScopedMcpServer;pub use mcp_server::ScopedMcpServers;pub use mcp_server::is_mcp_tool;pub use mcp_server::mcp_oauth_provider_id_for_uuid;pub use mcp_server::mcp_oauth_session_secret_name;pub use mcp_server::mcp_tool_name;pub use mcp_server::merge_scoped_mcp_servers;pub use mcp_server::normalize_mcp_error_code;pub use mcp_server::parse_mcp_tool_name;pub use mcp_server::sanitize_mcp_server_name;pub use mcp_server::scoped_mcp_servers_is_empty;pub use organization::ANONYMOUS_USER_EMAIL;pub use organization::ANONYMOUS_USER_ID;pub use organization::ANONYMOUS_USER_NAME;pub use organization::DEFAULT_ORG_ID;pub use organization::DEFAULT_ORG_PUBLIC_ID;pub use organization::OrgMembership;pub use organization::OrgRole;pub use organization::Organization;pub use organization::generate_org_public_id;pub use organization::org_public_id_from_internal;pub use organization::validate_org_public_id;pub use payment::MachinePaymentRequest;pub use payment::MachinePaymentResponse;pub use payment::PaymentAccount;pub use payment::PaymentAttempt;pub use payment::PaymentMethod;pub use payment::PaymentOwnerType;pub use payment::PaymentPolicy;pub use payment::PaymentRail;pub use payment::PaymentStatus;pub use principal::Principal;pub use principal::PrincipalKind;pub use principal::PrincipalStatus;pub use principal::PrincipalSummary;pub use session::Session;pub use session::SessionParticipant;pub use session::SessionParticipantKind;pub use session::SessionParticipantRole;pub use session::SessionSeedMode;pub use session::SessionStatus;pub use session::SubagentStatus;pub use session_file::FileInfo;pub use session_file::FileStat;pub use session_file::GREP_MAX_CONTEXT_LINES;pub use session_file::GREP_MAX_RETURN_BYTES;pub use session_file::GrepContextBlock;pub use session_file::GrepContextLine;pub use session_file::GrepMatch;pub use session_file::GrepOptions;pub use session_file::GrepResult;pub use session_file::GrepSearchResult;pub use session_file::InitialFile;pub use session_file::SessionFile;pub use session_resource::RegisterSessionResource;pub use session_resource::SessionResourceEntry;pub use session_resource::SessionResourceFilter;pub use session_resource::SessionResourceStatus;pub use session_sqldb::ColumnSchema;pub use session_sqldb::DatabaseInfo;pub use session_sqldb::SessionSqlDbError;pub use session_sqldb::SessionSqlDbStore;pub use session_sqldb::SqlExecuteResult;pub use session_sqldb::SqlQueryResult;pub use session_sqldb::TableSchema;pub use session_task::CreateSessionTask;pub use session_task::NewTaskMessage;pub use session_task::SessionTask;pub use session_task::SessionTaskFilter;pub use session_task::SessionTaskRegistry;pub use session_task::SessionTaskState;pub use session_task::SessionTaskUpdate;pub use session_task::TASK_KIND_AGENT_HANDOFF;pub use session_task::TASK_KIND_BACKGROUND_TOOL;pub use session_task::TASK_KIND_EXTERNAL_AGENT;pub use session_task::TASK_KIND_MONITOR;pub use session_task::TASK_KIND_SESSION;pub use session_task::TASK_KIND_SUBAGENT;pub use session_task::TaskArtifact;pub use session_task::TaskError;pub use session_task::TaskExecutor;pub use session_task::TaskExecutorPlugin;pub use session_task::TaskInputRequest;pub use session_task::TaskLinks;pub use session_task::TaskMessage;pub use session_task::TaskMessageDirection;pub use session_task::TaskMessagePart;pub use session_task::TaskProgress;pub use session_task::TaskSink;pub use session_task::TaskWakePolicy;pub use session_task::apply_task_update;pub use session_task::find_task_executor;pub use skill::ParsedSkillMd;pub use skill::Skill;pub use skill::SkillContent;pub use skill::SkillFileEntry;pub use skill::SkillSourceType;pub use skill::SkillStatus;pub use skill::SkillUsage;pub use skill::SkillValidationResult;pub use skill::parse_skill_md;pub use skill::validate_skill_md;pub use skill::validate_skill_name;pub use task_observer::ObservingTaskRegistry;pub use task_observer::TaskTransition;pub use task_observer::TaskTransitionObserver;pub use wake_queue::PendingWake;pub use wake_queue::SessionWakeQueue;pub use wake_queue::wake_text_for;pub use audit::AgentAction;pub use audit::AuditAction;pub use audit::AuditDomain;pub use audit::AuditEvent;pub use audit::AuditEventBuilder;pub use audit::AuditLogger;pub use audit::AuditTarget;pub use audit::ManagementAction;pub use permissions::Caller;pub use permissions::DefaultPermissionResolver;pub use permissions::Permission;pub use permissions::PermissionResolver;pub use permissions::Policy;pub use permissions::PolicyConfigResponse;pub use permissions::PolicyError;pub use permissions::ResourceConfigResponse;pub use permissions::Rule;pub use permissions::SkillPermissionAction;pub use permissions::SkillPermissionPattern;pub use permissions::SkillPermissionRule;pub use permissions::check_skill_permission;pub use permissions::evaluate_policies;pub use permissions::evaluate_policies_with;pub use permissions::parse_skill_permission_rule;pub use permissions::role_has_permission;pub use permissions::role_permissions;pub use dependency_blocker::DependencyBlocker;pub use dependency_blocker::detect_dependency_blocker;pub use deployment::DeploymentGrade;pub use feature_flags::API_FEATURE_FLAG_DEFINITIONS;pub use feature_flags::FeatureFlagDefinition;pub use feature_flags::FeatureFlagMap;pub use feature_flags::FeatureFlags;pub use feature_flags::InternalFeatureFlags;
Modules§
- agent
- agent_
identity - agent_
trigger - app
- ard_
attachment - Runtime ARD (Agentic Resource Discovery) attachments.
- atoms
- audit
- background
- budget
- capabilities
- Capabilities Module for Agent Loop
- capability_
dto - capability_
types - channel
- command
- command_
host - config
- Shared configuration helpers for Everruns crates.
- config_
layer - connector
- context_
report - credential_
provider - credential_
schema - dependency_
blocker - deployment
- Deployment grade configuration
- driver_
helpers - driver_
registry - egress
- Host-owned outbound network boundary.
- error
- error_
reporter - eval
- event_
listeners - events
- exec_
tool_ result - Shared shaping helpers for human-facing exec tool results.
- feature_
flags - guardrail_
checks - guardrail_
gallery - harness
- hook_
adapter - hook_
dispatch - hook_
executor - in_
memory - in_
memory_ loop - leased_
resource - lifecycle_
hooks - llm_
conversions - Conversions between core agent-loop domain types and the provider driver
types in
everruns-provider. - llm_
error_ hook - llm_
retry - llmsim_
driver - localization
- Backend localization helpers for deterministic platform-authored strings.
- mcp_
proxy - mcp_
server - memory
- message
- message_
filter - Message Filter Abstraction
- message_
retriever - model
- model_
profiles - model_
router - mount_
fs - network_
access - observer
- openai_
protocol - openresponses_
protocol - openresponses_
types - organization
- outline
- output_
guardrail - path_
identity - payment
- Machine payment DTOs and internal execution contract.
- permissions
- platform_
definition - Platform definition for embeddable Everruns deployments.
- platform_
store - plugins
- principal
- progress_
reporting - provider
- reporting
- Backend-neutral reporting contract.
- resource_
names - Shared helpers for naming external resources created from user-visible titles.
- resource_
ownership - runtime_
agent - runtime_
context - session
- session_
file - session_
path - session_
resource - session_
sandbox - Session-owned managed sandbox abstractions.
- session_
schedule - session_
sqldb - session_
task - skill
- stream_
accumulator - stream_
reconnect - system_
allowlist - System-wide outbound allowlist (“green list”).
- task_
observer - telemetry
- tool_
fingerprint - Stable tool call/result fingerprints for recent-window loop detection.
- tool_
narration - Tool narration: backend-authored, human-readable lines for tool calls.
- tool_
output_ sanitizer - tool_
types - tools
- traits
- truncation_
info - turn
- Turn State Machine - Unified Turn Orchestration
- typed_
id - url_
validation - user_
facing_ error - user_
facing_ error_ codes - user_
facing_ error_ metadata_ keys - Message/event metadata keys used to track error disclosure decisions.
- user_
hook_ types - utility_
llm - System utility LLM service.
- vector_
store - Vendor-neutral vector store abstraction for Knowledge Indexes.
- wake_
queue - workspace
- workspace_
roots
Structs§
- Builtin
Tool - Built-in tool configuration
- Client
Side Tool - Client-side tool - executed by the client, not the server The server pauses execution and waits for the client to submit results.
- Compact
Request - Request for the /v1/responses/compact endpoint
- Compact
Response - Response from the /v1/responses/compact endpoint
- Compact
Usage - Token usage from compact response
- Cost
Tier - A pricing tier that activates above a context token threshold. For example, OpenAI charges higher rates for prompts exceeding 200K tokens.
- Credential
Form Schema - Describes the form fields and instructions for entering a credential.
- Discovered
Model - Model information discovered from a provider’s list_models API
- Driver
Descriptor - A registered provider driver: identity, declared services, the credential shape its providers must supply, and per-service factories.
- DriverO
Auth Config - A driver’s declared OAuth connect flow.
- Driver
Registry - Registry for LLM drivers
- Embed
Request - Request to embed a batch of text strings into dense vectors.
- Embed
Response - Response from an embedding request.
- Form
Field - A single form field.
- LlmCall
Config - Configuration for an LLM call
- LlmCall
Config Builder - Builder for LlmCallConfig with fluent API
- LlmCompletion
Metadata - Metadata about LLM completion
- LlmError
- LLM provider error with a semantic kind attached by the driver.
- LlmMessage
- Message format for LLM calls (provider-agnostic)
- LlmResponse
- Response from an LLM call (non-streaming)
- LlmRetry
Config - Configuration for LLM rate limit retry behavior.
- LlmStream
Error - Structured provider error emitted inside an accepted response stream.
- Model
- LLM Model entity
- Model
Cost - Cost information for the model (per million tokens)
- Model
Limits - Token limits for the model
- Model
Modalities - Model modalities for input and output
- Model
Profile - LLM Model Profile describing model capabilities Based on models.dev structure (https://models.dev/api.json)
- Model
With Provider - LLM Model with provider info
- OpenAI
Protocol Chat Driver - OpenAI Protocol Chat Driver
- Open
Responses Protocol Chat Driver - Provider
- LLM Provider entity (API keys never exposed) Note: This is the entity struct, separate from the Provider trait in llm.rs
- Provider
Config - Configuration for creating an LLM provider
- Provider
Trace Config - Configuration for linking from the chat UI to a provider’s observability dashboard (“trace”/“logs”).
- Rate
Limit Info - Rate limit information extracted from provider response headers
- Reasoning
Effort Config - Reasoning effort configuration for a model
- Reasoning
Effort Value - Named reasoning effort value for UI display
- Retry
Metadata - Metadata about retry attempts for observability
- Tool
Call - Tool call from LLM response
- Tool
Hints - Semantic hints describing a tool’s behavioral properties.
- Tool
Result - Tool execution result
- Tool
Result Image - Image data returned by a tool alongside text results.
- TypedId
- A type-safe identifier with a specific prefix
- User
Facing Error - User
Facing Error Context
Enums§
- Agent
Loop Error - Errors that can occur during agent loop execution
- Compact
Content - Content for compact input items
- Compact
Content Part - Content part for compact input
- Compact
Input Item - Input item for compact request
- Compact
Output Item - Output item from compact response
- Deferrable
Policy - Controls whether a tool’s full schema can be deferred (tool_search).
- Driver
Id - LLM provider type identifier.
- DriverO
Auth Flow - Wire flavor of a driver’s interactive OAuth connect flow.
- Embeddings
Driver Error - Error returned by
EmbeddingsDriver::embed. - Error
Disclosure - How much detail about a run-blocking error is shown to session viewers.
- Field
Type - Input field type for rendering.
- File
System Error - Typed
SessionFileSystemerror. Implementors may return this (wrapped inanyhow::Error) soclassify_fs_errorresolves the class without string matching. Each variant carries the human-facing message so the file tools can keep surfacing the same text to the agent. - File
System Error Class - Typed classification of a
SessionFileSystemfailure. - IdParse
Error - Error type for ID parsing failures
- LlmContent
Part - A single content part within a message
- LlmError
Kind - Semantic classification of an LLM provider error, assigned by the driver
at the provider boundary where the HTTP status and response body are still
available. Downstream consumers prefer this over re-parsing error strings;
LlmErrorKind::Otherfalls back to string classification (classify_runtime_error_message) so untyped errors keep working. - LlmMessage
Content - Message content - either a simple string or array of content parts
- LlmMessage
Role - Message role for LLM calls
- LlmStream
Event - Events emitted during LLM streaming
- Modality
- Modality type (text, image, audio, video)
- Model
Source - How the model was added to the system
- Model
Vendor - Vendor / brand that authored a model. Independent of the provider type that serves it (the same model may be offered by several providers or gateways). Primarily drives UI iconography.
- Provider
Status - LLM provider status
- Rate
Limit Type - Type of rate limit that was exceeded
- Reasoning
Effort - Reasoning effort level for models that support it
- Service
Kind - A typed service a provider driver can offer (see specs/providers.md).
- Side
Effect Class - How many times a tool call may safely be executed given the same inputs.
- Tool
Definition - Tool definition in agent configuration
- Tool
Policy - Tool policy determines how tool calls are handled
- UrlValidation
Error - Errors from URL safety validation.
Traits§
- Auth
Header Provider - Pluggable authentication-header provider for OpenAI-compatible drivers.
- Chat
Driver - Trait for LLM drivers
- Embeddings
Driver - Driver trait for text embedding services.
- IdMarker
- Marker trait for typed ID types
- Open
Responses Request Extension - Open Responses Protocol Driver (OpenAI implementation)
- Store
Result Ext - Extension trait that converts any
Result<T, E: Display>intoResult<T, AgentLoopError>viaAgentLoopError::store(e.to_string()).
Functions§
- assemble_
credential_ document - Assemble a submitted credential field map into the single document string that is envelope-encrypted and stored.
- classify_
fs_ error - Classify a
SessionFileSystemfailure into aFileSystemErrorClass. - classify_
runtime_ error_ message - compact_
output_ to_ messages - Convert CompactResponse output to LlmMessages plus any compaction items
- fold_
system_ messages - Fold every
System-role message into a single string, joined in order with blank lines. - from_
json - Deserialize a
serde_json::ValueintoT, falling back toT::default()on error. - get_
model_ profile - Get a model profile by matching provider_type and model_id. Returns None if the id is not in the registry or is not offered under the given provider type.
- get_
model_ vendor - Get the vendor/brand for a model id, or None if it is not in the registry (or not offered under the given provider type).
- is_
blocked_ ip - Check if an IP address is in a blocked range (loopback, private, link-local, CGNAT, documentation, IPv4-mapped IPv6 variants of any of those).
- is_
provider_ quota_ message - Provider quota/billing-exhaustion patterns shared by the string classifier
and the driver-boundary semantic classifier (
LlmErrorKind). - is_
usage_ limit_ message - Subscription/plan usage-limit patterns shared by the string classifier and the transient-retry gate. These recover only at a future reset time (hours away), so unlike an ordinary 429 they must not be retried within the driver backoff window nor collapsed into the “wait a moment” rate-limit copy.
- json_
val - Convert a serializable value to
serde_json::Value, falling back toValue::Nullon error. - messages_
to_ compact_ input - Convert a slice of LlmMessages to CompactInputItems
- parse_
credential_ document - Parse a stored credential document back into a typed field map.
- parse_
usage_ limit_ reset_ at - Extract the absolute reset time (
resets_at, unix seconds) from a usage-limit error body when present. Prefers the absoluteresets_atfield over the relativeresets_in_secondsbecause this classifier is clock-free and callers want a stable timestamp they can render in the viewer’s timezone. - trim_
error_ chain_ prefixes - validate_
safe_ url - Validate a URL is safe for server-side requests (anti-SSRF).
- validate_
url_ dns_ pinned - Validate a URL is safe for server-side requests, including DNS resolution to catch DNS-rebinding attacks (TM-TOOL-018).
Type Aliases§
- AgentId
- Agent ID
- Agent
Identity Id - Agent identity ID
- Agent
Version Id - Immutable Agent Version ID
- AppChannel
Id - App Channel ID
- AppId
- App ID
- Boxed
Chat Driver - Boxed chat driver for dynamic dispatch
- Boxed
Embeddings Driver - Boxed embeddings driver for dynamic dispatch.
- Declarative
Capability Id - Declarative Capability ID
- Driver
Factory - Factory function type for creating chat drivers.
- Embeddings
Driver Factory - Factory function type for creating embeddings drivers.
- Eval
Case Id - Eval Case ID
- EvalId
- Eval ID
- Eval
Result Id - Eval Case Result ID
- Eval
RunId - Eval Run ID
- EventId
- Event ID
- ExecId
- Execution ID
- Harness
Id - Harness ID
- ImageId
- Image ID
- Knowledge
Base Id - Knowledge Base ID (curated org knowledge — see
specs/knowledge-bases.md) - Knowledge
Entry Id - Knowledge Entry ID (entry inside a Knowledge Base)
- Leased
Resource Id - Leased resource ID
- LlmResponse
Stream - Type alias for the LLM response stream
- McpServer
Id - MCP Server ID
- Memory
Id - Memory ID (org-scoped named Memory — see
specs/memory.md) - Message
Id - Message ID
- ModelId
- LLM Model ID
- Notification
Id - Notification ID
- OrgId
- Organization ID
- Payment
Account Id - Payment account ID
- Payment
Attempt Id - Payment attempt ID
- Payment
Policy Id - Payment policy ID
- Plugin
Install Id - Plugin Install ID (see
specs/plugins.md) - Plugin
Marketplace Id - Plugin Marketplace ID (see
specs/plugins.md) - Principal
Id - Principal ID
- Provider
Id - LLM Provider ID
- Result
- Result type alias for agent loop operations
- Schedule
Id - Session Schedule ID
- Session
Id - Session ID
- Session
Participant Id - Session Participant ID
- SkillId
- Skill ID
- Trigger
Id - Agent trigger ID
- TurnId
- Turn ID
- User
Facing Error Fields - Workspace
Id - Workspace ID (org-scoped named Workspace — see
specs/workspace.md)