1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Copyright (c) 2026 - present Nicholas D. Crosbie
// SPDX-License-Identifier: MIT
//! hindsight-copilot: GitHub Copilot log processing for hindsight-mcp
//!
//! This library crate provides functionality to parse and process GitHub Copilot
//! logs and chat sessions for consumption by the hindsight-mcp server.
//! ## Log Locations
//!
//! VS Code stores Copilot chat history in local SQLite databases and JSON files:
//! - **macOS:** `~/Library/Application Support/Code/User/workspaceStorage/<workspace-id>/chatSessions/`
//! - **Windows:** `%APPDATA%\Code\User\workspaceStorage\<workspace-id>\chatSessions\`
//! - **Linux:** `~/.config/Code/User/workspaceStorage/<workspace-id>/chatSessions/`
//!
//! ## Log Format
//!
//! Copilot logs follow JSON Stream / LSP Trace format when log level is set to `Trace`.
//!
//! ## Session Discovery
//!
//! Use [`SessionDiscovery`] to find chat sessions across all workspaces:
//!
//! ```rust,no_run
//! use hindsight_copilot::session::{SessionDiscovery, parse_session_file};
//!
//! let discovery = SessionDiscovery::new().expect("find storage");
//! for session in discovery.discover_sessions().expect("enumerate") {
//! let parsed = parse_session_file(&session.path, &session.workspace_storage_id);
//! println!("{:?}", parsed);
//! }
//! ```
pub use CopilotError;
// Re-export session discovery types at crate level for convenience
pub use ;
/// Re-export commonly used types