Coverage for  / home / runner / work / bijux-cli / bijux-cli / src / bijux_cli / plugins / catalog.py: 100%

11 statements  

« prev     ^ index     » next       coverage.py v7.13.2, created at 2026-01-26 17:59 +0000

1# SPDX-License-Identifier: Apache-2.0 

2# Copyright © 2025 Bijan Mousavi 

3 

4"""Shared plugin helpers (validation, listing, cache).""" 

5 

6from __future__ import annotations 

7 

8import re 

9from typing import Any 

10 

11PLUGIN_NAME_RE = re.compile(r"^[a-zA-Z0-9_-]+$") 

12 

13 

14def list_installed_plugins() -> list[dict[str, Any]]: 

15 """Return installed plugin metadata.""" 

16 from bijux_cli.plugins.metadata import list_plugins 

17 

18 return list_plugins() 

19 

20 

21def invalidate_cache() -> None: 

22 """Invalidate the plugin discovery cache.""" 

23 from bijux_cli.plugins.metadata import invalidate_plugin_cache 

24 

25 invalidate_plugin_cache() 

26 

27 

28__all__ = ["PLUGIN_NAME_RE", "list_installed_plugins", "invalidate_cache"]