pacsea/logic/sandbox/types.rs
1//! Type definitions for sandbox analysis.
2
3/// What: Information about a dependency's status in the host environment.
4#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
5pub struct DependencyDelta {
6 /// Package name (may include version requirements)
7 pub name: String,
8 /// Whether this dependency is installed on the host
9 pub is_installed: bool,
10 /// Installed version (if available)
11 pub installed_version: Option<String>,
12 /// Whether the installed version satisfies the requirement
13 pub version_satisfied: bool,
14}
15
16/// What: Sandbox analysis result for an AUR package.
17#[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
18pub struct SandboxInfo {
19 /// Package name
20 pub package_name: String,
21 /// Runtime dependencies (depends)
22 pub depends: Vec<DependencyDelta>,
23 /// Build-time dependencies (makedepends)
24 pub makedepends: Vec<DependencyDelta>,
25 /// Test dependencies (checkdepends)
26 pub checkdepends: Vec<DependencyDelta>,
27 /// Optional dependencies (optdepends)
28 pub optdepends: Vec<DependencyDelta>,
29}