diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-10 15:24:24 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-10 15:33:45 +0300 |
| commit | 36a1b7f86444871f0c38ff36510a6e3c2eec48c6 (patch) | |
| tree | 4a2d100eef7f26af7feaa93ce661423c3994c54e /src/app/state.rs | |
| parent | 8d13492926829c5cf0ea42c8613344cd65ff59fa (diff) | |
feat: distribute agent detection manifests
Diffstat (limited to 'src/app/state.rs')
| -rw-r--r-- | src/app/state.rs | 11 |
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(), |
