feat(EMBEDDINGS-0001): enable local embedder by default and overhaul settings page

- Wire local embedding provider as the default on startup when no profile is configured
- Refactor embedding settings into dedicated service, DTOs, mappers and models
- Rebuild settings page with profile management UI and live test feedback
- Expose index summary (indexed versions + embedding count) on repo endpoints
- Harden indexing pipeline and context search with additional test coverage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Giancarmine Salucci
2026-03-28 09:28:01 +01:00
parent d1381f7fc0
commit 781d224adc
30 changed files with 1419 additions and 313 deletions

View File

@@ -32,7 +32,8 @@ export const GET: RequestHandler = ({ url }) => {
const enriched = libraries.map((repo) => ({
...RepositoryMapper.toDto(repo),
versions: service.getVersions(repo.id)
versions: service.getVersions(repo.id),
...service.getIndexSummary(repo.id)
}));
return json({ libraries: enriched, total, limit, offset });

View File

@@ -23,7 +23,7 @@ export const GET: RequestHandler = ({ params }) => {
return json({ error: 'Repository not found', code: 'NOT_FOUND' }, { status: 404 });
}
const versions = service.getVersions(id);
return json({ ...RepositoryMapper.toDto(repo), versions });
return json({ ...RepositoryMapper.toDto(repo), versions, ...service.getIndexSummary(id) });
} catch (err) {
return handleServiceError(err);
}