Skip to main content

appcore_capabilities/
lib.rs

1// =============================================================================
2//        #######
3//     ###       ###     F: lib.rs
4//    ##   ## ##   ##    P: AppCore-Runtime
5//         ## ##
6//                       C: 2026/07/20 23:03:47 by dnettoRaw
7//    ##   ## ##   ##    U: 2026/07/22 15:41:18 by dnettoRaw
8//      ###########      S: 1.0.1-rc.8
9// =============================================================================
10
11//! Generic capability registry and resolver.
12//!
13//! This crate routes capability requests. It intentionally does not know SQL,
14//! schemas, customer data, or business rules.
15
16#![deny(missing_docs)]
17
18mod catalog;
19mod contract;
20mod peer_rpc_invoker;
21mod registry;
22mod resolver;
23mod selection;
24
25pub use contract::{
26    CapabilityError, CapabilityRequest, CapabilityResponse, CapabilityResult,
27    LocalCapabilityHandler, RemoteCapabilityInvoker,
28};
29pub use peer_rpc_invoker::PeerRpcRemoteCapabilityInvoker;
30pub use registry::{CapabilityRegistry, LocalCapabilityProvider};
31pub use resolver::{requirements_for_read_only, CapabilityResolver};
32pub use selection::{
33    CapabilityProvider, CapabilitySelectionPolicy, DefaultCapabilitySelectionPolicy,
34    ResolutionPolicy,
35};
36
37mod policy;
38#[cfg(test)]
39mod tests;
40pub use catalog::{CapabilityCatalog, CapabilityEnforcementContext};