import type { ProviderAdapter, Provider } from "./types"; import { openaiAdapter } from "./openai"; import { anthropicAdapter } from "./anthropic"; export function adapterFor(provider: Provider): ProviderAdapter { switch (provider) { case "openai": return openaiAdapter; case "anthropic": return anthropicAdapter; default: throw Object.assign(new Error(`Provider ${provider} has no adapter yet (MacLustr local inference is a future integration)`), { status: 400 }); } } export * from "./types"; export { estimateCost, blendedPrice, fmtUsd } from "./cost"; export { route, classifyTask, rankFor } from "./router"; export type { RoutingMode, RoutingDecision, TaskClass } from "./router";