arela
Version:
AI-powered CTO with multi-agent orchestration, code summarization, visual testing (web + mobile) for blazing fast development.
82 lines • 1.89 kB
TypeScript
import type { FusedItem } from "../fusion/types.js";
import type { ClassificationResult } from "../meta-rag/types.js";
/**
* A sub-query extracted from a complex query
*/
export interface SubQuery {
id: string;
query: string;
dependencies: string[];
priority: number;
}
/**
* Result of decomposing a query
*/
export interface DecompositionResult {
isComplex: boolean;
originalQuery: string;
subQueries: SubQuery[];
strategy: ExecutionStrategy;
reasoning?: string;
}
/**
* Execution strategy for multi-hop reasoning
*/
export type ExecutionStrategy = "sequential" | "parallel" | "hybrid";
/**
* Result from executing a single hop
*/
export interface HopResult {
subQueryId: string;
subQuery: string;
classification: ClassificationResult;
context: FusedItem[];
relevanceScore: number;
executionTime: number;
}
/**
* Final multi-hop reasoning result
*/
export interface MultiHopResult {
originalQuery: string;
decomposition: DecompositionResult;
hops: HopResult[];
combinedContext: FusedItem[];
stats: MultiHopStats;
}
/**
* Statistics about multi-hop execution
*/
export interface MultiHopStats {
totalHops: number;
totalTime: number;
decompositionTime: number;
executionTime: number;
combinationTime: number;
resultsPerHop: number;
deduplicationRate: number;
tokensEstimated: number;
}
/**
* Options for query decomposer
*/
export interface DecomposerOptions {
maxSubQueries?: number;
minComplexityIndicators?: number;
useOpenAI?: boolean;
}
/**
* Options for multi-hop router
*/
export interface MultiHopRouterOptions {
maxConcurrentHops?: number;
hopTimeout?: number;
}
/**
* Options for result combiner
*/
export interface CombinerOptions {
maxResults?: number;
includeSeparators?: boolean;
}
//# sourceMappingURL=types.d.ts.map