import type { LLMProvider } from '../llm/types.js'; import type { MemoryServiceLike } from './types.js'; import { type SceneBlock } from './scene.js'; import type { Message } from '../types.js'; /** 管道配置 */ export interface PipelineOptions { llmProvider: LLMProvider; /** 降级 LLM Provider(可选,各层级主 Provider 失败时切换) */ fallbackProvider?: LLMProvider; /** 触发 L2 聚合的 L1 增量阈值(新 L1 条目数),默认 5 */ l2Threshold?: number; /** 触发 L3 画像更新的 L2 增量阈值,默认 3 */ l3Threshold?: number; } /** 管道执行结果 */ export interface PipelineResult { /** 本次提取的 L1 原子事实数 */ l1Extracted: number; /** 是否触发了 L2 聚合 */ l2Triggered: boolean; /** 是否触发了 L3 画像更新 */ l3Triggered: boolean; /** 新的场景块(如果触发了 L2) */ newScenes?: SceneBlock[]; /** 更新的画像(如果触发了 L3) */ newPersona?: string; } /** * 记忆管道调度器 * * 调度策略: * 1. 每次对话结束:提取 L1 原子事实 * 2. L1 累积达到阈值:触发 L2 场景聚合 * 3. L2 累积达到阈值:触发 L3 画像生成 * * 所有操作均为 fire-and-forget,不阻塞对话响应 */ export declare class MemoryPipeline { private llmProvider; private fallbackProvider?; private l2Threshold; private l3Threshold; constructor(opts: PipelineOptions); /** * 执行完整管道(L1 提取 → 条件触发 L2 → 条件触发 L3) * * @param messages 对话消息 * @param sessionId 会话 ID * @param memoryService MemoryService 实例(延迟导入避免循环依赖) */ run(messages: Message[], sessionId: string, memoryService: MemoryServiceLike): Promise; } //# sourceMappingURL=pipeline.d.ts.map