/** * Solution matcher — thin facade re-exporting from decomposed modules. * * All public exports are preserved for backward compatibility. Internal * callers that import from './solution-matcher.js' continue to work. * * Module layout (post-decomposition): * scoring-algorithms.ts — bigramSimilarity, bm25Score, tagWeight, COMMON_TAGS * relevance-scorer.ts — calculateRelevance, CalculateRelevanceOptions * precision-guards.ts — shouldRejectByR4T3Rules * ranking-pipeline.ts — rankCandidates, RankableSolution, RankedCandidate * solution-matcher-eval.ts — EvalSolution/Query/Fixture/Result, ROUND3_BASELINE, evaluateQuery, evaluateSolutionMatcher * meta-learning/matcher-weight-loader.ts — loadTunedMatcherWeights */ import type { ScopeInfo } from '../core/types.js'; import type { SolutionStatus, SolutionType } from './solution-format.js'; export { bigramSimilarity, bm25Score, COMMON_TAGS, tagWeight } from './scoring-algorithms.js'; export { calculateRelevance } from './relevance-scorer.js'; export type { CalculateRelevanceOptions } from './relevance-scorer.js'; export { shouldRejectByR4T3Rules } from './precision-guards.js'; export { ROUND3_BASELINE, BASELINE_TOLERANCE, evaluateQuery, evaluateSolutionMatcher, } from './solution-matcher-eval.js'; export type { EvalSolution, EvalQuery, EvalFixture, BucketMetrics, EvalResult, } from './solution-matcher-eval.js'; /** * @deprecated Use `defaultNormalizer.normalizeTerms` from * `./term-normalizer.js` directly. */ export declare function expandTagsWithSynonyms(tags: string[]): string[]; export interface SolutionMatch { name: string; path: string; scope: 'me' | 'team' | 'project' | 'universal'; relevance: number; summary: string; status: SolutionStatus; confidence: number; type: SolutionType; tags: string[]; identifiers: string[]; matchedTags: string[]; matchedIdentifiers: string[]; } export declare function matchSolutions(prompt: string, scope: ScopeInfo, cwd: string): SolutionMatch[];