Parent Epic
Part of #19 - Hybrid ADK + AI SDK Migration
Objective
Add Vercel AI SDK and OpenRouter provider packages, create the provider registry for multi-model routing.
Tasks
Implementation
Install Dependencies
bun add ai @openrouter/ai-sdk-provider
Create Provider Registry
New file: src/providers/registry.ts
import { createProviderRegistry, customProvider, wrapLanguageModel, defaultSettingsMiddleware } from 'ai';
import { createOpenRouter } from '@openrouter/ai-sdk-provider';
import { getConfig } from '../config.js';
const config = getConfig();
const openrouter = createOpenRouter({
apiKey: config.openrouter.apiKey,
baseURL: config.openrouter.baseUrl,
});
export const registry = createProviderRegistry({
hca: customProvider({
languageModels: {
'boundary': openrouter(config.openrouter.stageModels.boundary),
'gap': openrouter(config.openrouter.stageModels.gap),
'navigation': openrouter(config.openrouter.stageModels.navigation),
'decomposition': wrapLanguageModel({
model: openrouter(`${config.openrouter.stageModels.decomposition}:thinking`),
middleware: defaultSettingsMiddleware({
settings: {
providerOptions: {
openrouter: { reasoning: { effort: 'high' } }
}
}
})
}),
'deep-reason': wrapLanguageModel({
model: openrouter('anthropic/claude-opus-4:thinking'),
middleware: defaultSettingsMiddleware({
settings: {
providerOptions: {
openrouter: { reasoning: { max_tokens: 16000 } }
}
}
})
}),
},
fallbackProvider: openrouter,
})
});
Files to Create/Modify
package.json - Add dependencies
src/providers/registry.ts - New file
src/providers/index.ts - Export registry
src/config.ts - Add reasoning config options
Acceptance Criteria
Estimated Effort
1 day
Parent Epic
Part of #19 - Hybrid ADK + AI SDK Migration
Objective
Add Vercel AI SDK and OpenRouter provider packages, create the provider registry for multi-model routing.
Tasks
aipackage to dependencies@openrouter/ai-sdk-providerpackage to dependenciessrc/providers/registry.tswith model presetsconfig.tsConfigSchemawith AI SDK specific optionsImplementation
Install Dependencies
Create Provider Registry
New file:
src/providers/registry.tsFiles to Create/Modify
package.json- Add dependenciessrc/providers/registry.ts- New filesrc/providers/index.ts- Export registrysrc/config.ts- Add reasoning config optionsAcceptance Criteria
bun installsucceeds with new dependenciesregistry.languageModel('hca:boundary')returns valid modelregistry.languageModel('hca:decomposition')returns thinking-enabled modelEstimated Effort
1 day