diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a191c0..93a366d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.8.2] - 2025-12-16 + +### Fixed + +- **HybridRAG keywords schema mismatch** - library-desk now returns `keywords` as dict with `core_keywords`, client now handles both formats + ## [1.8.1] - 2025-12-16 ### Fixed diff --git a/pyproject.toml b/pyproject.toml index 5641521..70058e9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "tatlock" -version = "1.8.1" +version = "1.8.2" description = "OpenAI-compatible API with Ollama backend" requires-python = ">=3.12" dependencies = [] diff --git a/src/agents/librarian/client.py b/src/agents/librarian/client.py index 5256909..634afc0 100644 --- a/src/agents/librarian/client.py +++ b/src/agents/librarian/client.py @@ -281,9 +281,16 @@ class LibraryDeskClient: metadata=r.get("metadata", {}), )) + # Handle keywords being either a list or a dict with core_keywords + raw_keywords = data.get("keywords", []) + if isinstance(raw_keywords, dict): + keywords = raw_keywords.get("core_keywords", []) + else: + keywords = raw_keywords + return HybridRAGResponse( results=results, - keywords=data.get("keywords", []), + keywords=keywords, synonyms=data.get("synonyms", []), related_dossiers=data.get("related_dossiers", []), formatted_context=data.get("formatted_context", ""),