autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
50 lines (49 loc) • 1.74 kB
TypeScript
/**
* §11.3 H3: MemoryFlushContract — 层级数据流转规约
*
* 定义 completeDimension() 保存数据的显式检查表,
* 确保 distill() 的结果在 ActiveContext.clear() 之前完整提取。
*/
import type { Finding } from './SessionStore.js';
/** ActiveContext.distill() 的结构化返回类型 */
export interface DistilledContext {
keyFindings: Array<{
finding: string;
evidence: string;
importance: number;
}>;
toolCallSummary: string[];
stats: {
totalRounds: number;
thoughtCount: number;
totalActions: number;
totalObservations: number;
reflectionCount: number;
totalDurationMs: number;
};
plan: {
text: string;
steps: Array<{
description: string;
status: string;
keywords: string[];
}>;
createdAtIteration: number;
lastUpdatedAtIteration: number;
} | null;
totalObservations: number;
compressedCount: number;
}
/** completeDimension() 执行数据保存时使用的结构化清单 */
export interface DimensionFlushManifest {
/** distill() 的结果 — 总是存入 SessionStore */
distilled: DistilledContext;
/** 原始 scratchpad findings — 重要性 >= threshold 的需要转发 */
highPriorityFindings: Finding[];
/** 工具调用统计 — 用于 SessionStore.toolCallLog */
toolCallSummary: string[];
/** 是否触发向 PersistentMemory 的异步 consolidation */
shouldConsolidate: boolean;
}
/** 从 DistilledContext 提取高优先级 findings (importance >= threshold) */
export declare function extractHighPriorityFindings(distilled: DistilledContext, threshold?: number): Finding[];