mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-07-06 22:12:12 +02:00
feat(capabilities): add in-process verb store
This commit is contained in:
parent
78f7a93a88
commit
3e6007431d
1 changed files with 20 additions and 0 deletions
20
surfsense_backend/app/capabilities/store.py
Normal file
20
surfsense_backend/app/capabilities/store.py
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
"""In-process capability registry, populated at import by each verb's ``definition.py``."""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from app.capabilities.types import Capability
|
||||||
|
|
||||||
|
_REGISTRY: dict[str, Capability] = {}
|
||||||
|
|
||||||
|
|
||||||
|
def register_capability(capability: Capability) -> None:
|
||||||
|
"""Add (or replace) a verb by name."""
|
||||||
|
_REGISTRY[capability.name] = capability
|
||||||
|
|
||||||
|
|
||||||
|
def get_capability(name: str) -> Capability:
|
||||||
|
return _REGISTRY[name]
|
||||||
|
|
||||||
|
|
||||||
|
def all_capabilities() -> list[Capability]:
|
||||||
|
return list(_REGISTRY.values())
|
||||||
Loading…
Add table
Add a link
Reference in a new issue