lore_cli/capture/watchers/
kilo_code.rs

1//! Kilo Code session parser.
2//!
3//! Parses session data from the Kilo Code VS Code extension (a fork of Roo Code).
4//! Sessions are stored in VS Code's globalStorage directory under the extension ID.
5//!
6//! This watcher uses the generic VS Code extension infrastructure since Kilo Code
7//! follows the standard task-based conversation storage format.
8
9use super::vscode_extension::{VsCodeExtensionConfig, VsCodeExtensionWatcher};
10
11/// Configuration for the Kilo Code VS Code extension watcher.
12pub const CONFIG: VsCodeExtensionConfig = VsCodeExtensionConfig {
13    name: "kilo-code",
14    description: "Kilo Code VS Code extension sessions",
15    extension_id: "kilocode.Kilo-Code",
16};
17
18/// Creates a new Kilo Code watcher.
19pub fn new_watcher() -> VsCodeExtensionWatcher {
20    VsCodeExtensionWatcher::new(CONFIG)
21}
22
23#[cfg(test)]
24mod tests {
25    use super::*;
26    use crate::capture::watchers::Watcher;
27
28    #[test]
29    fn test_watcher_info() {
30        let watcher = new_watcher();
31        let info = watcher.info();
32
33        assert_eq!(info.name, "kilo-code");
34        assert!(info.description.contains("Kilo Code"));
35    }
36
37    #[test]
38    fn test_watcher_extension_id() {
39        assert_eq!(CONFIG.extension_id, "kilocode.Kilo-Code");
40    }
41}