Router
Defined in: packages/ai.matey.types/src/router.ts:526
Router manages multiple backend adapters with intelligent routing.
Extends
Section titled “Extends”BackendAdapter<unknown,unknown>
Properties
Section titled “Properties”config
Section titled “config”
readonlyconfig:RouterConfig
Defined in: packages/ai.matey.types/src/router.ts:530
Router configuration.
metadata
Section titled “metadata”
readonlymetadata:AdapterMetadata
Defined in: packages/ai.matey.types/src/adapters.ts:268
Adapter metadata for identification and capabilities.
Inherited from
Section titled “Inherited from”Methods
Section titled “Methods”checkHealth()
Section titled “checkHealth()”Call Signature
Section titled “Call Signature”checkHealth():
Promise<Record<string,boolean>>
Defined in: packages/ai.matey.types/src/router.ts:639
Check health of all backends.
Returns
Section titled “Returns”Promise<Record<string, boolean>>
Call Signature
Section titled “Call Signature”checkHealth(
name):Promise<boolean>
Defined in: packages/ai.matey.types/src/router.ts:643
Check health of specific backend.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<boolean>
clone()
Section titled “clone()”clone(
config):Router
Defined in: packages/ai.matey.types/src/router.ts:686
Clone router with new configuration.
Parameters
Section titled “Parameters”config
Section titled “config”Partial<RouterConfig>
Returns
Section titled “Returns”Router
closeCircuitBreaker()
Section titled “closeCircuitBreaker()”closeCircuitBreaker(
name):void
Defined in: packages/ai.matey.types/src/router.ts:653
Manually close circuit breaker for a backend.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
dispatchParallel()
Section titled “dispatchParallel()”dispatchParallel(
request,options?,signal?):Promise<ParallelDispatchResult>
Defined in: packages/ai.matey.types/src/router.ts:626
Dispatch request to multiple backends in parallel.
Parameters
Section titled “Parameters”request
Section titled “request”options?
Section titled “options?”signal?
Section titled “signal?”AbortSignal
Returns
Section titled “Returns”Promise<ParallelDispatchResult>
dispose()
Section titled “dispose()”dispose():
void
Defined in: packages/ai.matey.types/src/router.ts:691
Clean up resources.
Returns
Section titled “Returns”void
estimateCost()?
Section titled “estimateCost()?”
optionalestimateCost(request):Promise<number|null>
Defined in: packages/ai.matey.types/src/adapters.ts:342
Optional: Estimate cost for a request.
Parameters
Section titled “Parameters”request
Section titled “request”IR request to estimate cost for
Returns
Section titled “Returns”Promise<number | null>
Estimated cost in USD (or null if unavailable)
Inherited from
Section titled “Inherited from”execute()
Section titled “execute()”execute(
request,signal?):Promise<IRChatResponse>
Defined in: packages/ai.matey.types/src/router.ts:616
Execute request with automatic backend selection and fallback.
Parameters
Section titled “Parameters”request
Section titled “request”signal?
Section titled “signal?”AbortSignal
Returns
Section titled “Returns”Promise<IRChatResponse>
Overrides
Section titled “Overrides”executeStream()
Section titled “executeStream()”executeStream(
request,signal?):IRChatStream
Defined in: packages/ai.matey.types/src/router.ts:621
Execute streaming request with automatic backend selection and fallback.
Parameters
Section titled “Parameters”request
Section titled “request”signal?
Section titled “signal?”AbortSignal
Returns
Section titled “Returns”Overrides
Section titled “Overrides”fromIR()
Section titled “fromIR()”fromIR(
request):unknown
Defined in: packages/ai.matey.types/src/adapters.ts:283
Convert universal IR request to provider-specific format.
Useful for:
- Debugging: Inspect what will be sent to the provider
- Testing: Test conversion logic without making API calls
- Transparency: See provider-specific request structure
Parameters
Section titled “Parameters”request
Section titled “request”Universal IR request
Returns
Section titled “Returns”unknown
Provider-specific request object
Throws
Section titled “Throws”If request is invalid for this provider
Throws
Section titled “Throws”If conversion fails
Inherited from
Section titled “Inherited from”get(
name):BackendAdapter<unknown,unknown> |undefined
Defined in: packages/ai.matey.types/src/router.ts:549
Get a registered backend adapter.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”BackendAdapter<unknown, unknown> | undefined
getBackendInfo()
Section titled “getBackendInfo()”Call Signature
Section titled “Call Signature”getBackendInfo():
BackendInfo[]
Defined in: packages/ai.matey.types/src/router.ts:564
Get information about all registered backends.
Returns
Section titled “Returns”Call Signature
Section titled “Call Signature”getBackendInfo(
name):BackendInfo|undefined
Defined in: packages/ai.matey.types/src/router.ts:568
Get information about specific backend.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”BackendInfo | undefined
getBackendStats()
Section titled “getBackendStats()”getBackendStats(
name):BackendStats|undefined
Defined in: packages/ai.matey.types/src/router.ts:677
Get statistics for specific backend.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”BackendStats | undefined
getFallbackChain()
Section titled “getFallbackChain()”getFallbackChain(): readonly
string[]
Defined in: packages/ai.matey.types/src/router.ts:582
Get current fallback chain.
Returns
Section titled “Returns”readonly string[]
getModelMapping()
Section titled “getModelMapping()”getModelMapping():
ModelMapping
Defined in: packages/ai.matey.types/src/router.ts:592
Get current model mapping.
Returns
Section titled “Returns”getModelPatterns()
Section titled “getModelPatterns()”getModelPatterns(): readonly
ModelPatternMapping[]
Defined in: packages/ai.matey.types/src/router.ts:602
Get current model patterns.
Returns
Section titled “Returns”readonly ModelPatternMapping[]
getStats()
Section titled “getStats()”getStats():
RouterStats
Defined in: packages/ai.matey.types/src/router.ts:667
Get router statistics.
Returns
Section titled “Returns”has(
name):boolean
Defined in: packages/ai.matey.types/src/router.ts:554
Check if backend is registered.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”boolean
healthCheck()?
Section titled “healthCheck()?”
optionalhealthCheck():Promise<boolean>
Defined in: packages/ai.matey.types/src/adapters.ts:334
Optional: Health check to verify backend is available.
Returns
Section titled “Returns”Promise<boolean>
true if backend is healthy and available
Inherited from
Section titled “Inherited from”listBackends()
Section titled “listBackends()”listBackends(): readonly
string[]
Defined in: packages/ai.matey.types/src/router.ts:559
List all registered backend names.
Returns
Section titled “Returns”readonly string[]
listModels()?
Section titled “listModels()?”
optionallistModels(options?):Promise<ListModelsResult>
Defined in: packages/ai.matey.types/src/adapters.ts:357
Optional: List available models from this backend.
Behavior depends on provider:
- Providers with API endpoints (OpenAI, Groq): Fetch from API with caching
- Providers without endpoints (Anthropic): Return static list from config or defaults
- Can be overridden via config.models or config.modelsEndpoint
Parameters
Section titled “Parameters”options?
Section titled “options?”Options for listing models (filtering, cache control)
Returns
Section titled “Returns”Promise<ListModelsResult>
List of available models with metadata
Throws
Section titled “Throws”If remote fetch fails
Throws
Section titled “Throws”If network request fails
Inherited from
Section titled “Inherited from”openCircuitBreaker()
Section titled “openCircuitBreaker()”openCircuitBreaker(
name,timeoutMs?):void
Defined in: packages/ai.matey.types/src/router.ts:648
Manually open circuit breaker for a backend.
Parameters
Section titled “Parameters”string
timeoutMs?
Section titled “timeoutMs?”number
Returns
Section titled “Returns”void
register()
Section titled “register()”register(
name,adapter):Router
Defined in: packages/ai.matey.types/src/router.ts:539
Register a backend adapter.
Parameters
Section titled “Parameters”string
adapter
Section titled “adapter”Returns
Section titled “Returns”Router
resetCircuitBreaker()
Section titled “resetCircuitBreaker()”resetCircuitBreaker(
name?):void
Defined in: packages/ai.matey.types/src/router.ts:658
Reset circuit breaker statistics.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”void
resetStats()
Section titled “resetStats()”resetStats():
void
Defined in: packages/ai.matey.types/src/router.ts:672
Reset router statistics.
Returns
Section titled “Returns”void
selectBackend()
Section titled “selectBackend()”selectBackend(
request,preferredBackend?):Promise<string>
Defined in: packages/ai.matey.types/src/router.ts:611
Select backend for a request.
Parameters
Section titled “Parameters”request
Section titled “request”preferredBackend?
Section titled “preferredBackend?”string
Returns
Section titled “Returns”Promise<string>
setFallbackChain()
Section titled “setFallbackChain()”setFallbackChain(
chain):Router
Defined in: packages/ai.matey.types/src/router.ts:577
Set fallback chain for sequential failover.
Parameters
Section titled “Parameters”readonly string[]
Returns
Section titled “Returns”Router
setModelMapping()
Section titled “setModelMapping()”setModelMapping(
mapping):Router
Defined in: packages/ai.matey.types/src/router.ts:587
Set model to backend mapping.
Parameters
Section titled “Parameters”mapping
Section titled “mapping”Returns
Section titled “Returns”Router
setModelPatterns()
Section titled “setModelPatterns()”setModelPatterns(
patterns):Router
Defined in: packages/ai.matey.types/src/router.ts:597
Set model pattern mappings.
Parameters
Section titled “Parameters”patterns
Section titled “patterns”readonly ModelPatternMapping[]
Returns
Section titled “Returns”Router
toIR()
Section titled “toIR()”toIR(
response,originalRequest,latencyMs):IRChatResponse
Defined in: packages/ai.matey.types/src/adapters.ts:299
Convert provider-specific response to universal IR.
Useful for:
- Testing: Convert mock provider responses to IR
- Debugging: Parse provider responses manually
- Format conversion: Use backend as response converter
Parameters
Section titled “Parameters”response
Section titled “response”unknown
Provider-specific response object
originalRequest
Section titled “originalRequest”Original IR request (for context)
latencyMs
Section titled “latencyMs”number
Request latency in milliseconds
Returns
Section titled “Returns”Universal IR response
Throws
Section titled “Throws”If conversion fails
Inherited from
Section titled “Inherited from”unregister()
Section titled “unregister()”unregister(
name):Router
Defined in: packages/ai.matey.types/src/router.ts:544
Unregister a backend adapter.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Router