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
« 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
4"""Shared plugin helpers (validation, listing, cache)."""
6from __future__ import annotations
8import re
9from typing import Any
11PLUGIN_NAME_RE = re.compile(r"^[a-zA-Z0-9_-]+$")
14def list_installed_plugins() -> list[dict[str, Any]]:
15 """Return installed plugin metadata."""
16 from bijux_cli.plugins.metadata import list_plugins
18 return list_plugins()
21def invalidate_cache() -> None:
22 """Invalidate the plugin discovery cache."""
23 from bijux_cli.plugins.metadata import invalidate_plugin_cache
25 invalidate_plugin_cache()
28__all__ = ["PLUGIN_NAME_RE", "list_installed_plugins", "invalidate_cache"]