#![cfg_attr(not(test), forbid(unsafe_code))]
#![deny(rustdoc::broken_intra_doc_links)]
pub mod annotation_hook;
pub mod capability_types;
pub mod tool_fingerprint;
use everruns_provider::tool_types;
pub mod hook_adapter;
pub mod hook_executor;
pub mod lifecycle_hooks;
pub mod user_hook_types;
pub mod deployment;
pub mod egress;
pub mod exec_tool_result;
pub mod execution_context;
pub mod execution_snapshot;
pub mod utility_llm;
pub mod execution_features;
pub mod localization;
pub mod telemetry;
pub mod tool_narration;
pub mod event_listeners;
pub mod error_reporter;
use everruns_provider::typed_id;
pub mod background;
pub mod budget;
pub mod agent_definition;
pub mod agent_identity;
pub mod ard_attachment;
pub mod capability_dto;
pub mod events;
pub mod finalized_tool_calls;
pub mod harness_definition;
pub mod leased_resource;
pub mod mcp_proxy;
pub mod mcp_server;
use everruns_provider::model_profiles;
pub mod model_router;
pub mod mount_fs;
pub mod network_access;
pub mod organization;
pub mod payment;
pub mod principal;
use everruns_provider::model_spec;
use everruns_provider::provider;
use everruns_provider::runtime_provider;
pub mod session;
pub mod session_file;
pub mod session_path;
pub mod session_resource;
pub mod session_schedule;
pub mod session_task;
pub mod skill;
pub mod system_allowlist;
pub mod task_observer;
pub mod wake_queue;
pub mod workspace_policy;
pub mod workspace_roots;
pub mod channel;
pub mod permissions;
pub mod progress_reporting;
pub mod resource_names;
pub mod plugins;
pub mod capabilities;
pub mod command;
pub mod command_host;
pub mod compaction_checkpoint;
pub mod compaction_policy;
pub mod config;
pub mod config_layer;
pub mod context_report;
pub mod dependency_blocker;
use everruns_provider::driver_registry;
use everruns_provider::error;
pub mod guardrail_checks;
pub mod guardrail_gallery;
pub mod llm_error_hook;
pub mod llm_conversions;
pub mod message;
pub mod message_filter;
pub mod message_retriever;
mod tool_call_integrity;
pub use tool_call_integrity::{
retain_complete_llm_tool_exchanges, retain_complete_llm_tool_exchanges_for_request,
retain_complete_message_tool_exchanges,
};
pub mod connection_services;
pub mod delegation_services;
pub mod durability;
pub mod event_emitter;
pub mod execution_loading;
pub mod image_services;
pub mod outline;
pub mod output_guardrail;
pub mod path_identity;
pub mod provider_resolution;
pub mod resource_ownership;
pub mod runtime_agent;
pub mod runtime_context;
pub mod session_files;
pub mod session_services;
pub mod subagent_delegation;
pub mod tool_context;
pub mod tool_execution;
pub mod tool_hooks;
pub mod tool_output_sanitizer;
pub mod tools;
pub mod truncation_info;
use everruns_provider::user_facing_error;
#[cfg(test)]
mod test_fixtures;
pub mod turn;
pub mod turn_completion;
pub use command_host::{
CommandHost, CommandTurnContext, DisabledCommandHost, SessionCompletion,
SessionCompletionError, SessionCompletionRequest, SessionCompletionStream,
};
pub use config_layer::{
AgentConfigOverlay, merge_capabilities, merge_initial_files, normalize_initial_file_path,
};
pub use connection_services::UserConnectionResolver;
pub use delegation_services::{SpawnClaimResult, SubagentNestingPolicy, SubagentSpawnStore};
pub use durability::{
DurableToolResultStore, PartialStreamState, PartialStreamStore, StreamHeartbeater,
StreamProgress, ToolCallClaimResult,
};
pub(crate) use error::{AgentLoopError, Result};
pub use event_emitter::EventEmitter;
pub use execution_loading::{HarnessStore, SessionStore};
pub use execution_snapshot::{ResolvedExecutionSnapshot, SnapshotMcpServer};
pub use image_services::{ImageResolver, ResolvedImage};
pub use llm_error_hook::{
LlmErrorContext, LlmErrorHook, LlmErrorHookOutcome, LlmErrorHookServices,
};
pub use message::{
AnnotationSource, ContentPart, ContentType, Controls, ExternalActor, ImageContentPart,
ImageFileContentPart, InputContentPart, Message, MessageRole, ReasoningConfig, TextAnnotation,
TextContentPart, ToolCallContentPart, ToolResultContentPart, VerificationStatus,
VerificationVerdict,
};
pub use message_filter::{
ExcludedNoticeTransform, FilterContext, InjectedMessage, InjectionPosition, MessageFilter,
MessageFilterProvider, MessageQuery, PrependTransform,
};
pub use message_retriever::{InputMessage, MessageHistory, MessageRetriever};
pub use mount_fs::{DisplayPolicy, MountFs, WORKSPACE_MOUNT, scoped_prompt_file_store};
pub use provider_resolution::ProviderStore;
pub use runtime_agent::{RuntimeAgent, RuntimeAgentBuilder};
pub use runtime_context::{
AssembledTurnContext, ResolvedModelExecution, ResolvedRuntimeCapabilities,
ResolvedTurnContextInput, TurnContextRequest, TurnContextResolver,
assemble_resolved_turn_context, resolve_runtime_capabilities, resolve_snapshot_capabilities,
};
pub use session_files::{SessionFileSystem, WorkspaceScopedFileSystem};
pub use session_services::{
KeyInfo, LeasedResourceStore, SecretInfo, SessionResourceRegistry, SessionStorageStore,
};
pub use tool_context::{ReasoningEffortHandle, ToolContext};
pub use tool_execution::{OutboundToolRateLimiter, ToolExecutor};
pub(crate) use user_facing_error::ErrorDisclosure;
pub use workspace_policy::{WorkspacePolicy, WorkspacePolicyBuilder, WorkspacePolicyError};
pub use workspace_roots::{
ADDITIONAL_ROOTS_MOUNT, PRIMARY_WORKSPACE_ROOT_NAME, RelPath, ResolvedPath, WorkspaceRoot,
WorkspaceRootSet,
};
pub use channel::{
ChannelDeliveryAdapter, ChannelReplyMode, DeliveryContext as ChannelDeliveryContext,
DeliveryResult as ChannelDeliveryResult, InboundAttachment, InboundChannelEvent,
OutboundChannelMessage, Participant, SessionRoutingStrategy, ThreadContext,
};
pub use resource_ownership::{
LEASED_RESOURCE_EXTERNAL_ID_KEY, LEASED_RESOURCE_ID_KEY, LEASED_RESOURCE_PROVIDER_KEY,
LEASED_RESOURCE_TYPE_KEY, list_owned_external_resource_ids,
ownership_tracking_unavailable_error, require_owned_external_resource,
resource_not_owned_error, verify_owned_external_resource_if_available,
};
pub use subagent_delegation::{
PlatformCreateSessionRequest, PlatformMessage, SubagentSessionDelegate,
};
pub use background::{
BackgroundEventSink, BackgroundExecutableTool, BackgroundOutcome, BackgroundProgress,
};
pub use event_listeners::{EventListener, NoopEventListener};
pub use error_reporter::{
ErrorReport, ErrorReporter, ErrorScope, ErrorSeverity, NoopErrorReporter, SharedErrorReporter,
};
pub use egress::{
DisabledEgressService, EgressByteStream, EgressError, EgressRequest, EgressRequestKind,
EgressResponse, EgressResult, EgressService, EgressSigning, EgressStreamResponse,
};
pub use system_allowlist::{AllowGroup, SYSTEM_ALLOWLIST_ENABLED_ENV, SystemAllowlist};
pub use utility_llm::{
DisabledUtilityLlmService, UTILITY_LLM_MODEL, UtilityLlmReasoningEffort, UtilityLlmRequest,
UtilityLlmService,
};
pub(crate) use driver_registry::{
LlmCallConfig, LlmMessage, LlmMessageRole, LlmResponse, LlmResponseStream,
ProviderOpaqueContext,
};
#[cfg(test)]
pub(crate) use everruns_provider::compact::CompactOutputItem;
pub use tools::{Tool, ToolExecutionResult, ToolInternalError, ToolRegistry, ToolRegistryBuilder};
pub use capabilities::SystemPromptContext;
pub use capabilities::{
AgentBlueprint, AppliedCapabilities, BlueprintModel, Capability, CapabilityRegistry,
CapabilityRegistryBuilder, CapabilityStatus, CollectedCapabilities,
DECLARATIVE_CAPABILITY_PREFIX, DependencyError, IntegrationPlugin, MAX_RESOLVED_CAPABILITIES,
MountAccess, MountDirectoryBuilder, MountEntry, MountPoint, MountSource, ResolvedCapabilities,
RiskLevel, ToolCallHook, ToolDefinitionHook, apply_capabilities, collect_capabilities,
collect_capabilities_with_configs, compute_features, declarative_capability_id,
declarative_capability_info, get_dependencies, hydrate_declarative_capability_config,
hydrate_plugin_capability_config, is_declarative_capability, parse_declarative_capability_id,
plugin_capability_info, resolve_dependencies, validate_declarative_capability_definition,
};
pub use capabilities::{
DeclarativeCapabilityDefinition, DeclarativeCapabilityFile, DeclarativeCapabilitySkill,
};
pub use capabilities::{
SKILL_CAPABILITY_PREFIX, SKILLS_DISCOVERY_PATH, SkillCapabilityIdExt, SkillContribution,
SkillInstructions, SkillMeta, SkillSource, discover_skills_from_entries, is_skill_capability,
parse_skill_capability_id, reconstruct_skill_md, skill_capability_id,
};
pub use compaction_checkpoint::{
COMPACTION_CHECKPOINT_FORMAT_VERSION, CompactionCheckpoint, CompactionCheckpointPayload,
CompactionCheckpointStore, ProactiveCompactionAttempt, ProactiveCompactionAttemptTracker,
};
pub use execution_context::ExecutionContext;
pub(crate) use tool_types::ToolDefinition;
#[cfg(test)]
pub(crate) use tool_types::{BuiltinTool, ToolCall};
pub(crate) use everruns_capability::CapabilityRef as AgentCapabilityConfig;
pub use agent_definition::AgentDefinition;
pub use agent_identity::{AgentIdentity, AgentIdentityStatus};
pub use ard_attachment::{
ARD_ATTACHMENT_KV_PREFIX, ARD_ATTACHMENT_RESOURCE_KIND, ARD_DISCOVERY_KV_PREFIX, ArdAttachment,
ArdAttachmentTarget, apply_session_attachments, attachment_kv_key, load_session_attachments,
merge_attachment_into_session, urn_slug,
};
pub use capability_dto::{AgentCapability, CapabilityInfo};
pub use compaction_policy::{
CompactionPolicy, CompactionSettings, CompactionStrategy as PolicyCompactionStrategy,
ObservationMaskingResult as PolicyObservationMaskingResult,
};
pub use context_report::{
ContextReportContribution, ContextReportSection, SessionContextReport,
build_session_context_report, build_session_context_report_from_generation,
};
pub use events::{
ACT_COMPLETED, ACT_STARTED, ActCompletedData, ActStartedData, CONTEXT_COMPACTED,
CONTEXT_COMPACTING, CompactionReason, CompactionStepData, ContextCompactedData,
ContextCompactingData, Event, EventBuilder, EventContext, EventData, EventRequest,
FILE_WRITTEN, FileWrittenData, INPUT_MESSAGE, InputMessageData, LLM_GENERATION,
LlmCompactionInfo, LlmGenerationData, LlmGenerationMetadata, LlmGenerationOutput, LlmRetryInfo,
ModelMetadata, OUTPUT_MESSAGE_COMPLETED, OUTPUT_MESSAGE_DELTA, OUTPUT_MESSAGE_REPLACED,
OUTPUT_MESSAGE_STARTED, OutputMessageCompletedData, OutputMessageDeltaData,
OutputMessageReplacedData, OutputMessageStartedData, REASON_COMPLETED, REASON_ITEM,
REASON_RECOVERED, REASON_STARTED, REASON_THINKING_COMPLETED, REASON_THINKING_DELTA,
REASON_THINKING_STARTED, ReasonCompletedData, ReasonItemData, ReasonRecoveredData,
ReasonStartedData, ReasonThinkingCompletedData, ReasonThinkingDeltaData,
ReasonThinkingStartedData, RecoveryMode, SESSION_ACTIVATED, SESSION_IDLED, SESSION_STARTED,
SESSION_TITLE_UPDATED, SessionActivatedData, SessionIdledData, SessionStartedData,
SessionTitleUpdatedData, TOOL_CALL_REQUESTED, TOOL_COMPLETED, TOOL_OUTPUT_DELTA, TOOL_PROGRESS,
TOOL_STARTED, TURN_CANCELLED, TURN_COMPLETED, TURN_FAILED, TURN_SEALED, TURN_STARTED,
TokenUsage, ToolCallRequestedData, ToolCallSummary, ToolCompletedData, ToolOutputDeltaData,
ToolProgressData, ToolStartedData, TurnCancelledData, TurnCompletedData, TurnFailedData,
TurnSealedData, TurnStartedData, VALID_EVENT_TYPES,
};
pub use finalized_tool_calls::{FinalizedToolCallsContext, FinalizedToolCallsHook};
pub use guardrail_checks::{
CompiledJudgeCheck, GuardrailAction, GuardrailHit, GuardrailMode, GuardrailOnFail,
GuardrailRule, GuardrailStage, GuardrailsConfig, MAX_JUDGE_PROMPT_LEN,
};
pub use guardrail_gallery::{
DataEgress, GuardrailGalleryItem, find_guardrail_gallery_item, guardrail_gallery,
};
pub use harness_definition::HarnessDefinition;
pub use leased_resource::{
LEASED_RESOURCES_FEATURE, LeasedResource, LeasedResourceStatus, UpsertLeasedResource,
};
pub use mcp_proxy::{McpProxyTool, McpToolInvoker, ScopedMcpToolInvoker, build_mcp_proxy_tools};
pub use mcp_server::{
MCP_PROTOCOL_VERSION_2025_03, MCP_PROTOCOL_VERSION_2025_06, MCP_PROTOCOL_VERSION_2026_07,
McpContent, McpError, McpProtocolMode, McpSecretBindingMetadata, McpServer, McpServerAuthMode,
McpServerStatus, McpServerTransportType, McpToolAnnotations, McpToolCallParams,
McpToolCallRequest, McpToolCallResponse, McpToolCallResult, McpToolDefinition,
McpToolsListRequest, McpToolsListResponse, McpToolsListResult, ScopedMcpServer,
ScopedMcpServers, apply_mcp_secret_binding_schemas, is_mcp_tool,
mcp_oauth_provider_id_for_uuid, mcp_oauth_session_secret_name, mcp_tool_name,
merge_scoped_mcp_servers, normalize_mcp_error_code, parse_mcp_tool_name,
sanitize_mcp_server_name, scoped_mcp_servers_is_empty,
};
pub use organization::{
DEFAULT_ORG_ID, DEFAULT_ORG_PUBLIC_ID, OrgRole, org_public_id_from_internal,
};
pub use payment::{MachinePaymentRequest, MachinePaymentResponse, PaymentMethod, PaymentRail};
pub use principal::{PrincipalKind, PrincipalSummary};
pub(crate) use runtime_provider::ProviderKey;
pub use session::{ExecutionSession, SessionExecutionState, SessionSeedMode, SubagentStatus};
pub use session_file::{
FileInfo, FileStat, GREP_MAX_CONTEXT_LINES, GREP_MAX_RETURN_BYTES, GrepContextBlock,
GrepContextLine, GrepMatch, GrepOptions, GrepResult, GrepSearchResult, InitialFile,
SessionFile,
};
pub use session_resource::{
RegisterSessionResource, SessionResourceEntry, SessionResourceFilter, SessionResourceStatus,
};
pub use session_task::{
CreateSessionTask, NewTaskMessage, SessionTask, SessionTaskFilter, SessionTaskRegistry,
SessionTaskState, SessionTaskUpdate, TASK_KIND_AGENT_HANDOFF, TASK_KIND_BACKGROUND_TOOL,
TASK_KIND_EXTERNAL_AGENT, TASK_KIND_MONITOR, TASK_KIND_SESSION, TASK_KIND_SUBAGENT,
TaskArtifact, TaskError, TaskExecutor, TaskExecutorPlugin, TaskInputRequest, TaskLinks,
TaskMessage, TaskMessageDirection, TaskMessagePart, TaskProgress, TaskSink, TaskWakePolicy,
apply_task_update, find_task_executor,
};
pub use skill::{
ParsedSkillMd, Skill, SkillContent, SkillFileEntry, SkillSourceType, SkillStatus, SkillUsage,
SkillValidationResult, parse_skill_md, validate_skill_md, validate_skill_name,
};
pub use task_observer::{ObservingTaskRegistry, TaskTransition, TaskTransitionObserver};
pub(crate) use typed_id::{AgentId, HarnessId};
pub use wake_queue::{PendingWake, SessionWakeQueue, wake_text_for};
pub use permissions::{
Caller, DefaultPermissionResolver, Permission, PermissionResolver, Policy,
PolicyConfigResponse, PolicyError, ResourceConfigResponse, Rule, SkillPermissionAction,
SkillPermissionPattern, SkillPermissionRule, check_skill_permission, evaluate_policies,
evaluate_policies_with, parse_skill_permission_rule, role_has_permission, role_permissions,
};
pub use dependency_blocker::DependencyBlocker;
pub use deployment::DeploymentGrade;
pub use execution_features::{ExecutionFeatureDecisions, InternalFeatureFlags};