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}