Expand description
Shared contracts for the Everruns framework and hosts.
Provider and driver boundaries, capability definitions, model profiles,
typed IDs, and shared runtime contracts live here. The default build omits
HTTP transport; enable http for the shared protocol drivers and clients.
Application authors normally use the same types through everruns.
use everruns_contracts::{CapabilityRef, ModelSpec};
let model = ModelSpec::on("company-gateway", "assistant-v2");
let capability = CapabilityRef::new("vendor.search");
assert_eq!(model.provider.as_str(), "company-gateway");
assert_eq!(capability.id(), "vendor.search");Re-exportsยง
pub use capability::ActivationSet;pub use capability::CapabilityError;pub use capability::CapabilityId;pub use capability::CapabilityIdIndex;pub use capability::CapabilityRef;pub use capability::CapabilitySpec;pub use capability::CapabilitySpecParts;pub use capability::GENERIC_HARNESS_NAME;pub use capability::IntoCapability;pub use capability::PLUGIN_CAPABILITY_PREFIX;pub use capability::RESERVED_CAPABILITY_ID_NAMESPACE;pub use capability::generic_capabilities;pub use capability::is_plugin_capability;pub use capability::parse_plugin_capability_id;pub use capability::plugin_capability_id;pub use capability::validate_capability_config;pub use capability::validate_capability_id;pub use capability::Definition;pub use capability::json_schema_for;pub use compact::CompactContent;pub use compact::CompactContentPart;pub use compact::CompactInputItem;pub use compact::CompactOutputItem;pub use compact::CompactRequest;pub use compact::CompactResponse;pub use compact::CompactUsage;pub use compact::messages_to_compact_input;pub use credential_provider::CredentialProvider;pub use credential_provider::EnvCredentialProvider;pub use credential_provider::ProviderCredentials;pub use credential_schema::CredentialFormSchema;pub use credential_schema::assemble_credential_document;pub use credential_schema::parse_credential_document;pub use driver_registry::BoxedChatDriver;pub use driver_registry::BoxedEmbeddingsDriver;pub use driver_registry::ChatDriver;pub use driver_registry::DiscoveredModel;pub use driver_registry::DriverDescriptor;pub use driver_registry::DriverFactory;pub use driver_registry::DriverId;pub use driver_registry::DriverOAuthConfig;pub use driver_registry::DriverOAuthFlow;pub use driver_registry::DriverRegistry;pub use driver_registry::EmbedRequest;pub use driver_registry::EmbedResponse;pub use driver_registry::EmbeddingsDriver;pub use driver_registry::EmbeddingsDriverError;pub use driver_registry::EmbeddingsDriverFactory;pub use driver_registry::LlmCallConfig;pub use driver_registry::LlmCallConfigBuilder;pub use driver_registry::LlmCompletionMetadata;pub use driver_registry::LlmContentPart;pub use driver_registry::LlmResponse;pub use driver_registry::LlmResponseStream;pub use driver_registry::LlmStreamError;pub use driver_registry::LlmStreamEvent;pub use driver_registry::Message;pub use driver_registry::MessageContent;pub use driver_registry::MessageRole;pub use driver_registry::ProviderConfig;pub use driver_registry::ProviderMetadata;pub use driver_registry::ProviderOpaqueContext;pub use driver_registry::ServiceKind;pub use driver_registry::fold_system_messages;pub use error::AgentLoopError;pub use error::BillingPressureReason;pub use error::FileSystemError;pub use error::FileSystemErrorClass;pub use error::LlmError;pub use error::LlmErrorKind;pub use error::Result;pub use error::StoreResultExt;pub use error::classify_fs_error;pub use error::from_json;pub use error::json_val;pub use execution_phase::ExecutionPhase;pub use execution_phase::PhaseSource;pub use llm_error::RejectedProviderCapability;pub use llm_retry::LlmRetryConfig;pub use llm_retry::RateLimitInfo;pub use llm_retry::RateLimitType;pub use llm_retry::RetryMetadata;pub use message::ProviderOpaqueContent;pub use message::LlmMessage;Deprecated pub use message::LlmMessageContent;Deprecated pub use message::LlmMessageRole;Deprecated pub use model::CostTier;pub use model::Modality;pub use model::ModelCost;pub use model::ModelLimits;pub use model::ModelModalities;pub use model::ModelProfile;pub use model::ModelVendor;pub use model::ReasoningEffort;pub use model::ReasoningEffortConfig;pub use model::ReasoningEffortValue;pub use model_discovery::DiscoveredProviderModel;pub use model_discovery::ModelSearchMatch;pub use model_discovery::ModelSearchResult;pub use model_discovery::RankedDiscoveredModels;pub use model_discovery::discover_provider_models;pub use model_discovery::enrich_with_profiles;pub use model_discovery::match_models;pub use model_discovery::normalize_and_enrich;pub use model_discovery::rank_discovered_models;pub use model_discovery::search_provider_models;pub use model_profiles::ModelProfileEntry;pub use model_profiles::all_profile_entries;pub use model_profiles::all_profiles;pub use model_profiles::get_model_profile;pub use model_profiles::get_model_vendor;pub use model_profiles::profile_entries_for_provider;pub use model_profiles::profiles_for_provider;pub use model_profiles::selected_profiles;pub use model_profiles::selected_profiles_for_provider;pub use model_spec::ModelSpec;pub use model_spec::UnknownProvider;pub use openai_wire::OpenAiWireError;pub use provider::ProviderTraceConfig;pub use reasoning::ReasoningContentPart;pub use reasoning::ReasoningText;pub use runtime_provider::BearerAuth;pub use runtime_provider::Provider;pub use runtime_provider::ProviderAuth;pub use runtime_provider::ProviderAuthRequest;pub use runtime_provider::ProviderEndpoint;pub use runtime_provider::ProviderKey;pub use runtime_provider::ProviderRegistry;pub use runtime_provider::ResolvedProviderRequest;pub use runtime_provider::RuntimeProvider;pub use runtime_provider::RuntimeProviderRegistry;pub use runtime_provider::StaticHeaderAuth;pub use tool_approval_types::APPROVE_TOOL_CALL_TOOL;pub use tool_approval_types::TOOL_APPROVAL_CALL_ID_PREFIX;pub use tool_approval_types::TOOL_APPROVAL_REQUIRED_CODE;pub use tool_approval_types::TOOL_ARGUMENTS_PREVIEW_BYTES;pub use tool_approval_types::ToolApprovalRequired;pub use tool_approval_types::preview_tool_arguments;pub use tool_types::ASK_USER_TOOL_NAME;pub use tool_types::BuiltinTool;pub use tool_types::CONFIRM_URL_ELICITATION_TOOL;pub use tool_types::ClientSideTool;pub use tool_types::ConnectionRequired;pub use tool_types::ConnectionRequiredSubject;pub use tool_types::DeferrablePolicy;pub use tool_types::FORM_ELICITATION_CALL_ID_PREFIX;pub use tool_types::FORM_ELICITATION_REQUIRED_CODE;pub use tool_types::FormElicitationRequired;pub use tool_types::MCP_ELICITATION_ARGUMENT;pub use tool_types::SideEffectClass;pub use tool_types::ToolCall;pub use tool_types::ToolDefinition;pub use tool_types::ToolHints;pub use tool_types::ToolPolicy;pub use tool_types::ToolResult;pub use tool_types::ToolResultImage;pub use tool_types::URL_ELICITATION_REQUIRED_CODE;pub use tool_types::UrlElicitationRequired;pub use tool_types::unattended_ask_user_result;pub use turn_collector::CollectedTurn;pub use turn_collector::TurnLimits;pub use turn_collector::TurnTiming;pub use turn_collector::collect_turn;pub use turn_collector::limit_stream;pub use url_validation::UrlValidationError;pub use url_validation::is_blocked_ip;pub use url_validation::validate_safe_url;pub use url_validation::validate_url_dns_pinned;pub use user_facing_error::ErrorDisclosure;pub use user_facing_error::UserFacingError;pub use user_facing_error::UserFacingErrorContext;pub use user_facing_error::UserFacingErrorFields;pub use user_facing_error::classify_runtime_error_message;pub use user_facing_error::codes as user_facing_error_codes;pub use user_facing_error::is_provider_quota_message;pub use user_facing_error::is_usage_limit_message;pub use user_facing_error::metadata_keys as user_facing_error_metadata_keys;pub use user_facing_error::parse_usage_limit_reset_at;pub use user_facing_error::trim_error_chain_prefixes;pub use schemars;pub use serde;pub use serde_json;
Modulesยง
- background_
call - Durable hooks for provider-side background responses (EVE-1134).
- capability
- The neutral Everruns capability contract (EVE-873).
- compact
- Transport-neutral native compaction request and response contracts.
- connector
- credential_
provider - credential_
schema - decision_
driver - Decision drivers: the vendor seam behind
DecisionsService. - decisions
- System decisions.
- driver_
registry - error
- execution_
phase - Execution phase for assistant messages in multi-step tool-calling flows.
- form_
elicitation_ types - Wire types for an MCP serverโs form mode elicitation, as it crosses from the MCP executor to the engine and the answer API.
- hosted_
mcp - Credentials for remote MCP servers OpenAI calls on the agentโs behalf (EVE-1115).
- knowledge_
store - Hosted knowledge retrieval service contracts.
- llm_
error - How a provider failure is classified, and what is preserved of it.
- llm_
retry - llm_
telemetry - Structured logs for LLM edge cases we want to measure before changing.
- message
- The provider-agnostic message a driver sends, and what it is made of.
- model
- Provider-neutral model profile values.
- model_
discovery - Provider model discovery and display ranking.
- model_
profile_ data - Model profile metadata and the offline registry, keyed by provider wire ID. Model identity, capability metadata, and the offline profile registry.
- model_
profiles - model_
spec - Credential-free model selection.
- native_
async - Native asynchronous calls are pending provider exchanges, not background-run handles.
- native_
computer - Native provider computer tools (EVE-1133, computer use phase 2).
- openai_
compat - OpenAI model constraints checked before a request reaches the network.
- openai_
computer - OpenAI Responses
computertool wire mapping (EVE-1133). - openai_
hosted_ tools - OpenAI hosted (provider-executed) tools for the Responses API.
- openai_
wire - The OpenAI chat-completions JSON shapes, as values Everruns can read and write.
- openresponses_
types - provider
- reasoning
- Provider reasoning artifacts.
- reasoning_
updates - Conversation-scoped Astra configuration, distinct from the request baseline.
- rt
- Portable async runtime primitives: time, timers and task spawning.
- runtime_
provider - Runtime providers: service identity, endpoint, authentication, and wire driver.
- sandbox_
checkpoint - Logical sandbox and authoritative workspace-checkpoint contracts.
- secret_
scrub - Value-pattern credential scrubbing shared by every path that publishes
free-form strings: eval/ATIF exports (server) and the executed arguments on
tool.completed(engine). One pattern list, so a new credential shape is covered everywhere at once. - session_
sandbox - Provider-neutral managed session sandbox contracts.
- session_
sqldb - slack_
action - Session-bound Slack effects; credentials stay with the control plane. The seam a Slack-native capability acts through (EVE-1024).
- stream_
accumulator - stream_
event - Stream events and completion metadata every chat driver produces.
- structured_
output - Provider-neutral structured output: ask the model for a reply that validates against a JSON Schema, enforced by the provider rather than by prompting for JSON and hoping.
- tool_
approval_ types - Wire types for a tool call parked on a hard approval gate, as it crosses
from the
tool_approvalcapability to the engine and the answer API. - tool_
schema_ compat - Provider-specific JSON Schema compatibility at the LLM request boundary.
- tool_
types - tools
- Tool outcomes shared by runtimes and provider services.
- turn_
collector - Collecting a provider stream into one finished turn.
- typed_
id - url_
validation - user_
facing_ error - vector_
store - Vendor-neutral vector store abstraction for Knowledge Indexes.