• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

anthonypdawson / vector-inspector / 22865738807

09 Mar 2026 05:19PM UTC coverage: 80.137% (+0.3%) from 79.791%
22865738807

push

github

web-flow
Llm provider support (#25)

* feat: implement LLM provider architecture with Ollama, llama-cpp, and OpenAI-compatible support

* feat: add optional LLM runtime support with llama-cpp-python and update installation instructions

* feat: add documentation for LLM provider architecture, fake provider spec, and quickstart guide

* feat: add installation scripts for llama-cpp-python on Unix and Windows, and create documentation for LLM provider quickstart and fake provider

* feat: Implement LLM Runtime Manager and Provider Interface

- Added LLMRuntimeManager for managing LLM provider lifecycle, including provider selection, health caching, and request ID generation.
- Introduced types for LLM provider capabilities, health results, and streaming events in a new types module.
- Created a FakeLLMProvider for testing, supporting echo, streaming, and error injection modes.
- Updated tests to cover new functionality, ensuring deterministic behavior and health checks.
- Renamed and reorganized tests for clarity and improved structure.

* feat: Enhance LLM provider configuration panel with health check and model selection

* feat: Set maximum width for OpenAI key input field in LLM settings panel

* Refactor LLM provider integration and enhance settings management

- Introduced LLMRuntimeManager for improved management of LLM providers, including lazy initialization and health caching.
- Updated AppState to utilize LLMRuntimeManager, providing a clearer API for accessing LLM providers.
- Modified LLMProviderInstance tests to reflect changes in method names and behavior.
- Added comprehensive tests for new LLMRuntimeManager functionality, including provider selection precedence and health caching.
- Enhanced settings service with getters and setters for LLM provider configurations, ensuring defaults are correctly handled.
- Created UI tests for the LLM settings panel, verifying the presence of components and their functionality.
- Improved error handling and resp... (continued)

1033 of 1219 new or added lines in 17 files covered. (84.74%)

8 existing lines in 4 files now uncovered.

12499 of 15597 relevant lines covered (80.14%)

0.8 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

88.24
/src/vector_inspector/ui/components/loading_dialog.py
1
from PySide6.QtCore import Qt
1✔
2
from PySide6.QtWidgets import QApplication, QProgressDialog
1✔
3

4
from vector_inspector.services.settings_service import SettingsService
1✔
5

6

7
class LoadingDialog(QProgressDialog):
1✔
8
    def __init__(self, message="Loading...", parent=None):
1✔
9
        super().__init__(message, None, 0, 0, parent)
1✔
10
        self.setWindowTitle("Please Wait")
1✔
11
        self.setWindowModality(Qt.ApplicationModal)
1✔
12
        self.setCancelButton(None)
1✔
13
        self.setMinimumDuration(0)
1✔
14
        self.setAutoClose(False)
1✔
15
        self.setAutoReset(False)
1✔
16
        self.setValue(0)
1✔
17
        self.setMinimumWidth(300)
1✔
18
        # Apply consistent status color from shared styles
19
        try:
1✔
20
            settings = SettingsService()
1✔
21
            # Apply highlight color only if accent styling is enabled.
22
            if settings.get_use_accent_enabled():
1✔
UNCOV
23
                color = settings.get_highlight_color()
×
24
                # Target the label inside QProgressDialog
UNCOV
25
                self.setStyleSheet(f"QProgressDialog QLabel {{ color: {color}; }}")
×
26
        except Exception:
×
27
            pass
×
28
        self.reset()  # Hide dialog by default until show_loading() is called
1✔
29

30
    def show_loading(self, message=None):
1✔
31
        if message:
1✔
32
            self.setLabelText(message)
1✔
33
        self.setValue(0)
1✔
34
        self.show()
1✔
35
        # Force the dialog to render by processing events multiple times
36
        QApplication.processEvents()
1✔
37
        self.repaint()
1✔
38
        QApplication.processEvents()
1✔
39

40
    def hide_loading(self):
1✔
41
        self.reset()
1✔
42
        self.hide()
1✔
43
        self.close()
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc