Private
Public Access
0
0

refactor(ai_client): merge vendor_capabilities into ai_client; git rm src/vendor_capabilities.py

Per spec FR2 + Phase 2.1: VendorCapabilities + register + get_capabilities +
list_models_for_vendor + the ~40 vendor registrations move into ai_client.py
as a region block. Renamed internal _REGISTRY to _VENDOR_REGISTRY to avoid
collision with mcp_tool_specs._REGISTRY.

Importers (in src/) updated:
- src/ai_client.py: removed top-level import; removed 4 local imports of
  list_models_for_vendor/get_capabilities (symbol now in module namespace)
- src/app_controller.py: 2 sites updated to 'from src.ai_client import get_capabilities'
- src/gui_2.py: 1 site updated to 'from src.ai_client import VendorCapabilities, get_capabilities'

Tests updated:
- 8 test_*.py files: changed 'from src.vendor_capabilities import' to
  'from src.ai_client import'
- tests/test_vendor_capabilities.py: _clean_registry fixture updated to
  reference src.ai_client._VENDOR_REGISTRY (was src.vendor_capabilities._REGISTRY)

Verification: 157 tests pass across the affected files (vendor_capabilities,
ai_client_tool_loop variants, openai_compatible, command_palette,
diff_viewer, patch_modal, app_controller_result, app_controller_sigint,
handle_reset_session, ai_loop_regressions, grok/llama/minimax provider tests).
This commit is contained in:
2026-06-26 07:07:12 -04:00
parent ac2a5ac3bd
commit 81d8bce419
13 changed files with 114 additions and 117 deletions
+2 -2
View File
@@ -2054,7 +2054,7 @@ class AppController:
from src.personas import PersonaManager
self.persona_manager = PersonaManager(Path(self.active_project_path).parent if self.active_project_path else None)
from src.vendor_capabilities import get_capabilities
from src.ai_client import get_capabilities
try:
caps = get_capabilities(self.current_provider, self.current_model)
except KeyError:
@@ -4281,7 +4281,7 @@ class AppController:
def _on_ai_stream(self, text: str) -> None:
"""Handles streaming text from the AI."""
self.event_queue.put("response", {"text": text, "status": "streaming...", "role": "AI"})
from src.vendor_capabilities import get_capabilities
from src.ai_client import get_capabilities
try:
caps = get_capabilities(self.current_provider, self.current_model)
except KeyError: