Skip to main content

Module patterns

Module patterns 

Source
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 implementation
  • loader: TOML-based pattern configuration loading
  • knowledge_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