Data layerProviders
Higher-order adapters
Compose adapters — route, ensemble, fallback.
createRouter
Pick an adapter per request by cost, latency, tags, or custom policy.
import { createRouter, openai, anthropic } from '@agentskit/adapters'
const adapter = createRouter({
candidates: { fast: openai(...), smart: anthropic(...) },
route: (req) => (req.tags?.includes('code') ? 'smart' : 'fast'),
})createEnsembleAdapter
Fan out to N candidates, merge per strategy (first, majority, custom).
import { createEnsembleAdapter } from '@agentskit/adapters'
const adapter = createEnsembleAdapter({
candidates: [openai(...), anthropic(...), gemini(...)],
strategy: 'first-success',
})createFallbackAdapter
Try candidates in order until one succeeds.
import { createFallbackAdapter } from '@agentskit/adapters'
const adapter = createFallbackAdapter([primary, secondary, tertiary])