arela
Version:
AI-powered CTO with multi-agent orchestration, code summarization, visual testing (web + mobile) for blazing fast development.
60 lines • 2.13 kB
TypeScript
import type { FusionOptions, FusedResult, FusionEngineConfig } from "./types.js";
import type { RoutingResult } from "../meta-rag/types.js";
/**
* FusionEngine - Main engine for fusing multi-layer memory results
*
* Combines results from multiple memory layers into a single ranked,
* deduplicated list optimized for LLM context.
*
* Features:
* - Relevance scoring (semantic + keyword + layer weight + recency)
* - Semantic deduplication (removes similar items)
* - Token limiting (fits within context window)
* - Layer diversity (ensures multi-layer representation)
* - Quality filtering (minimum score threshold)
*
* Example:
* ```typescript
* const fusion = new FusionEngine();
* const routingResult = await router.route("Continue working on auth");
* const fusedResult = await fusion.fuse(routingResult, {
* maxTokens: 10000,
* minScore: 0.3,
* });
* ```
*/
export declare class FusionEngine {
private merger;
private config;
private defaults;
constructor(config?: FusionEngineConfig);
/**
* Fuse routing results into optimal context for LLM
*
* @param routingResult - Results from MemoryRouter
* @param options - Fusion options (merged with defaults)
* @returns Fused result with ranked items and stats
*/
fuse(routingResult: RoutingResult, options?: FusionOptions): Promise<FusedResult>;
/**
* Synchronous version of fuse (for compatibility)
*/
fuseSync(routingResult: RoutingResult, options?: FusionOptions): FusedResult;
/**
* Get current default options
*/
getDefaults(): Required<FusionOptions>;
/**
* Update default options
*/
setDefaults(options: Partial<FusionOptions>): void;
/**
* Enable/disable verbose logging
*/
setVerbose(verbose: boolean): void;
}
export type { FusionOptions, FusedResult, FusedItem, FusionStats, FusionEngineConfig, MemoryItem, ScoredItem, } from "./types.js";
export { RelevanceScorer } from "./scorer.js";
export { SemanticDeduplicator } from "./dedup.js";
export { ResultMerger } from "./merger.js";
//# sourceMappingURL=index.d.ts.map