#![allow(unused_imports)]
use crate::*;
pub mod agent_definition;
pub mod annotation_hook;
pub mod background;
pub mod budget;
pub mod capabilities;
pub mod capability_dto;
pub mod capability_mcp_server;
pub mod capability_types;
pub mod channel;
pub mod channel_messaging;
pub mod command;
pub mod command_host;
pub mod compaction_policy;
pub mod computer_use;
pub mod config_layer;
pub mod connection_services;
pub mod decisions;
pub mod delegation_services;
pub mod dependency_blocker;
pub mod deployment;
pub mod egress;
pub mod event_emitter;
pub mod events;
pub mod exec_tool_result;
pub mod execution_context;
pub mod execution_features;
pub mod execution_loading;
pub mod feature_flag_grade;
pub mod finalized_tool_calls;
pub mod harness_definition;
pub mod hook_executor;
pub mod image_services;
pub mod leased_resource;
pub mod llm_error_hook;
pub mod localization;
pub mod mcp_deferred;
pub mod mcp_proxy;
pub mod mcp_server;
pub mod message;
pub mod message_filter;
pub mod message_retriever;
pub mod mount_fs;
pub mod network_access;
pub mod organization;
pub mod outline;
pub mod output_guardrail;
pub mod payment;
pub mod principal;
pub mod resource_names;
pub mod resource_ownership;
pub mod runtime_agent;
pub mod sandbox_context;
pub mod session;
pub mod session_file;
pub mod session_files;
pub mod session_path;
pub mod session_resource;
pub mod session_schedule;
pub mod session_services;
pub mod session_task;
pub mod skill;
pub mod subagent_delegation;
pub mod system_allowlist;
pub mod tool_context;
pub mod tool_execution;
pub mod tool_hooks;
pub mod tool_narration;
pub mod tool_output_sanitizer;
pub mod tools;
pub mod truncation_info;
pub mod user_hook_types;
pub mod utility_llm;
pub use self::agent_definition::AgentDefinition;
pub use self::background::{
BackgroundEventSink, BackgroundExecutableTool, BackgroundOutcome, BackgroundProgress,
};
pub use self::capabilities::SystemPromptContext;
pub use self::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 self::capabilities::{
DeclarativeCapabilityDefinition, DeclarativeCapabilityFile, DeclarativeCapabilitySkill,
};
pub use self::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 self::capability_dto::{AgentCapability, CapabilityInfo};
pub use self::capability_mcp_server::{
CapabilityMcpServer, CapabilityMcpServers, capability_mcp_servers_to_scoped,
};
pub use self::channel::{
ChannelAgentSurface, ChannelDeliveryAdapter, ChannelReplyMode, ChannelStreamDelivery,
ChannelViewContext, DeliveryContext as ChannelDeliveryContext,
DeliveryResult as ChannelDeliveryResult, InboundAttachment, InboundChannelEvent,
OutboundChannelMessage, Participant, SessionBinding, ThreadContext,
};
pub use self::command_host::{
CommandHost, CommandTurnContext, DisabledCommandHost, SessionCompletion,
SessionCompletionError, SessionCompletionRequest, SessionCompletionStream,
};
pub use self::compaction_policy::{
CompactionPolicy, CompactionSettings, CompactionStrategy as PolicyCompactionStrategy,
ObservationMaskingResult as PolicyObservationMaskingResult,
};
pub use self::config_layer::{
AgentConfigOverlay, merge_capabilities, merge_initial_files, normalize_initial_file_path,
};
pub use self::connection_services::{
McpResolvedCredential, ServiceApiKeyConnection, UserConnectionResolver,
};
pub use self::decisions::{
DecisionAnswer, DecisionOutcome, DecisionQuestion, DecisionRequest, DecisionUsage,
DecisionsService, DisabledDecisionsService,
};
pub use self::delegation_services::{SpawnClaimResult, SubagentNestingPolicy, SubagentSpawnStore};
pub use self::dependency_blocker::DependencyBlocker;
pub use self::deployment::DeploymentGrade;
pub use self::egress::{
DisabledEgressService, EgressByteStream, EgressError, EgressRequest, EgressRequestKind,
EgressResponse, EgressResult, EgressService, EgressSigning, EgressStreamResponse,
};
pub use self::event_emitter::EventEmitter;
pub use self::events::{
ACT_COMPLETED, ACT_STARTED, ActCompletedData, ActStartedData, CONTEXT_COMPACTED,
CONTEXT_COMPACTING, CONTEXT_COMPACTION_FAILED, CONTEXT_COMPACTION_SKIPPED, CompactionFailStage,
CompactionReason, CompactionSkipReason, CompactionStepData, CompactionTrigger,
ContextCompactedData, ContextCompactingData, ContextCompactionFailedData,
ContextCompactionSkippedData, Event, EventBuilder, EventContext, EventData, EventRequest,
FILE_WRITTEN, FileWrittenData, INPUT_MESSAGE, InputMessageData, LLM_GENERATION,
LlmCompactionInfo, LlmCostComponent, 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_MODEL_CHANGED, SESSION_STARTED, SESSION_TITLE_UPDATED,
SessionActivatedData, SessionIdledData, SessionModelChangedData, 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 self::execution_context::ExecutionContext;
pub use self::execution_features::{
ExecutionFeatureDecisions, InternalFeatureFlags, feature_flag_available,
};
pub use self::execution_loading::{HarnessStore, SessionStore};
pub use self::feature_flag_grade::{FeatureFlagDefinition, FeatureFlagGrade};
pub use self::finalized_tool_calls::{
FinalizedToolCallRejection, FinalizedToolCallsContext, FinalizedToolCallsHook,
};
pub use self::harness_definition::HarnessDefinition;
pub use self::image_services::{ImageResolver, ResolvedImage};
pub use self::leased_resource::{
LEASED_RESOURCES_FEATURE, LeasedResource, LeasedResourceStatus, UpsertLeasedResource,
};
pub use self::llm_error_hook::{
LlmErrorContext, LlmErrorHook, LlmErrorHookOutcome, LlmErrorHookServices,
};
pub use self::mcp_deferred::{
DEFERRED_MCP_REVEAL_KV_PREFIX, DeferredMcpServerTool, deferred_mcp_server_definition,
deferred_mcp_server_prefix, deferred_mcp_server_tool_name,
normalize_deferred_mcp_server_definition, partition_deferred_mcp_servers,
reveal_deferred_mcp_server, revealed_mcp_servers,
};
pub use self::mcp_proxy::{
McpCallIdentity, McpProxyTool, McpToolInvoker, ScopedMcpToolInvoker, build_mcp_proxy_tools,
};
pub use self::mcp_server::{
MCP_PROTOCOL_VERSION_2025_03, MCP_PROTOCOL_VERSION_2025_06, MCP_PROTOCOL_VERSION_2026_07,
McpConnectInChat, McpContent, McpElicitationPolicy, McpError, McpProtocolMode,
McpSecretBindingMetadata, McpServerActsAs, McpServerAuthMode, McpServerPresetRef,
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 self::message::{
AnnotationSource, ContentPart, ContentType, Controls, ExternalActor, ImageContentPart,
ImageFileContentPart, InputContentPart, ReasoningConfig, RuntimeMessage, RuntimeMessageRole,
TextAnnotation, TextContentPart, ToolCallContentPart, ToolResultContentPart,
VerificationStatus, VerificationVerdict,
};
pub use self::message_filter::{
ExcludedNoticeTransform, FilterContext, InjectedMessage, InjectionPosition, MessageFilter,
MessageFilterProvider, MessageQuery, PrependTransform,
};
pub use self::message_retriever::{InputMessage, MessageHistory, MessageRetriever};
pub use self::mount_fs::{DisplayPolicy, MountFs, WORKSPACE_MOUNT, scoped_prompt_file_store};
pub use self::organization::{
DEFAULT_ORG_ID, DEFAULT_ORG_PUBLIC_ID, OrgRole, org_public_id_from_internal,
};
pub use self::payment::{
MachinePaymentRequest, MachinePaymentResponse, PaymentMethod, PaymentRail,
};
pub use self::principal::{PrincipalKind, PrincipalSummary};
pub use self::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 self::runtime_agent::{RuntimeAgent, RuntimeAgentBuilder};
pub use self::session::{ExecutionSession, SessionExecutionState, SessionSeedMode, SubagentStatus};
pub use self::session_file::{
FileInfo, FileStat, GREP_MAX_CONTEXT_LINES, GREP_MAX_RETURN_BYTES, GrepContextBlock,
GrepContextLine, GrepMatch, GrepOptions, GrepResult, GrepSearchResult, InitialFile,
SessionFile,
};
pub use self::session_files::{
RuntimeArtifactFileSystem, SessionFileSystem, WorkspaceScopedFileSystem,
};
pub use self::session_resource::{
RegisterSessionResource, SessionResourceEntry, SessionResourceFilter, SessionResourceStatus,
};
pub use self::session_services::{
KeyInfo, LeasedResourceStore, SecretInfo, SessionResourceRegistry, SessionStorageStore,
};
pub use self::session_task::{
CreateSessionTask, NewTaskMessage, SessionTask, SessionTaskFilter, SessionTaskRegistry,
SessionTaskState, SessionTaskUpdate, TASK_KIND_AGENT_HANDOFF, TASK_KIND_BACKGROUND_TOOL,
TASK_KIND_EXTERNAL_AG_UI, 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 self::skill::{
ParsedSkillMd, SkillContent, SkillFileEntry, SkillValidationResult, parse_skill_md,
validate_skill_md, validate_skill_name,
};
pub use self::subagent_delegation::{
PlatformCreateSessionRequest, PlatformMessage, SubagentSessionDelegate,
};
pub use self::system_allowlist::{AllowGroup, SYSTEM_ALLOWLIST_ENABLED_ENV, SystemAllowlist};
pub use self::tool_context::{ReasoningEffortHandle, ToolContext};
pub use self::tool_execution::{OutboundToolRateLimiter, ToolExecutor};
pub use self::tools::{
CliSpelling, Tool, ToolExecutionResult, ToolInternalError, ToolRegistry, ToolRegistryBuilder,
};
pub use self::utility_llm::{
DisabledUtilityLlmService, UTILITY_LLM_MODEL, UtilityLlmReasoningEffort, UtilityLlmRequest,
UtilityLlmService,
};
pub(crate) use crate::CapabilityRef as AgentCapabilityConfig;
#[cfg(test)]
pub(crate) use crate::compact::CompactOutputItem;
use crate::driver_registry;
use crate::error;
use crate::model_profiles;
use crate::model_spec;
use crate::provider;
use crate::runtime_provider;
use crate::tool_types;
use crate::typed_id;
use crate::user_facing_error;