import { EmbeddingProfile, EmbeddingProfileEntity } from '$lib/server/models/embedding-profile.js'; function parseConfig(config: Record | string | null): Record { if (!config) { return {}; } if (typeof config === 'string') { try { const parsed = JSON.parse(config); return parsed && typeof parsed === 'object' ? (parsed as Record) : {}; } catch { return {}; } } return config; } export class EmbeddingProfileMapper { static fromEntity(entity: EmbeddingProfileEntity): EmbeddingProfile { return new EmbeddingProfile({ id: entity.id, providerKind: entity.provider_kind, title: entity.title, enabled: Boolean(entity.enabled), isDefault: Boolean(entity.is_default), model: entity.model, dimensions: entity.dimensions, config: parseConfig(entity.config), createdAt: entity.created_at, updatedAt: entity.updated_at }); } }