/** * Identifier Extractor for Error Debugging * * Parses common error message formats and extracts key identifiers * such as module names, function names, type names, and file paths. * * @module @wundr/mcp-server/tools/error-debugger-rag/identifier-extractor */ /** * Types of identifiers that can be extracted from error messages */ export type IdentifierType = 'module' | 'function' | 'type' | 'variable' | 'property' | 'file' | 'line' | 'column' | 'package' | 'class' | 'interface' | 'import' | 'export'; /** * A single extracted identifier with context */ export interface ExtractedIdentifier { /** The identifier value */ value: string; /** Type of identifier */ type: IdentifierType; /** Confidence score (0-1) */ confidence: number; /** Original context where identifier was found */ context?: string; /** Start position in original message */ position?: number; } /** * Result of identifier extraction */ export interface IdentifierExtractionResult { /** All extracted identifiers */ identifiers: ExtractedIdentifier[]; /** File path if found */ filePath?: string; /** Line number if found */ lineNumber?: number; /** Column number if found */ columnNumber?: number; /** Error code if present */ errorCode?: string; /** Suggested search queries based on identifiers */ searchQueries: string[]; } /** * Extract identifiers from an error message * * Parses common error message formats from TypeScript, ESLint, and build tools * to extract key identifiers such as module names, function names, type names, * and file paths. * * @param errorMessage - The error message to parse * @returns Extracted identifiers and metadata * * @example * ```typescript * const result = extractIdentifiers( * "error TS2304: Cannot find name 'UserProfile' at src/components/User.tsx:15:10" * ); * // Returns: * // { * // identifiers: [ * // { value: 'UserProfile', type: 'type', confidence: 0.9 }, * // { value: 'src/components/User.tsx', type: 'file', confidence: 1.0 } * // ], * // filePath: 'src/components/User.tsx', * // lineNumber: 15, * // columnNumber: 10, * // errorCode: 'TS2304', * // searchQueries: ['type UserProfile definition usage'] * // } * ``` */ export declare function extractIdentifiers(errorMessage: string): IdentifierExtractionResult; /** * Extract identifiers from multiple error messages * * @param errorMessages - Array of error messages to parse * @returns Array of extraction results */ export declare function extractIdentifiersFromMultiple(errorMessages: string[]): IdentifierExtractionResult[]; /** * Get the most important identifiers from an extraction result * * @param result - Extraction result * @param limit - Maximum number of identifiers to return * @returns Top identifiers sorted by confidence */ export declare function getTopIdentifiers(result: IdentifierExtractionResult, limit?: number): ExtractedIdentifier[]; declare const _default: { extractIdentifiers: typeof extractIdentifiers; extractIdentifiersFromMultiple: typeof extractIdentifiersFromMultiple; getTopIdentifiers: typeof getTopIdentifiers; }; export default _default; //# sourceMappingURL=identifier-extractor.d.ts.map