Interface: QueryRouterConfig
Defined in: packages/agentos/src/query-router/types.ts:309
Public constructor configuration for the QueryRouter pipeline.
knowledgeCorpus is required. All other fields are optional and default to
the values in DEFAULT_QUERY_ROUTER_CONFIG.
Example
const router = new QueryRouter({
knowledgeCorpus: ['./docs', './packages/agentos/docs'],
availableTools: ['web_search', 'deep_research'],
maxTier: 3,
});
Properties
apiKey?
optionalapiKey:string
Defined in: packages/agentos/src/query-router/types.ts:434
Optional API key override for LLM calls.
availableTools?
optionalavailableTools:string[]
Defined in: packages/agentos/src/query-router/types.ts:388
Optional tool/capability names exposed to the classifier prompt so it can reason about what the runtime can actually do.
Default
[]
baseUrl?
optionalbaseUrl:string
Defined in: packages/agentos/src/query-router/types.ts:437
Optional base URL override for LLM providers.
cacheResults?
optionalcacheResults:boolean
Defined in: packages/agentos/src/query-router/types.ts:381
Whether to cache query results.
Default
true
classifierModel?
optionalclassifierModel:string
Defined in: packages/agentos/src/query-router/types.ts:327
LLM model for the classifier.
Default
'gpt-4o-mini'
classifierProvider?
optionalclassifierProvider:string
Defined in: packages/agentos/src/query-router/types.ts:330
LLM provider for the classifier.
Default
'openai'
confidenceThreshold?
optionalconfidenceThreshold:number
Defined in: packages/agentos/src/query-router/types.ts:324
Minimum confidence threshold for accepting a classification result. If confidence falls below this, the router may escalate to a higher tier.
Default
0.7
conversationWindowSize?
optionalconversationWindowSize:number
Defined in: packages/agentos/src/query-router/types.ts:369
Number of recent conversation messages to include as context for classification and generation.
Default
5
deepResearch()?
optionaldeepResearch: (query,sources) =>Promise<{sources:RetrievedChunk[];synthesis:string; }>
Defined in: packages/agentos/src/query-router/types.ts:416
Optional host-provided deep research callback.
Provide this to replace the built-in placeholder research branch with a real multi-source research runtime.
Parameters
query
string
sources
string[]
Returns
Promise<{ sources: RetrievedChunk[]; synthesis: string; }>
deepResearchEnabled?
optionaldeepResearchEnabled:boolean
Defined in: packages/agentos/src/query-router/types.ts:362
Whether to enable deep research mode for tier 3 queries. Research mode performs iterative multi-pass retrieval and synthesis.
Default
true
embeddingModel?
optionalembeddingModel:string
Defined in: packages/agentos/src/query-router/types.ts:339
Embedding model identifier.
Default
'text-embedding-3-small'
embeddingProvider?
optionalembeddingProvider:string
Defined in: packages/agentos/src/query-router/types.ts:336
Embedding provider name.
Default
'openai'
generationModel?
optionalgenerationModel:string
Defined in: packages/agentos/src/query-router/types.ts:342
LLM model for T0/T1 generation.
Default
'gpt-4o-mini'
generationModelDeep?
optionalgenerationModelDeep:string
Defined in: packages/agentos/src/query-router/types.ts:345
LLM model for T2/T3 generation (deep).
Default
'gpt-4o'
generationProvider?
optionalgenerationProvider:string
Defined in: packages/agentos/src/query-router/types.ts:348
LLM provider for generation.
Default
'openai'
githubRepos?
optionalgithubRepos:RepoIndexConfig
Defined in: packages/agentos/src/query-router/types.ts:445
Configuration for background GitHub repository indexing.
When provided, the router will asynchronously index GitHub repos after
init() completes and merge the resulting chunks into the corpus.
graphEnabled?
optionalgraphEnabled:boolean
Defined in: packages/agentos/src/query-router/types.ts:355
Whether to enable GraphRAG-based retrieval for tier >= 2 queries. Requires a configured GraphRAG engine.
Default
true
graphExpand()?
optionalgraphExpand: (seedChunks) =>Promise<RetrievedChunk[]>
Defined in: packages/agentos/src/query-router/types.ts:396
Optional host-provided graph expansion callback.
Provide this to replace the built-in placeholder graphExpand() branch
with a real GraphRAG or relationship-expansion implementation.
Parameters
seedChunks
Returns
Promise<RetrievedChunk[]>
knowledgeCorpus
knowledgeCorpus:
string[]
Defined in: packages/agentos/src/query-router/types.ts:317
Directories containing .md / .mdx files to ingest as the knowledge
corpus.
init() will throw if these paths resolve to zero readable markdown
sections, because a successful router init should imply a non-empty corpus.
maxContextTokens?
optionalmaxContextTokens:number
Defined in: packages/agentos/src/query-router/types.ts:375
Maximum estimated tokens to allocate for documentation context.
Default
4000
maxTier?
optionalmaxTier:QueryTier
Defined in: packages/agentos/src/query-router/types.ts:333
Maximum tier the classifier may assign.
Default
3
onClassification()?
optionalonClassification: (result) =>void
Defined in: packages/agentos/src/query-router/types.ts:425
Hook called after classification completes. Receives the ClassificationResult for consumer integration.
Parameters
result
Returns
void
onRetrieval()?
optionalonRetrieval: (result) =>void
Defined in: packages/agentos/src/query-router/types.ts:431
Hook called after retrieval completes. Receives the RetrievalResult for consumer integration.
Parameters
result
Returns
void
rerank()?
optionalrerank: (query,chunks,topN) =>Promise<RetrievedChunk[]>
Defined in: packages/agentos/src/query-router/types.ts:404
Optional host-provided reranker callback.
Provide this to replace the built-in lexical heuristic reranker with a provider-backed or cross-encoder reranker.
Parameters
query
string
chunks
topN
number
Returns
Promise<RetrievedChunk[]>