diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-10 19:23:13 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-06-10 19:23:13 +0300 |
| commit | 82468a0e03360219898ebf3735bdf559182009f8 (patch) | |
| tree | 0ee5213fe041a539f23e846f9148493528249512 /src/integration/mod.rs | |
| parent | 36a1b7f86444871f0c38ff36510a6e3c2eec48c6 (diff) | |
feat: add manifest-based detection engine
Diffstat (limited to 'src/integration/mod.rs')
| -rw-r--r-- | src/integration/mod.rs | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/integration/mod.rs b/src/integration/mod.rs index 36178b8d..b063f23b 100644 --- a/src/integration/mod.rs +++ b/src/integration/mod.rs @@ -51,12 +51,23 @@ const KIMI_HOOK_ASSET: &str = if cfg!(windows) { } else { include_str!("assets/kimi/herdr-agent-state.sh") }; -const KIMI_INTEGRATION_VERSION: u32 = 2; +const KIMI_INTEGRATION_VERSION: u32 = 3; const KIMI_CODE_HOME_ENV_VAR: &str = "KIMI_CODE_HOME"; const KIMI_CONFIG_BLOCK_BEGIN: &str = "# >>> herdr kimi integration"; const KIMI_CONFIG_BLOCK_END: &str = "# <<< herdr kimi integration"; -const KIMI_MIN_VERSION: &str = "0.8.0"; -const KIMI_HOOK_EVENTS: [(&str, &str); 1] = [("SessionStart", "session")]; +const KIMI_MIN_VERSION: &str = "0.14.0"; +const KIMI_HOOK_EVENTS: [(&str, &str); 10] = [ + ("SessionStart", "session"), + ("UserPromptSubmit", "working"), + ("PreToolUse", "working"), + ("SubagentStart", "working"), + ("PreCompact", "working"), + ("PermissionRequest", "blocked"), + ("PermissionResult", "working"), + ("Stop", "idle"), + ("Interrupt", "idle"), + ("SessionEnd", "release"), +]; const COPILOT_HOOK_INSTALL_NAME: &str = if cfg!(windows) { "herdr-agent-state.ps1" } else { @@ -5365,8 +5376,8 @@ mod tests { assert!(KIMI_HOOK_ASSET.contains("source = \"herdr:kimi\"")); assert!(KIMI_HOOK_ASSET.contains("agent_session_id")); assert!(KIMI_HOOK_ASSET.contains("pane.report_agent_session")); - assert!(!KIMI_HOOK_ASSET.contains("\"state\": action")); - assert!(!KIMI_HOOK_ASSET.contains("pane.release_agent")); + assert!(KIMI_HOOK_ASSET.contains("\"state\": action")); + assert!(KIMI_HOOK_ASSET.contains("pane.release_agent")); assert!(COPILOT_HOOK_ASSET.contains("agent_session_id")); assert!(COPILOT_HOOK_ASSET.contains("pane.report_agent_session")); assert!(!COPILOT_HOOK_ASSET.contains("\"state\":")); |
