/** * KnowledgeMapper — maps Qdrant API responses to KnowledgeEntry domain entities. * * @layer Application * * (c) 2026 TWWIM UG. All rights reserved. (www.twwim.com) */ import { KnowledgeEntry } from '@/domain/entities/KnowledgeEntry'; import type { KnowledgePoint, KnowledgeScrollResult } from '@/infrastructure/http/api/knowledge'; export interface KnowledgeListResult { readonly entries: readonly KnowledgeEntry[]; readonly nextPageOffset: string | null; readonly total: number; } export class KnowledgeMapper { static toDomain(point: KnowledgePoint): KnowledgeEntry { return KnowledgeEntry.fromPayload(point.id, point.payload); } static toDomainList(result: KnowledgeScrollResult): KnowledgeListResult { return { entries: result.points.map((p) => KnowledgeEntry.fromPayload(p.id, p.payload)), nextPageOffset: result.nextPageOffset, total: result.total, }; } }