#![forbid(unsafe_code)]
pub mod artifact;
pub mod artifact_ref;
pub mod build;
pub mod build_lints;
pub mod dotenv;
pub mod install_pattern;
pub mod lockfile;
pub mod manifest;
pub mod manifest_path;
pub mod payload_shape;
pub mod platform;
pub mod registry;
pub mod registry_warnings;
pub mod runtime_manifest;
pub mod runtime_warnings;
pub mod secrets;
pub mod security_warnings;
pub mod trace_capture;
pub mod unknown_manifest_keys;
pub mod wit_contract;
pub mod zip_guard;
pub use artifact::{
declared_runtime_from_artifact_bytes, load_manifest_from_artifact,
load_manifest_from_artifact_bytes, load_manifest_yaml_from_artifact,
load_manifest_yaml_from_artifact_bytes, ArtifactError, DeclaredRuntime,
};
pub use artifact_ref::{ArtifactRef, ArtifactRefError};
pub use build::{
artifact_name_format_error, build_artifact, BuildError, MAX_ARTIFACT_NAME_LEN,
PACKED_MANIFEST_ENTRY,
};
pub use build_lints::{
build_warning_link, lint_build_warnings, BuildWarning, RESERVED_ROOT_ENTRIES, W_BLD_001,
W_BLD_002, W_BLD_003,
};
pub use dotenv::{dotenv_variable_names, load_dotenv_non_override, DotenvError};
pub use lockfile::{
read_lockfile, write_lockfile_atomic, LockOrigin, LockedArtifact, LockedSha256, LockfileError,
MurmurLock, LOCK_VERSION,
};
pub use manifest::{
load_manifest, parse_upstream_auth, refuse_retired_auth_block, Manifest, ManifestError,
UpstreamAuth, RETIRED_AUTH_BLOCK, UPSTREAM_AUTH_KEY_PLACEHOLDER,
};
pub use manifest_path::{resolve_manifest_path, MANIFEST_FILENAME};
pub use payload_shape::{
is_root_wasm_candidate, native_binary_entry, root_wasm_candidates, select_root_wasm,
select_root_wasm_from_entries, select_root_wasm_in_archive, PayloadShapeError,
CAPSULE_WASM_ENTRY, NATIVE_BIN_DIR, SKILL_MD_ENTRY, WASM_EXTENSION,
};
pub use platform::{
binary_platform, current_platform, native_binary_verdict, split_platform_suffix,
split_platform_tag, NativeBinaryVerdict, DARWIN_ANY_ARCH, SUPPORTED_PLATFORMS,
};
pub use registry::{
is_reserved_version, sha256_hex, sha256_hex_of_reader, verify_sha256, ArtifactMeta,
LocalRegistry, Platform, PlatformMatch, PublishResult, Registry, RegistryError,
ResolvedArtifact, RuntimeType, RESERVED_VERSIONS,
};
pub use registry_warnings::{registry_warning_link, W_REG_001, W_REG_002};
pub use runtime_manifest::{
commit_policy_for_binding, effective_containment_floor, load_runtime_manifest, parse_byte_size,
parse_duration_secs, parse_hook_config_from_yaml, parse_tool_implementation_from_yaml,
read_hook_config, read_runtime_manifest_text, read_tool_implementation,
referenced_env_variables, AfterTask, ApiKeyReference, ArtifactGateway, ArtifactImplementation,
ArtifactRuntime, AuthenticationScheme, Capabilities, CompactionConfig, ContainmentClass,
ContextConfig, ContextRetainConfig, ControlConfig, ControllableSetting,
ConversationCapabilities, ConversationMode, DoorCredential, EnvCapabilities, EvalConfig,
ExportMode, Exports, FileExport, FilesystemCapabilities, HookBinding, HookCommitPolicy,
HookConfig, HookExecutionMode, HookOverflowPolicy, InferenceAlternate, InferenceConfig,
InferenceDriver, InstallCapabilities, InterpreterRuntimeDir, InterpreterRuntimeGrant,
LifecycleConfig, LifecycleOverride, NetworkAuthentication, NetworkCapabilities, NetworkConfig,
ObservabilityConfig, ParseContainmentClassError, PeerFetchCapabilities, PeerFilesExport,
PlanCapabilities, ReferencedEnvVariable, ResourceCapabilities, ResourceLimits, RuntimeArtifact,
RuntimeManifest, RuntimeManifestError, ScorerConfig, ShellCapabilities, StagedRuntimeGrant,
StateCapabilities, TaskAcceptance, TaskIoCapabilities, ToolRefresh, TraceConfig,
TraceRetainConfig, BYTE_SIZE_ACCEPTED_FORM, DEFAULT_EXPORT_MAX_BYTES,
DEFAULT_PEER_FILES_MAX_BYTES, DEFAULT_PEER_HANDLE_TTL_SECS, DEFAULT_SEED_BUDGET,
DEFAULT_SEED_OVERFLOW_MARGIN, DOOR_SCOPES, DURATION_ACCEPTED_FORM, OPERATOR_CREDENTIAL,
PEER_FETCH_ALLOW_ACCEPTED_FORM, PERSISTENT_PEER_HANDLE_TTL_CEILING_SECS, PRIMARY_DRIVER_CHOICE,
};
pub use runtime_warnings::{runtime_warning_link, W_RUN_001, W_RUN_002, W_RUN_003};
pub use secrets::{
is_credential_shaped_env_name, is_secret_shaped_name, scan_yaml_secrets, SecretWarning,
};
pub use security_warnings::{
security_warning_link, W_SEC_001, W_SEC_002, W_SEC_003, W_SEC_004, W_SEC_005, W_SEC_006,
W_SEC_007, W_SEC_008, W_SEC_009, W_SEC_010, W_SEC_011, W_SEC_012, W_SEC_013, W_SEC_014,
W_SEC_015, W_SEC_016, W_SEC_017, W_SEC_018, W_SEC_019, W_SEC_020, W_SEC_021, W_SEC_022,
W_SEC_023, W_SEC_024, W_SEC_025, W_SEC_027, W_SEC_028, W_SEC_029, W_SEC_030, W_SEC_031,
W_SEC_032,
};
pub use trace_capture::{
resolve_trace_capture, ParseTraceCaptureError, TraceCapture, TRACE_CAPTURE_ACCEPTED_VALUES,
};
pub use unknown_manifest_keys::{
nearest_known_key, suggestion_threshold, unknown_manifest_key_warnings,
warn_on_unknown_manifest_keys, UnknownManifestKey,
};
pub use wit_contract::{
extract_wit_contracts, wit_contracts_from_artifact_bytes, WitContractError, WitContracts,
};
pub use zip_guard::{
max_artifact_decompressed_bytes, read_zip_entry_capped, read_zip_entry_to_string_capped,
resolve_within, sanitize_entry_path, ZipGuardError, DEFAULT_MAX_ARTIFACT_DECOMPRESSED_BYTES,
MAX_ARTIFACT_DECOMPRESSED_BYTES_ENV,
};