Skip to content

Provider System

The Provider System is the backbone of Layerr’s multi-provider orchestration. It abstracts every LLM provider behind a unified interface, handles provider discovery, health monitoring, and adapts requests/responses across different APIs.

Provider Registry
|
v
[Capability Matching] -- filters by workload requirements
|
v
[Health Filtering] -- removes unhealthy providers
|
v
[Resolution] -- resolves URLs, handles auth
|
v
[Scoring] -- ranks remaining candidates
|
v
[Adapter] -- transforms to provider-specific format
|
v
[Execution] -- sends request via gateway

The registry (providers/registry.ts) maintains metadata for every connected provider:

FieldDescription
idUnique provider identifier (e.g., “openai-prod”)
typeProvider type: openai, anthropic, ollama, custom
nameHuman-readable name
baseUrlAPI base URL
modelsSupported models with metadata
capabilitiesFeature flags (code, reasoning, vision, etc.)
pricingToken pricing per model
regionGeographic region
statusactive, inactive, maintenance
TypeAdapter FileDescription
OpenAI-compatibleproviders/openai-compat/adapter.tsOpenAI, Groq, Together, Anyscale, custom OpenAI-compatible
AnthropicPart of OpenAI-compat adapter with Claude-specific transformsClaude, Claude Instant
Ollamaproviders/ollama/adapter.tsLocal self-hosted models
CustomUser-defined adapterAny provider with custom API

The health system (providers/health/aggregator.ts) tracks:

MetricSourceUpdate Frequency
Latency p50/p99Execution tracesEvery request
Error rateExecution outcomesEvery request
UptimeHealth probesEvery 60 seconds
Success rateTrace analysisRolling 1-hour window
ThroughputRequest countsReal-time

The health adjuster (providers/health/adjustments.ts) dynamically modifies provider scores:

  • Error spike penalty: Temporary score reduction after consecutive failures
  • Latency degradation: Score reduction if p99 latency exceeds threshold
  • Recovery boost: Score restoration after sustained healthy period
  • Region outage: Zero score for providers in affected regions

Provider intelligence (providers/intelligence.ts) maintains a knowledge base about each provider:

IntelligenceDescription
Model capabilitiesWhich tasks each model excels at (code, creative, reasoning)
Cost efficiencyTokens per dollar for different workload types
Quality patternsHistorical quality scores per workload category
Failure modesCommon failure patterns and their predictors
Seasonal trendsTime-of-day and day-of-week performance variations

The capability system ensures providers can actually handle the workload:

CapabilityDescription
codeCode generation and understanding
reasoningMulti-step logical reasoning
visionImage understanding
long-context>32k context window
function-callingTool/function calling
json-modeStructured JSON output
streamingReal-time streaming responses
low-latency<500ms time-to-first-token

The resolver (providers/resolution.ts) handles:

  1. URL resolution: Converts provider IDs to actual API URLs
  2. Authentication: Injects API keys from secure storage
  3. Proxy configuration: Routes through enterprise proxies if configured
  4. SSL/TLS: Certificate validation and custom CA support
FilePurpose
providers/registry.tsProvider registry and CRUD
providers/registry-db.tsDatabase layer for provider persistence
providers/registry-types.tsTypeScript type definitions
providers/resolution.tsURL and auth resolution
providers/metadata.tsProvider metadata management
providers/intelligence.tsProvider intelligence and historical patterns
providers/capabilities.tsCapability definitions and matching
providers/openai-compat/adapter.tsOpenAI-compatible API adapter
providers/ollama/adapter.tsOllama local model adapter
providers/health/aggregator.tsHealth metrics aggregation
providers/health/adjustments.tsDynamic health score adjustments
ComponentFilePurpose
ProviderTopologyMapsrc/providers/ProviderTopologyMap.tsxVisual provider network map
ProviderCapabilityMatrixsrc/providers/ProviderCapabilityMatrix.tsxCapability comparison grid
ProviderDetailPanelsrc/providers/ProviderDetailPanel.tsxProvider detail view
ProviderIntelligenceInspectorsrc/providers/ProviderIntelligenceInspector.tsxProvider intelligence dashboard
ProviderRecommendationssrc/providers/ProviderRecommendations.tsxProvider setup recommendations
LocalVsCloudSplitsrc/providers/LocalVsCloudSplit.tsxLocal vs cloud provider comparison
FallbackChainVizsrc/providers/FallbackChainViz.tsxVisual fallback chain
OrchestrationProviderCardsrc/providers/OrchestrationProviderCard.tsxProvider card component