arela
Version:
AI-powered CTO with multi-agent orchestration, code summarization, visual testing (web + mobile) for blazing fast development.
60 lines • 1.62 kB
TypeScript
import type { DecompositionResult, DecomposerOptions } from "./types.js";
/**
* QueryDecomposer - Breaks complex queries into simpler sub-queries
*
* Uses LLM (OpenAI or Ollama) to intelligently decompose queries that:
* - Mention "flow" or "process"
* - Have multiple parts (and/then/from/to)
* - Are longer than 10 words
* - Require tracing through multiple components
*/
export declare class QueryDecomposer {
private readonly openaiModel;
private readonly ollamaModel;
private openai?;
private openaiAvailable;
private ollamaAvailable;
private options;
constructor(options?: DecomposerOptions);
/**
* Initialize LLM backends
*/
init(): Promise<void>;
/**
* Decompose a query into sub-queries
*/
decompose(query: string): Promise<DecompositionResult>;
/**
* Detect if a query is complex enough to warrant decomposition
*/
private isComplexQuery;
/**
* Use LLM to break down query into sub-queries
*/
private breakDown;
/**
* Build the decomposition prompt
*/
private buildDecompositionPrompt;
/**
* Decompose using OpenAI
*/
private decomposeWithOpenAI;
/**
* Decompose using Ollama
*/
private decomposeWithOllama;
/**
* Parse LLM response into SubQuery array
*/
private parseSubQueries;
/**
* Fallback decomposition using simple heuristics
*/
private fallbackDecomposition;
/**
* Determine execution strategy based on dependencies
*/
private determineStrategy;
}
//# sourceMappingURL=decomposer.d.ts.map