#![deny(unsafe_code)]
pub(crate) mod a2a;
pub(crate) mod agent;
#[cfg(feature = "alloc-bench")]
pub mod alloc_bench;
pub mod artifact;
pub mod artifact_config;
pub mod bindings;
pub(crate) mod cancel;
pub(crate) mod cgroup;
pub mod child_launch;
pub mod containment;
pub(crate) mod conversation;
pub(crate) mod conversation_import;
pub mod delegation;
pub mod delegation_plane;
pub mod detached;
pub(crate) mod detached_reconcile;
pub(crate) mod credential_gateway;
pub mod diagnostic;
pub(crate) mod dns_resolver;
pub(crate) mod egress_proxy;
pub mod errors;
pub(crate) mod fence;
pub(crate) mod gateway_credential;
pub(crate) mod harness_session;
pub(crate) mod hooks;
pub(crate) mod http_client;
pub(crate) mod identity;
pub(crate) mod inference_import;
pub mod lanes;
pub mod limits;
pub mod mac_token;
pub mod murmur_home;
pub(crate) mod murmur_md;
pub mod network_namespace;
pub(crate) mod network_policy;
pub mod origin;
pub(crate) mod otel;
pub(crate) mod outgoing;
pub mod peer_handoff;
pub mod plan;
pub mod process_driver;
pub(crate) mod protected_paths;
pub(crate) mod reachability;
pub(crate) mod recipes;
pub mod registration;
pub mod resource_plane;
pub mod resources;
pub mod retention;
pub mod running;
pub mod runtime;
pub(crate) mod sandbox;
pub mod sealed;
pub mod security;
pub(crate) mod shell;
pub mod spawn_credential;
pub mod spawn_envelope;
pub(crate) mod spend;
pub mod staged_runtime;
pub mod state_store;
pub(crate) mod streaming;
pub(crate) mod task_io_import;
pub(crate) mod tokens_import;
pub(crate) mod tool_annotations;
pub(crate) mod trace;
pub(crate) mod trace_blobs;
pub mod types;
pub mod workdir_writes;
pub use artifact_config::{
configured_artifact_names, lower_artifact_config, ARTIFACT_CONFIG_ENV,
MAX_ARTIFACT_CONFIG_BYTES,
};
pub use containment::{
check_containment_floor, containment_shortfall_reason, detect_achieved_containment,
detect_sealed_blocker, detect_userns_grant, explain_scope, read_only_advisory_for,
render_read_only, ExportsFilesReport, FilesystemBoundaryReport, FilesystemRestriction,
PreopenReport, PreopenSurface, ScopeReport, StateStoreReport,
};
pub use diagnostic::{diagnostic_workdir, set_diagnostic_workdir, Emitted};
pub use network_namespace::{
check_egress_namespace, detect_egress_namespace_blocker, skip_without_egress_namespace,
EgressNamespaceBlocker,
};
pub use network_policy::preopen_reports;
pub use sandbox::{find_on_path, HostProbe};
pub use sealed::{
classify_installed_profile, classify_profile_attachment, inspect_installed_profile,
inspect_profile_attachment, InstalledProfileState, ProfileAttachment, SealedBlocker,
UsernsGrant, SEALED_APPARMOR_ATTACHMENT_PATHS, SEALED_APPARMOR_PROFILE_PATH,
SEALED_APPARMOR_PROFILE_SHA256,
};
pub use cgroup::{
cgroup_delegation_available, io_max_device_available, probe_io_max, requires_process_bounding,
skip_without_host_support, IoMaxReport, IoMaxStatus,
};
pub use child_launch::{
child_workdir_for, launch_child_capsule, ChildLaunchRequest, LaunchedChild, MUR_BINARY_ENV,
};
pub use delegation::{CompletionAddress, Spawner, SpawnerHandle};
pub use delegation_plane::{
DelegationLaunch, DelegationOrigin, DelegationPlane, DelegationRequest, DelegationResult,
DELEGATION_RESULT_TIMEOUT, DELEGATION_TIMEOUT_ENV,
};
pub use errors::{RuntimeError, UnreachableEntrypoint};
pub use lanes::TaskLane;
pub use limits::ExecutionLimits;
pub use murmur_artifact::{AfterTask, LifecycleConfig, LifecycleOverride, TaskAcceptance};
pub use origin::{TaskOrigin, TaskProvenance, TrustClass, PEER_ORIGIN_HEADER, PEER_TRUST_HEADER};
pub use peer_handoff::{
audience_from_card, handle_id, handle_peer_request, is_peer_path, mint, stored_path_for,
verify, HandleError, HandlePayload, MintedHandle, PeerError, PeerMintKey, PeerPlane,
AUDIENCE_HEADER, HANDLE_ID_HEADER, PEER_INBOX_DIR, PEER_PATH_PREFIX,
};
pub use reachability::{
check_interpreted_entrypoints_reachable, warn_on_unreachable_toolchain_helpers,
ToolchainHelperReport, ToolchainHelperWarning, UnprobedToolchainDriver,
};
pub use registration::{check_roost_health, deregister_session, register_session, SessionOutcome};
pub use resource_plane::{
check_export_root, check_peer_files_root, handle_resource_request, reason_phrase,
symlink_policy, DeclaredExport, ListEntry, ListResponse, ReadResponse, ResourceError,
ResourcePlane, ResourceResponse, SymlinkPolicy, RESOURCE_PATH_PREFIX,
};
pub use resources::HostResourceLimits;
pub use retention::{
list_records, locate_message, prune_records, prune_sessions, remove_record, truncate_record,
MessageLocation, MessageStatus, PrunedRecord, PrunedSession, RecordHeader, RecordSummary,
RemovedRecord, TruncationMarker, TruncationOutcome,
};
pub use running::{Liveness, ProcessState, RunningGuard, RunningRecord, SignalOutcome};
pub use runtime::{
check_env_allow_reaches_guests, check_no_reserved_tool_names, launch_session,
launch_session_handling_sigterm, secret_shaped_env_grants, stage_session,
stripped_env_allow_entries, warn_on_gateway_endpoint_in_network_allow,
warn_on_interpreter_runtime_grants, warn_on_launch_only_gateway_credential,
warn_on_secret_shaped_env_grants, warn_on_unmetered_gateways,
warn_on_userns_restriction_disabled_host_wide, warn_on_workdir_exec, SecretShapedEnvGrant,
StrippedEnvAllowEntry,
};
pub use shell::{
credential_backstop_drops, credential_backstop_match, BackstopMatch, BackstopPatternSource,
};
pub use spawn_credential::{
SpawnApproval, SpawnCredential, SPAWN_APPROVAL_HEADER, SPAWN_CREDENTIAL_HEADER,
};
pub use spawn_envelope::{EnvelopeAxis, EnvelopeViolation, SpawnEnvelope};
pub use staged_runtime::check_staged_runtime_floor;
pub use state_store::{
ensure_state_store, state_store_reports, validate_store_name, STATE_PREOPEN_NAME,
};
pub use trace::{PlanTraceAppender, ResourceTraceAppender};
pub use types::{
capability_policy_from_runtime_manifest, ArtifactRequest, CapabilityPolicy,
InstalledArtifactSummary, LaunchResult, LockExpectation, ResolvedLockArtifact, ResumeMode,
ResumeRequest, StageRequest, StagedSession,
};
pub use workdir_writes::{
render_runtime_writes, RuntimeWriteCondition, RuntimeWriteKind, RuntimeWriteReport,
RuntimeWriteScope, SESSION_ID_PLACEHOLDER,
};