Expand description
Pattern matching infrastructure for identifying tools in Bash commands
This module provides efficient pattern matching using Aho-Corasick automaton to identify which tools (npm, cargo, git, wrangler, etc.) are being used in Bash command invocations from Claude session logs.
§Architecture
matcher: Core pattern matching trait and Aho-Corasick implementationloader: TOML-based pattern configuration loadingknowledge_graph: Advanced pattern learning with voting and confidence scoring (includes caching)
§Example
use terraphim_session_analyzer::patterns::{create_matcher, load_patterns};
// Load patterns from built-in TOML
let patterns = load_patterns()?;
// Create matcher
let mut matcher = create_matcher();
matcher.initialize(&patterns)?;
// Find matches
let matches = matcher.find_matches("npx wrangler deploy --env production");
for m in matches {
println!("Found tool: {} at position {}", m.tool_name, m.start);
}Re-exports§
pub use loader::load_all_patterns;pub use loader::ToolMetadata;pub use loader::ToolPattern;pub use loader::load_patterns;pub use loader::load_user_patterns;pub use matcher::AhoCorasickMatcher;pub use matcher::PatternMatcher;pub use matcher::ToolMatch;pub use matcher::create_matcher;pub use knowledge_graph::LearnedPattern;pub use knowledge_graph::PatternLearner;pub use knowledge_graph::infer_category_from_contexts;
Modules§
- knowledge_
graph - Pattern learning infrastructure for dynamically discovering new tool patterns
- loader
- Pattern loader from TOML configuration
- matcher
- Pattern matcher implementation using Aho-Corasick algorithm