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
42
43
44
45
46
47
48
49
50
51
52
53
//! Software Distribution for Peat - ADR-012 / ADR-026
//!
//! This module provides types for distributing software across the Peat network:
//!
//! - **Deployment Directives**: C2→node commands for software deployment
//! - **Model Manifest**: Metadata for downloadable models (hash, size, requirements)
//! - **Model Types**: Detection, LLM, Tracking, Vision-Language, etc.
//! - **Hardware Requirements**: VRAM, RAM, architecture constraints
//!
//! ## Distribution Flow
//!
//! ```text
//! ┌─────────────────┐ ┌─────────────────┐
//! │ C2 / Bridge │──DeploymentDirective─│ Edge Node │
//! │ │─────────────────────▶│ │
//! │ │ │ fetch blob │
//! │ │ │ activate │
//! │ │◀─────────────────────│ │
//! │ │ DeploymentStatus │ advertise cap │
//! └─────────────────┘ └─────────────────┘
//! ```
//!
//! ## Artifact Types
//!
//! - **ONNX Models**: AI inference via ONNX Runtime
//! - **Containers**: Docker/Podman images
//! - **Native Binaries**: Architecture-specific executables
//! - **Config Packages**: Configuration files/bundles
//! - **WASM Modules**: WebAssembly (future)
//!
//! ## Integration with Capabilities
//!
//! When a node activates an artifact, it advertises the corresponding capability:
//! - ONNX detector → `CapabilityType::Sensor` (object detection)
//! - LLM model → `CapabilityType::Compute` (LLM inference)
//! - etc.
// Deployment directives (ADR-012)
pub use ;
// Model-specific types
pub use ;
pub use ;