Coverage for node / src / stigmem_node / plugins / errors.py: 85%
13 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-25 01:49 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-25 01:49 +0000
1"""Plugin registry exception types."""
3from __future__ import annotations
6class PluginExecutionError(RuntimeError):
7 """Raised when a plugin handler violates a hook contract."""
10class CapabilityError(PermissionError):
11 """Raised when a plugin attempts to access an undeclared capability."""
14class ManifestError(ValueError):
15 """Raised when a plugin manifest is invalid for this registry."""
18class PluginDiscoveryError(RuntimeError):
19 """Raised when package entry-point plugin discovery fails."""
22class PluginDependencyError(RuntimeError):
23 """Raised when discovered plugin dependencies cannot be resolved."""
26class PluginMigrationError(RuntimeError):
27 """Raised when plugin migration lifecycle checks fail."""
30class PluginSignatureError(RuntimeError):
31 """Raised when a discovered plugin fails signing verification."""
34class RegistryFrozenError(RuntimeError):
35 """Raised when startup-only registry mutation is attempted after freeze."""
38class RejectError(RuntimeError):
39 """Handler-level shortcut for a voting denial."""
41 def __init__(self, reason: str) -> None:
42 super().__init__(reason)
43 self.reason = reason