1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//! Capability composition engine
//!
//! This module provides the composition framework for detecting emergent
//! capabilities and constraints from sets of individual capabilities.
//!
//! ## Composition Patterns
//!
//! - **Additive**: Capabilities that sum (coverage area, lift capacity)
//! - **Emergent**: New capabilities from combinations (ISR chains, mapping)
//! - **Redundant**: Reliability from redundancy (detection, coverage)
//! - **Constraint**: Team limits from individual constraints (speed, range)
//!
//! ## Usage
//!
//! ```rust,no_run
//! use peat_protocol::composition::{CompositionEngine, CompositionContext};
//! use peat_protocol::composition::additive::SensorCoverageRule;
//! use peat_protocol::models::capability::Capability;
//! use std::sync::Arc;
//!
//! # async fn example() -> peat_protocol::Result<()> {
//! let mut engine = CompositionEngine::new();
//! engine.register_rule(Arc::new(SensorCoverageRule::default()));
//!
//! let capabilities = vec![/* capabilities */];
//! let context = CompositionContext::new(vec!["node1".to_string()]);
//!
//! let results = engine.compose(&capabilities, &context).await?;
//! # Ok(())
//! # }
//! ```
pub use CompositionEngine;
pub use ;