Fix mapping of library document list

This commit is contained in:
Cyber MacGeddon 2025-06-23 21:51:15 +01:00
parent 68e4fa4077
commit 6bfce4a6aa
4 changed files with 12 additions and 12 deletions

View file

@ -11,7 +11,7 @@ from .translators.retrieval import (
) )
from .translators.triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator from .translators.triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator
from .translators.knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator from .translators.knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator
from .translators.library import LibraryDocumentTranslator, LibraryProcessingTranslator from .translators.library import LibraryRequestTranslator, LibraryResponseTranslator
from .translators.document_loading import DocumentTranslator, TextDocumentTranslator from .translators.document_loading import DocumentTranslator, TextDocumentTranslator
from .translators.config import ConfigRequestTranslator, ConfigResponseTranslator from .translators.config import ConfigRequestTranslator, ConfigResponseTranslator
from .translators.flow import FlowRequestTranslator, FlowResponseTranslator from .translators.flow import FlowRequestTranslator, FlowResponseTranslator
@ -66,8 +66,8 @@ TranslatorRegistry.register_service(
TranslatorRegistry.register_service( TranslatorRegistry.register_service(
"librarian", "librarian",
LibraryDocumentTranslator(), LibraryRequestTranslator(),
LibraryProcessingTranslator() LibraryResponseTranslator()
) )
TranslatorRegistry.register_service( TranslatorRegistry.register_service(

View file

@ -8,7 +8,7 @@ from .retrieval import DocumentRagRequestTranslator, DocumentRagResponseTranslat
from .retrieval import GraphRagRequestTranslator, GraphRagResponseTranslator from .retrieval import GraphRagRequestTranslator, GraphRagResponseTranslator
from .triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator from .triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator
from .knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator from .knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator
from .library import LibraryDocumentTranslator, LibraryProcessingTranslator from .library import LibraryRequestTranslator, LibraryResponseTranslator
from .document_loading import DocumentTranslator, TextDocumentTranslator, ChunkTranslator, DocumentEmbeddingsTranslator from .document_loading import DocumentTranslator, TextDocumentTranslator, ChunkTranslator, DocumentEmbeddingsTranslator
from .config import ConfigRequestTranslator, ConfigResponseTranslator from .config import ConfigRequestTranslator, ConfigResponseTranslator
from .flow import FlowRequestTranslator, FlowResponseTranslator from .flow import FlowRequestTranslator, FlowResponseTranslator
@ -16,4 +16,4 @@ from .prompt import PromptRequestTranslator, PromptResponseTranslator
from .embeddings_query import ( from .embeddings_query import (
DocumentEmbeddingsRequestTranslator, DocumentEmbeddingsResponseTranslator, DocumentEmbeddingsRequestTranslator, DocumentEmbeddingsResponseTranslator,
GraphEmbeddingsRequestTranslator, GraphEmbeddingsResponseTranslator GraphEmbeddingsRequestTranslator, GraphEmbeddingsResponseTranslator
) )

View file

@ -73,7 +73,7 @@ class LibraryRequestTranslator(MessageTranslator):
result["user"] = obj.user result["user"] = obj.user
if obj.collection: if obj.collection:
result["collection"] = obj.collection result["collection"] = obj.collection
if obj.criteria: if obj.criteria is not None:
result["criteria"] = [ result["criteria"] = [
{ {
"key": c.key, "key": c.key,
@ -105,13 +105,13 @@ class LibraryResponseTranslator(MessageTranslator):
if obj.content: if obj.content:
result["content"] = obj.content.decode("utf-8") if isinstance(obj.content, bytes) else obj.content result["content"] = obj.content.decode("utf-8") if isinstance(obj.content, bytes) else obj.content
if obj.document_metadatas: if obj.document_metadatas is not None:
result["document-metadatas"] = [ result["document-metadatas"] = [
self.doc_metadata_translator.from_pulsar(dm) self.doc_metadata_translator.from_pulsar(dm)
for dm in obj.document_metadatas for dm in obj.document_metadatas
] ]
if obj.processing_metadatas: if obj.processing_metadatas is not None:
result["processing-metadatas"] = [ result["processing-metadatas"] = [
self.proc_metadata_translator.from_pulsar(pm) self.proc_metadata_translator.from_pulsar(pm)
for pm in obj.processing_metadatas for pm in obj.processing_metadatas
@ -121,4 +121,4 @@ class LibraryResponseTranslator(MessageTranslator):
def from_response_with_completion(self, obj: LibrarianResponse) -> Tuple[Dict[str, Any], bool]: def from_response_with_completion(self, obj: LibrarianResponse) -> Tuple[Dict[str, Any], bool]:
"""Returns (response_dict, is_final)""" """Returns (response_dict, is_final)"""
return self.from_pulsar(obj), True return self.from_pulsar(obj), True

View file

@ -18,7 +18,7 @@ class DocumentMetadataTranslator(Translator):
kind=data.get("kind"), kind=data.get("kind"),
title=data.get("title"), title=data.get("title"),
comments=data.get("comments"), comments=data.get("comments"),
metadata=self.subgraph_translator.to_pulsar(metadata) if metadata else [], metadata=self.subgraph_translator.to_pulsar(metadata) if metadata is not None else [],
user=data.get("user"), user=data.get("user"),
tags=data.get("tags") tags=data.get("tags")
) )
@ -36,7 +36,7 @@ class DocumentMetadataTranslator(Translator):
result["title"] = obj.title result["title"] = obj.title
if obj.comments: if obj.comments:
result["comments"] = obj.comments result["comments"] = obj.comments
if obj.metadata: if obj.metadata is not None:
result["metadata"] = self.subgraph_translator.from_pulsar(obj.metadata) result["metadata"] = self.subgraph_translator.from_pulsar(obj.metadata)
if obj.user: if obj.user:
result["user"] = obj.user result["user"] = obj.user
@ -78,4 +78,4 @@ class ProcessingMetadataTranslator(Translator):
if obj.tags is not None: if obj.tags is not None:
result["tags"] = obj.tags result["tags"] = obj.tags
return result return result