From fc1cb77f0572948552377b23f7754a3016ac7dfa Mon Sep 17 00:00:00 2001 From: Can Celik Date: Sun, 13 Sep 2026 18:36:47 +0300 Subject: feat: add Letta Code detection and restore (#3107) refs #3106 Co-authored-by: Cameron --- src/integration/types.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/integration/types.rs') diff --git a/src/integration/types.rs b/src/integration/types.rs index 8169ab98..928675f6 100644 --- a/src/integration/types.rs +++ b/src/integration/types.rs @@ -76,6 +76,12 @@ pub(crate) struct QwenInstallPaths { pub settings_path: PathBuf, } +#[derive(Debug)] +pub(crate) struct LettaInstallPaths { + pub hook_path: PathBuf, + pub settings_path: PathBuf, +} + #[derive(Debug)] pub(crate) struct CursorInstallPaths { pub hook_path: PathBuf, @@ -134,6 +140,14 @@ pub(crate) struct QwenUninstallResult { pub updated_settings: bool, } +#[derive(Debug)] +pub(crate) struct LettaUninstallResult { + pub hook_path: PathBuf, + pub settings_path: PathBuf, + pub removed_hook_file: bool, + pub updated_settings: bool, +} + #[derive(Debug, Clone, PartialEq, Eq)] pub(crate) struct IntegrationStatus { pub target: crate::api::schema::IntegrationTarget, @@ -150,6 +164,17 @@ pub(crate) enum IntegrationStatusKind { Outdated, } +/// Status for an experimental target that is deliberately not part of the +/// frozen client endpoint `IntegrationTarget` enum. +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct ExperimentalIntegrationStatus { + pub label: &'static str, + pub path: PathBuf, + pub state: IntegrationStatusKind, + pub installed_version: Option, + pub expected_version: u32, +} + #[derive(Debug, Clone, PartialEq, Eq)] pub(crate) struct IntegrationRecommendation { pub target: crate::api::schema::IntegrationTarget, -- cgit v1.2.3