winbrew_app\catalog/
mod.rs

1//! Internal catalog facade for package search and installer selection.
2//!
3//! The app crate keeps catalog behavior behind this module so command-facing
4//! code can work with resolved packages instead of raw database queries. The
5//! public-facing command APIs live in `operations`; this module only provides
6//! the catalog-specific plumbing needed by those workflows.
7//!
8//! Responsibilities are split into two focused submodules:
9//!
10//! - `search` resolves package references and interactive package queries.
11//! - `select` chooses the best installer for the current host platform,
12//!   installation scope, and architecture.
13//!
14//! Keeping these concerns together makes the catalog rules easy to audit while
15//! still leaving the CLI layer unaware of database and ranking details.
16
17mod search;
18mod select;
19
20pub(crate) use search::{resolve_catalog_package_ref, search_packages};
21pub(crate) use select::{InstallerSelectionError, SelectionContext, select_installer};