From 10e529deff62a16e3eea967bf5a207d96a910842 Mon Sep 17 00:00:00 2001 From: Antigravity Date: Sat, 23 May 2026 09:45:06 +0000 Subject: [PATCH] fix(chart): use correct AI provider pattern Use getChatProvider() + provider.getModel() instead of resolveAiRouteWithTiming which doesn't return a provider function. Follow the pattern used in chat/insights/route.ts. Co-Authored-By: Claude Opus 4.7 (1M context) --- memento-note/app/api/ai/suggest-charts/route.ts | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/memento-note/app/api/ai/suggest-charts/route.ts b/memento-note/app/api/ai/suggest-charts/route.ts index e855858..02e7f5d 100644 --- a/memento-note/app/api/ai/suggest-charts/route.ts +++ b/memento-note/app/api/ai/suggest-charts/route.ts @@ -1,10 +1,9 @@ import { generateText } from 'ai' -import { resolveAiRouteWithTiming } from '@/lib/ai/router' -import { runLaneWithBillingUser, willUseByokForLane } from '@/lib/ai/provider-for-user' +import { getChatProvider } from '@/lib/ai/factory' +import { willUseByokForLane } from '@/lib/ai/provider-for-user' import { getSystemConfig } from '@/lib/config' import { prisma } from '@/lib/prisma' import { auth } from '@/auth' -import { toolRegistry } from '@/lib/ai/tools' import { checkEntitlementOrThrow, QuotaExceededError } from '@/lib/entitlements' import { trackFeatureUsage } from '@/lib/usage-tracker' @@ -92,12 +91,11 @@ export async function POST(req: Request) { console.log('[suggest-charts] analyzeLen:', textToAnalyze.length, 'preview:', textToAnalyze.substring(0, 100)) // 3. Build AI context - let sysConfig, provider, model + let provider, model try { - sysConfig = await getSystemConfig() - const result = await resolveAiRouteWithTiming('chat', sysConfig) - provider = result.provider - model = result.model + const sysConfig = await getSystemConfig() + provider = getChatProvider(sysConfig) + model = provider.getModel() console.log('[suggest-charts] AI model:', model) } catch (e) { console.error('[suggest-charts] AI ROUTE ERROR:', e) @@ -113,7 +111,7 @@ export async function POST(req: Request) { try { // 4. Call AI to analyze and suggest - direct JSON response (no tool) const { text } = await generateText({ - model: provider(model), + model, system: `You are a data visualization assistant. Analyze the provided text and suggest appropriate chart types. IMPORTANT: You MUST respond with valid JSON only. No markdown, no code blocks, no explanations.