UNPKG

organ-ai-zer

Version:

AI-powered file organizer CLI tool

107 lines 2.99 kB
import { FileInfo } from '../types'; /** * Pattern matching result for a file */ export interface PatternMatch { /** Type of pattern matched */ type: string; /** Confidence level (0-1) */ confidence: number; /** Extracted metadata from the pattern */ metadata: Record<string, any>; /** Description of what was matched */ description: string; } /** * Grouped pattern analysis result */ export interface PatternGroup { /** Group identifier */ groupId: string; /** Group type/category */ type: string; /** Files in this group */ files: FileInfo[]; /** Common pattern description */ pattern: string; /** Confidence this is a valid group */ confidence: number; /** Extracted group metadata */ metadata: Record<string, any>; } /** * Pattern analysis summary */ export interface PatternAnalysis { /** Individual file pattern matches */ fileMatches: Map<string, PatternMatch[]>; /** Detected pattern groups */ groups: PatternGroup[]; /** Overall analysis hints for AI */ hints: string[]; /** Directory structure suggestions */ structureSuggestions: string[]; } /** * Pattern Matching Service * Optional utility to supplement AI analysis with pattern recognition * Focuses on common patterns that can help guide AI understanding */ export declare class PatternMatchingService { private patterns; private cache; constructor(); /** * Analyze files for patterns and return insights for AI */ analyzePatterns(files: FileInfo[], directory?: string): Promise<PatternAnalysis>; /** * Perform the actual pattern analysis (non-cached) */ private performPatternAnalysis; /** * Get pattern hints that can be provided to AI for better analysis */ getPatternHints(files: FileInfo[], directory?: string): Promise<string[]>; /** * Check if files appear to be part of a series or collection */ findSeries(files: FileInfo[], directory?: string): Promise<PatternGroup[]>; /** * Check if files appear to be project-related */ findProjects(files: FileInfo[], directory?: string): Promise<PatternGroup[]>; /** * Find pattern groups from individual matches */ private findPatternGroups; /** * Group files by series patterns */ private groupBySeries; /** * Group files by project patterns */ private groupByProject; /** * Group files by date patterns */ private groupByDate; /** * Group files by name similarity */ private groupByNameSimilarity; /** * Extract common prefix from filename */ private extractCommonPrefix; /** * Generate hints for AI based on pattern analysis */ private generateHints; /** * Generate structure suggestions based on groups */ private generateStructureSuggestions; } //# sourceMappingURL=pattern-matching-service.d.ts.map