UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

45 lines (44 loc) 1.54 kB
/** * @module DiscovererPreference * @description Discoverer 用户偏好持久化 + 冲突检测 * * 当多个 Discoverer 匹配且置信度接近时,允许用户确认选择并持久化。 * CLI 上下文使用 readline 交互,MCP/HTTP 上下文返回 ambiguous 标记。 */ export interface DiscovererPreferenceData { selectedDiscoverer: string; selectedAt: string; alternatives: string[]; userConfirmed: boolean; } export interface DetectMatch { discovererId: string; displayName: string; confidence: number; } export interface ConflictResult { ambiguous: boolean; reason?: string; matches: DetectMatch[]; recommended?: DetectMatch; } /** * 检测 Discoverer 匹配结果是否存在冲突/模糊 */ export declare function detectConflict(matches: DetectMatch[]): ConflictResult; /** * 加载已保存的 Discoverer 偏好 * @returns 偏好数据,或 null(无偏好/文件不存在/损坏) */ export declare function loadPreference(projectRoot: string): DiscovererPreferenceData | null; /** * 保存 Discoverer 偏好 */ export declare function savePreference(projectRoot: string, discovererId: string, alternatives: string[], userConfirmed: boolean): void; /** * CLI 交互式确认 Discoverer 选择 * 仅在 CLI 终端上下文(stdin 可用)时有效 * * @returns 用户选择的 Discoverer ID,或 null(非交互环境/超时) */ export declare function promptDiscovererChoice(matches: DetectMatch[], recommended?: DetectMatch): Promise<string | null>;