diff options
Diffstat (limited to 'src/integration/actions.rs')
| -rw-r--r-- | src/integration/actions.rs | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/src/integration/actions.rs b/src/integration/actions.rs index 807ceeb6..c00e10b7 100644 --- a/src/integration/actions.rs +++ b/src/integration/actions.rs @@ -3,11 +3,11 @@ use std::io; use super::registry::{integration_target_label, integration_target_supported}; use super::targets::{ install_claude, install_codex, install_copilot, install_cursor, install_devin, install_droid, - install_hermes, install_kilo, install_kimi, install_mastracode, install_omp, install_opencode, - install_pi, install_qodercli, uninstall_claude, uninstall_codex, uninstall_copilot, - uninstall_cursor, uninstall_devin, uninstall_droid, uninstall_hermes, uninstall_kilo, - uninstall_kimi, uninstall_mastracode, uninstall_omp, uninstall_opencode, uninstall_pi, - uninstall_qodercli, + install_grok, install_hermes, install_kilo, install_kimi, install_mastracode, install_omp, + install_opencode, install_pi, install_qodercli, uninstall_claude, uninstall_codex, + uninstall_copilot, uninstall_cursor, uninstall_devin, uninstall_droid, uninstall_grok, + uninstall_hermes, uninstall_kilo, uninstall_kimi, uninstall_mastracode, uninstall_omp, + uninstall_opencode, uninstall_pi, uninstall_qodercli, }; use super::version::{agent_version_requirement, enforce_agent_version}; use super::{KIMI_MIN_VERSION, PI_EXTENSION_INSTALL_NAME}; @@ -204,6 +204,19 @@ fn install_target_inner(target: crate::api::schema::IntegrationTarget) -> io::Re ), ] } + crate::api::schema::IntegrationTarget::Grok => { + let installed = install_grok()?; + vec![ + format!( + "installed grok integration hook to {}", + installed.hook_path.display() + ), + format!( + "registered grok hook config at {}", + installed.config_path.display() + ), + ] + } }; if let Some(warning) = version_warning { @@ -558,6 +571,33 @@ pub(crate) fn uninstall_target( } messages } + crate::api::schema::IntegrationTarget::Grok => { + let result = uninstall_grok()?; + let mut messages = Vec::new(); + if result.removed_hook_file { + messages.push(format!( + "removed grok hook at {}", + result.hook_path.display() + )); + } else { + messages.push(format!( + "no grok hook found at {}", + result.hook_path.display() + )); + } + if result.removed_config_file { + messages.push(format!( + "removed grok hook config at {}", + result.config_path.display() + )); + } else { + messages.push(format!( + "no grok hook config found at {}", + result.config_path.display() + )); + } + messages + } }; crate::logging::integration_action("uninstall", integration_target_label(target), "ok"); |
