1+ import { databuddyLLM } from "@databuddy/sdk/ai/vercel" ;
12import { createOpenRouter } from "@openrouter/ai-sdk-provider" ;
23
34const apiKey = process . env . AI_API_KEY ;
@@ -12,6 +13,16 @@ export const openrouter = createOpenRouter({
1213 headers,
1314} ) ;
1415
16+ // Create Databuddy LLM instance with transport
17+ const aiLogsApiUrl = process . env . AI_LOGS_API_URL ;
18+ const { track } = databuddyLLM (
19+ aiLogsApiUrl
20+ ? {
21+ apiUrl : aiLogsApiUrl ,
22+ }
23+ : { }
24+ ) ;
25+
1526/**
1627 * Model configurations for different agent types.
1728 * Centralized here for easy switching and environment-based overrides.
@@ -21,27 +32,27 @@ export const openrouter = createOpenRouter({
2132const overrideModel : string | null = null ;
2233
2334const modelNames = {
24- triage : overrideModel || "anthropic/claude-haiku-4.5" ,
25- analytics : overrideModel || "anthropic/claude-haiku-4.5" ,
35+ triage : overrideModel ?? "anthropic/claude-haiku-4.5" ,
36+ analytics : overrideModel ?? "anthropic/claude-haiku-4.5" ,
2637 // triage: "z-ai/glm-4.6",
2738 // analytics: "z-ai/glm-4.6",
28- advanced : overrideModel || "anthropic/claude-sonnet-4.5" ,
39+ advanced : overrideModel ?? "anthropic/claude-sonnet-4.5" ,
2940 // advanced: "z-ai/glm-4.6",
3041 perplexity : "perplexity/sonar-pro" ,
3142} as const ;
3243
3344export const models = {
3445 /** Fast, cheap model for routing/triage decisions */
35- triage : openrouter . chat ( modelNames . triage ) ,
46+ triage : track ( openrouter . chat ( modelNames . triage ) ) ,
3647
3748 /** Balanced model for most analytical tasks */
38- analytics : openrouter . chat ( modelNames . analytics ) ,
49+ analytics : track ( openrouter . chat ( modelNames . analytics ) ) ,
3950
4051 /** High-capability model for complex reasoning and reflection */
41- advanced : openrouter . chat ( modelNames . advanced ) ,
52+ advanced : track ( openrouter . chat ( modelNames . advanced ) ) ,
4253
4354 /** Perplexity model for real-time web search and competitor analysis */
44- perplexity : openrouter . chat ( modelNames . perplexity ) ,
55+ perplexity : track ( openrouter . chat ( modelNames . perplexity ) ) ,
4556} as const ;
4657
4758export type ModelKey = keyof typeof models ;
0 commit comments