autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
28 lines (27 loc) • 1.04 kB
TypeScript
/**
* AIRecallStrategy — 将 SignalCollector 的 AI 分析结果包装为 RecallStrategy 接口
*
* 读取 SignalCollector 的缓存快照中的 pendingSuggestions,
* 转换为标准 RecommendationCandidate。
*
* 依赖 AI Provider,不可用时返回空数组。
*/
import type { RecallStrategy, RecommendationCandidate, RecommendationContext } from './types.js';
interface SignalCollectorLike {
getSnapshot(): {
pendingSuggestions?: Array<Record<string, unknown>>;
lastAiSummary?: string;
};
getMode(): string;
}
export declare class AIRecallStrategy implements RecallStrategy {
#private;
readonly name = "ai";
readonly type: "ai";
constructor(signalCollector: SignalCollectorLike | null);
recall(context: RecommendationContext): Promise<RecommendationCandidate[]>;
isAvailable(context: RecommendationContext): boolean;
/** 更新 SignalCollector 引用 (用于延迟注入) */
setSignalCollector(sc: SignalCollectorLike): void;
}
export default AIRecallStrategy;