July 9, 2026
ScanProvider registry for 44+ providers + BYOK hardening
Architecture
- Full registry in
@repo/ai(Map +registerProvider,getDirectProviderIds,registerKeyResolver,providesSettledCostMetadata,isRouter,shouldUseSettledCost). - No hard-coded provider lists or
=== "openrouter"checks in hot paths (execute, dispatch, Inngest, costs, extractor). computeUsedOurKeyForPlatformsis injectable for tests.- API side registers resolvers at load (proper layering).
User-facing fix
- Fixed crash on Settings → API keys:
DIRECT_BYOK_CONFIGS.map is not a function(was caused by exporting data from a"use client"module and using it in an RSC page under Turbopack).
Other
- All hot paths, BYOK UI, costs, and tests updated to be registry-driven.
- Extensive plan + research notes captured in
.apsolut/03-plan/. feat(ai): registry corefeat(api): dynamic execution + resolver wiringfeat(saas): integration + RSC data fixdocs: handoffs and research