/** * 记忆注入器 * * 将记忆条目格式化为可注入到 AI 上下文的文本 * 支持 token 预算控制 */ import type { MemoryEntry, MemoryManager, WorkflowStage } from './memory-types.js'; /** * 注入配置 */ export interface InjectionConfig { /** 最大条目数 */ maxEntries: number; /** 最小相关性 */ minRelevance: number; /** Token 预算 */ tokenBudget: number; /** 是否查询所有阶段(默认只查前一阶段) */ allPhases?: boolean; /** 自定义关键词(优先级高于自动提取) */ customKeywords?: string[]; } /** * 查询上下文(用于增强关键词提取) */ export interface QueryContext { /** 变更名称 */ changeName?: string; /** 用户输入 */ userInput?: string; /** 任务描述 */ taskDescription?: string; /** 涉及文件 */ files?: string[]; } /** * 记忆注入器 */ export declare class MemoryInjector { private memoryManager; constructor(memoryManager: MemoryManager); /** * 格式化用于 explore 阶段注入 */ formatForExplore(entries: MemoryEntry[], budget?: number): string; /** * 格式化用于 propose 阶段注入 */ formatForPropose(entries: MemoryEntry[], budget?: number): string; /** * 格式化用于 Brief 文件注入 */ formatForBrief(entries: MemoryEntry[], budget?: number): string; /** * 格式化用于 verify 阶段注入 */ formatForVerify(entries: MemoryEntry[], budget?: number): string; /** * 查询并格式化指定阶段的记忆 * @param changeName 变更名称(向后兼容) * @param phase 工作流阶段 * @param config 注入配置 * @param context 查询上下文(可选,用于增强关键词提取) */ queryForPhase(changeName: string, phase: WorkflowStage, config?: Partial, context?: QueryContext): Promise; /** * 方案 A: 从上下文综合提取关键词 */ extractKeywordsFromContext(context: QueryContext): string[]; /** * 估算 token 数 * 简单估算:中文字符数 + 英文单词数/4 */ estimateTokens(text: string): number; /** * 格式化记忆条目 */ private formatEntries; /** * 提取关键词(增强版) * 支持 kebab-case、camelCase、中文等多种格式 */ private extractKeywords; /** * 获取要查询的阶段 */ private getQueryPhases; /** * 获取阶段标签 */ private getPhaseLabel; /** * 获取章节标题 */ private getSectionTitle; } /** * 创建记忆注入器 */ export declare function createMemoryInjector(memoryManager: MemoryManager): MemoryInjector; //# sourceMappingURL=memory-injector.d.ts.map