/** * Multi-signal skill practice detection. */ import { cosineSimilarity } from '../extraction/similarity.js'; export { cosineSimilarity }; export interface DetectionResult { skillMemoryId: string; outcome: 'success' | 'partial' | 'failure'; difficulty: number; contextTags: string[]; } export interface SkillInfo { id: string; content: string; tags: string[]; embedding?: number[]; } export interface SessionMemory { content: string; tags: string[]; embedding?: number[]; } /** * Jaccard similarity between two tag sets */ export declare function jaccardSimilarity(setA: string[], setB: string[]): number; /** * Keyword match ratio */ export declare function keywordMatchRatio(skillContent: string, sessionTexts: string[]): number; /** * Multi-signal skill practice detection * Weights: embedding 0.5 + tag overlap 0.3 + keyword 0.2 */ export declare function detectSkillPractice(skill: SkillInfo, sessionMemories: SessionMemory[]): DetectionResult | null; //# sourceMappingURL=detection.d.ts.map