Skip to main content

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?

optional apiKey: string

Defined in: packages/agentos/src/query-router/types.ts:434

Optional API key override for LLM calls.


availableTools?

optional availableTools: 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?

optional baseUrl: string

Defined in: packages/agentos/src/query-router/types.ts:437

Optional base URL override for LLM providers.


cacheResults?

optional cacheResults: boolean

Defined in: packages/agentos/src/query-router/types.ts:381

Whether to cache query results.

Default

true

classifierModel?

optional classifierModel: string

Defined in: packages/agentos/src/query-router/types.ts:327

LLM model for the classifier.

Default

'gpt-4o-mini'

classifierProvider?

optional classifierProvider: string

Defined in: packages/agentos/src/query-router/types.ts:330

LLM provider for the classifier.

Default

'openai'

confidenceThreshold?

optional confidenceThreshold: 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?

optional conversationWindowSize: 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()?

optional deepResearch: (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?

optional deepResearchEnabled: 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?

optional embeddingModel: string

Defined in: packages/agentos/src/query-router/types.ts:339

Embedding model identifier.

Default

'text-embedding-3-small'

embeddingProvider?

optional embeddingProvider: string

Defined in: packages/agentos/src/query-router/types.ts:336

Embedding provider name.

Default

'openai'

generationModel?

optional generationModel: string

Defined in: packages/agentos/src/query-router/types.ts:342

LLM model for T0/T1 generation.

Default

'gpt-4o-mini'

generationModelDeep?

optional generationModelDeep: string

Defined in: packages/agentos/src/query-router/types.ts:345

LLM model for T2/T3 generation (deep).

Default

'gpt-4o'

generationProvider?

optional generationProvider: string

Defined in: packages/agentos/src/query-router/types.ts:348

LLM provider for generation.

Default

'openai'

githubRepos?

optional githubRepos: 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?

optional graphEnabled: 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()?

optional graphExpand: (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

RetrievedChunk[]

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?

optional maxContextTokens: number

Defined in: packages/agentos/src/query-router/types.ts:375

Maximum estimated tokens to allocate for documentation context.

Default

4000

maxTier?

optional maxTier: QueryTier

Defined in: packages/agentos/src/query-router/types.ts:333

Maximum tier the classifier may assign.

Default

3

onClassification()?

optional onClassification: (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

ClassificationResult

Returns

void


onRetrieval()?

optional onRetrieval: (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

RetrievalResult

Returns

void


rerank()?

optional rerank: (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

RetrievedChunk[]

topN

number

Returns

Promise<RetrievedChunk[]>