Skip to content

feat: confluence updater #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 25 commits into
base: main
Choose a base branch
from
Open

feat: confluence updater #8

wants to merge 25 commits into from

Conversation

a-klos
Copy link
Member

@a-klos a-klos commented Apr 30, 2025

This PR adds support for a new “update” operation on Confluence spaces, enabling asynchronous extraction of Confluence content and safe switching of collections in our vector database. It introduces:

  • A new /confluence/update endpoint in the Admin API
  • A ConfluenceUpdater interface and default implementation
  • Shared ConfluenceHandler logic for loading and updating
  • Dependency‐injection registration for the updater
  • Enhancements to document deletion/upload to respect “latest collection” flags
  • Regeneration and cleanup of related OpenAPI clients (admin-api-lib, extractor-api-lib, rag-backend)
  • New abstractions & implementations in RAG Core for duplicating/switching collections

a-klos added 25 commits March 18, 2025 14:44
…licator, and add corresponding default implementations
- Introduced `UploadRequest` model for handling information piece uploads.
- Updated `upload_information_piece` endpoint to utilize `UploadRequest`.
- Refactored `BaseRagApi` and `QdrantDatabase` to support new upload logic.
- Implemented collection duplication functionality in `DefaultCollectionDuplicator`.
- Enhanced `VectorDatabaseSettings` with new attributes for collection management.
- Added cleanup logic for old collections in `QdrantDatabase`.
- Updated tests to cover new functionality and ensure proper integration.
- Removed unused dummy test files and cleaned up imports across modules.
…e and modify information piece remover and uploader to use it
…r and DefaultConfluenceUpdater to utilize it
…t latest collection usage; enhance QdrantDatabase with alias management; add tests for collection duplication and mock environment variables
…ment

- Updated langchain and langchain-community dependencies in pyproject.toml.
- Added a dummy test in dummy4_test.py for basic functionality verification.
- Created __init__.py for the endpoints test directory.
- Implemented a comprehensive testing setup in conftest.py for Qdrant client and vector database.
- Added tests for collection duplication and switching in default_collection_duplicator_test.py and default_collection_switcher_test.py.
- Ensured proper alias management and logging during collection operations.
…n handling in QdrantDatabase; enhance tests for collection switching
- Removed unused imports in `default_confluence_loader.py`, `default_confluence_updater.py`, and `default_document_deleter.py`.
- Added missing commas in function calls for better formatting in `default_confluence_loader.py` and `default_confluence_updater.py`.
- Updated type hints for function parameters in `default_document_deleter.py` and `default_confluence_updater.py`.
- Enhanced formatting and comments in `confluence_parameters.py` for clarity.
- Adjusted `pyproject.toml` to include additional error codes in per-file ignores.
- Cleaned up unnecessary whitespace and comments in various files, including `default_collection_switcher.py` and `qdrant_database.py`.
- Improved test code formatting and consistency in `conftest.py`, `default_collection_duplicator_test.py`, and `default_collection_switcher_test.py`.
- Fixed minor issues in test assertions for better accuracy.
- Added missing return statements in fixture functions to ensure proper behavior.
…liases_of_interest method for improved alias management
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant