Skip to main content

relay_knowledge/application/update/result/
mod.rs

1use serde::{Deserialize, Serialize};
2
3/// Machine-readable result for `relay-knowledge version check`.
4#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
5pub struct VersionCheckResponse {
6    pub project_name: String,
7    pub current_version: String,
8    pub latest_version: Option<String>,
9    pub update_available: bool,
10    pub source: Option<String>,
11    pub release_url: Option<String>,
12    pub checked_at_unix_ms: u64,
13    pub diagnostics: Vec<VersionCheckDiagnostic>,
14}
15
16/// Source-specific version-check diagnostic safe for CLI output.
17#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
18pub struct VersionCheckDiagnostic {
19    pub source: Option<String>,
20    pub code: String,
21    pub message: String,
22    pub retryable: bool,
23}
24
25#[cfg(test)]
26#[path = "mod_tests.rs"]
27mod tests;