feat: analysis providers, settings UI, song search, WAV duration fix
- Multi-provider AI analysis (Anthropic, OpenAI, Ollama, Algorithmic) - server-only guards on all provider files; client bundle fix - /settings page with provider status, Ollama model picker, preferences - Song search box on /analyze replacing raw MBID input (debounced, keyboard nav) - Auto-register song via MusicBrainz on POST /api/tracks (no more 404) - Fix WAV duration bug: last section songEnd was double-counting elapsed time - Registry sync comment updated for self-hosted HTTPS git servers Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
20
app/api/analyze/providers/route.ts
Normal file
20
app/api/analyze/providers/route.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import { NextResponse } from "next/server";
|
||||
import { getProviderInfoList, getOllamaModels } from "@/lib/analysis/providers/registry";
|
||||
|
||||
/**
|
||||
* GET /api/analyze/providers
|
||||
*
|
||||
* Returns all providers (available and unavailable) and the list of
|
||||
* locally available Ollama models (empty array if Ollama is unreachable).
|
||||
*/
|
||||
export async function GET() {
|
||||
const [providers, ollamaModels] = await Promise.all([
|
||||
getProviderInfoList(),
|
||||
getOllamaModels(),
|
||||
]);
|
||||
|
||||
return NextResponse.json(
|
||||
{ providers, ollamaModels },
|
||||
{ headers: { "Cache-Control": "no-store" } }
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user