feat(search): add SearXNG client with whitelist-filtered web search

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-17 15:33:21 +02:00
parent 4d5e0aa963
commit 52c25fdd2c
3 changed files with 167 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
import type { RequestHandler } from './$types';
import { json, error } from '@sveltejs/kit';
import { getDb } from '$lib/server/db';
import { searchWeb } from '$lib/server/search/searxng';
export const GET: RequestHandler = async ({ url }) => {
const q = url.searchParams.get('q')?.trim() ?? '';
if (!q) error(400, { message: 'Missing ?q=' });
try {
const hits = await searchWeb(getDb(), q);
return json({ query: q, hits });
} catch (e) {
error(502, { message: `Web search unavailable: ${(e as Error).message}` });
}
};