aboutsummaryrefslogtreecommitdiff
path: root/src/app/state.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 15:24:24 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-06-10 15:33:45 +0300
commit36a1b7f86444871f0c38ff36510a6e3c2eec48c6 (patch)
tree4a2d100eef7f26af7feaa93ce661423c3994c54e /src/app/state.rs
parent8d13492926829c5cf0ea42c8613344cd65ff59fa (diff)
feat: distribute agent detection manifests
Diffstat (limited to 'src/app/state.rs')
-rw-r--r--src/app/state.rs11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/app/state.rs b/src/app/state.rs
index 01f3d9c8..f37ccb22 100644
--- a/src/app/state.rs
+++ b/src/app/state.rs
@@ -1377,6 +1377,10 @@ pub struct AppState {
pub settings: SettingsState,
/// Cached integration recommendations for onboarding/settings UI.
pub integration_recommendations: Vec<crate::integration::IntegrationRecommendation>,
+ /// Cached detection manifest source/version summaries for runtime/API status.
+ pub agent_manifest_summaries: Vec<crate::detect::manifest::AgentManifestSummary>,
+ /// Cached remote detection manifest update diagnostics for runtime/API status.
+ pub agent_manifest_update_status: crate::detect::manifest_update::ManifestUpdateStatus,
/// Result messages from the latest integration install action.
pub integration_install_messages: Vec<String>,
/// Highlight state for the bottom-right global launcher menu.
@@ -1433,6 +1437,10 @@ impl AppState {
.any(|item| item.state == crate::integration::IntegrationStatusKind::Outdated)
}
+ pub(crate) fn refresh_agent_manifest_summaries(&mut self) {
+ self.agent_manifest_summaries = crate::detect::manifest::manifest_summaries();
+ }
+
pub(crate) fn global_menu_attention_badge_visible(&self) -> bool {
self.update_available.is_some() || self.integration_updates_available()
}
@@ -1700,6 +1708,9 @@ impl AppState {
original_theme: None,
},
integration_recommendations: Vec::new(),
+ agent_manifest_summaries: Vec::new(),
+ agent_manifest_update_status:
+ crate::detect::manifest_update::ManifestUpdateStatus::default(),
integration_install_messages: Vec::new(),
global_menu: MenuListState::new(0),
host_terminal_theme: TerminalTheme::default(),