terraphim_sessions/lib.rs
1//! Terraphim Sessions - AI Coding Assistant History Management
2//!
3//! This crate provides session management for AI coding assistant history,
4//! supporting multiple sources including Claude Code and Cursor IDE.
5//!
6//! ## Features
7//!
8//! - `terraphim-session-analyzer`: Enable TSA integration for enhanced Claude Code parsing
9//! - `tsa-full`: TSA with Cursor connector support
10//! - `enrichment`: Enable knowledge graph enrichment via terraphim
11//! - `full`: All features enabled
12//!
13//! ## Example Usage
14//!
15//! ```rust,ignore
16//! use terraphim_sessions::{SessionService, ConnectorRegistry};
17//!
18//! #[tokio::main]
19//! async fn main() -> anyhow::Result<()> {
20//! let service = SessionService::new();
21//! let sessions = service.list_sessions().await?;
22//!
23//! for session in sessions {
24//! println!("{}: {} messages", session.id, session.messages.len());
25//! }
26//! Ok(())
27//! }
28//! ```
29
30pub mod connector;
31pub mod model;
32pub mod service;
33
34#[cfg(feature = "terraphim-session-analyzer")]
35pub mod cla;
36
37#[cfg(feature = "enrichment")]
38pub mod enrichment;
39
40// Re-exports for convenience
41pub use connector::{ConnectorRegistry, ConnectorStatus, ImportOptions, SessionConnector};
42pub use model::{ContentBlock, Message, MessageRole, Session, SessionMetadata};
43pub use service::SessionService;
44
45#[cfg(feature = "enrichment")]
46pub use enrichment::{
47 ConceptMatch, ConceptOccurrence, EnrichmentConfig, EnrichmentResult, SessionConcepts,
48 SessionEnricher, find_related_sessions, search_by_concept,
49};
50
51/// Crate version
52pub const VERSION: &str = env!("CARGO_PKG_VERSION");