thirdpass_core/extension/mod.rs
1//! Extension interfaces for package registry integrations.
2//!
3//! Extensions implement [`crate::extension::Extension`] to report supported
4//! registries, discover dependency metadata, and return package artifact
5//! metadata. Extensions can be compiled into a client with
6//! [`crate::extension::FromLib`] or invoked through a process with
7//! [`crate::extension::ProcessExtension`].
8//!
9//! Process-backed extension binaries should call
10//! [`crate::extension::run_command`] from their `main` function to expose the
11//! standard Thirdpass extension subcommands.
12
13mod commands;
14mod common;
15mod process;
16
17pub use commands::run as run_command;
18pub use common::{
19 DependenciesCollection, Dependency, Extension, FileDefinedDependencies, FromLib, FromProcess,
20 PackageDependencies, RegistryPackageMetadata, ReviewTargetPolicy, VersionError,
21 VersionParseResult,
22};
23pub use process::ProcessExtension;