← back to ClawCoder

src/app/api/suggestions/route.ts

28 lines

import { NextResponse } from 'next/server'

export async function POST(request: Request) {
  try {
    const { content, selectedSuggestions } = await request.json()

    if (!content || !selectedSuggestions || !Array.isArray(selectedSuggestions)) {
      return NextResponse.json(
        { error: 'content (string) and selectedSuggestions (array) are required' },
        { status: 400 }
      )
    }

    let result: string
    try {
      const { applySuggestions } = await import('@/lib/analyzer/applier')
      result = applySuggestions(content, selectedSuggestions)
    } catch {
      return NextResponse.json({ error: 'Applier module not yet available' }, { status: 503 })
    }

    return NextResponse.json({ updatedContent: result })
  } catch (err: unknown) {
    const message = err instanceof Error ? err.message : 'Failed to apply suggestions'
    return NextResponse.json({ error: message }, { status: 500 })
  }
}