#![forbid(unsafe_op_in_unsafe_fn)]
mod invoke;
mod loader;
mod manifest;
mod registry;
pub use invoke::{
CandidateKeySpan, CandidatePlan, HashComponent, InvocationLimits, NormalizedPredicateArgument,
PlannerPlanIdentity, PlannerSupportOutcome, PluginInvocationError,
};
#[cfg(any(test, feature = "test-hooks"))]
#[doc(hidden)]
pub use loader::registry_from_test_descriptor;
pub use loader::{
load_plugin_registry, plugin_loader_metrics, PluginHostError, PluginLoaderMetricsSnapshot,
};
pub use manifest::{
PluginHostConfig, PluginPackageManifest, MANIFEST_FORMAT, MAXIMUM_REQUIRED_GLIBC,
OFFICIAL_BUILD_IMAGE, PLUGIN_MANIFEST_FILE, SUPPORTED_TARGET,
};
pub use registry::{
derive_object_id, DatabasePluginAdmission, ObjectId, ObjectKind, ObjectRequirement,
PackageRequirement, PluginRegistry, PluginRegistryStatus, RegisteredBinding,
RegisteredExternalType, RegisteredFunction, RegisteredOperator, RegisteredOperatorClass,
RegisteredPackage, RegisteredPlannerSupport, RegisteredTypeRef, RequirementIssue,
};
pub const EXTERNAL_STORAGE_FIXED: u16 = radixdb_plugin_abi::RADIX_EXTERNAL_STORAGE_FIXED;
pub const EXTERNAL_STORAGE_VARIABLE: u16 = radixdb_plugin_abi::RADIX_EXTERNAL_STORAGE_VARIABLE;