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

@@ -0,0 +1,20 @@
import type { EmbeddingProfile } from './embedding-profile.js';
export interface EmbeddingSettingsProps {
profiles: EmbeddingProfile[];
activeProfile: EmbeddingProfile | null;
}
export class EmbeddingSettings {
profiles: EmbeddingProfile[];
activeProfile: EmbeddingProfile | null;
constructor(props: EmbeddingSettingsProps) {
this.profiles = props.profiles;
this.activeProfile = props.activeProfile;
}
get activeProfileId(): string | null {
return this.activeProfile?.id ?? null;
}
}