import { StreamEvent } from '../../types/stream.js'; import { FulfillmentResult } from '../../types/memory.js'; import { MemoryModule } from '../../modules/memory/memory.module.js'; import { ModelModule } from '../../modules/models/model.module.js'; import '../../types/connector.js'; import '../../modules/memory/base.memory.js'; import '../../types/document.js'; import '../../types/list.js'; import '../../types/schedule.js'; import '../../modules/models/base.model.js'; /** * Service for determining whether multiple fulfillment results need to be * aggregated into a unified response, and generating that response if needed. */ declare class AggregateService { private modelModule; private memoryModule; constructor(modelModule: ModelModule, memoryModule: MemoryModule); /** * Generates a unified response combining all results (always aggregates). * Use this when needsAggregation is already determined to be true. * * @param originalQuery - The user's original query * @param results - Array of fulfillment results from each intent * @returns AsyncGenerator yielding StreamEvent objects */ aggregate(originalQuery: string, results: FulfillmentResult[]): AsyncGenerator; /** * Generates a unified response by streaming from the model. */ private generateAggregatedResponse; /** * Builds the query for generating an aggregated response. */ private buildAggregateQuery; } export { AggregateService };