nexo_plugin_discovery/lib.rs
1//! Plugin catalogue discovery (Phase 98).
2//!
3//! Fetches public plugin metadata from three sources, merges by
4//! `crate_name`, derives compat + trust tier, caches to disk with
5//! 24-hour TTL. Built as a standalone crate so a future microapp
6//! UI mirror (Phase 98 deferred #6) can reuse it without depending
7//! on the daemon.
8//!
9//! Top-level surface:
10//! - [`config::DiscoveryConfig`] — bake-in defaults + per-deployment overrides.
11//! - [`cache::DiskCache`] — atomic temp+rename writer with TTL gate.
12//! - [`types`] — typed payload re-exports of the wire shapes shipped
13//! by `nexo_tool_meta::admin::plugin_discovery` (98.5), with
14//! construction helpers + serialization-friendly defaults.
15
16#![deny(missing_docs)]
17#![warn(rust_2018_idioms, unreachable_pub)]
18
19pub mod cache;
20pub mod client;
21pub mod compat;
22pub mod config;
23pub mod manifest_fetcher;
24pub mod merge;
25pub mod sources;
26pub mod types;