import type { LLMProvider } from '../llm/types.js'; /** 场景块(L2) */ export interface SceneBlock { /** 场景 ID(snake_case) */ sceneId: string; /** 场景标题 */ title: string; /** 场景描述 */ description: string; /** 归属的原子事实 ID 列表 */ atomIds: string[]; } /** 聚合器配置 */ export interface SceneAggregatorOptions { llmProvider: LLMProvider; /** 降级 LLM Provider(可选,主 Provider 失败时切换) */ fallbackProvider?: LLMProvider; /** 最大场景数,默认 15 */ maxScenes?: number; /** 超时(毫秒),默认 30000 */ timeoutMs?: number; } /** * L2 场景聚合器 * * 工作流程: * 1. 收集所有 L1 原子事实 * 2. 通过 LLM 将相关事实分组为场景块 * 3. 输出 SceneBlock[],供 MemoryService 更新 L2 条目 */ export declare class SceneAggregator { private llmProvider; private fallbackProvider?; private maxScenes; private timeoutMs; constructor(opts: SceneAggregatorOptions); /** * 聚合原子事实为场景块 * @param atoms L1 原子事实列表(key + content + id) * @param existingScenes 已有场景(用于增量更新) */ aggregate(atoms: Array<{ id: string; key: string; content: string; category: string; }>, existingScenes?: SceneBlock[]): Promise; private buildUserPrompt; private callLLM; private callLLMStream; private parseScenes; } //# sourceMappingURL=scene.d.ts.map