From 3e6007431d401dfa2df5a3cfaeaa014467f2b109 Mon Sep 17 00:00:00 2001 From: CREDO23 Date: Wed, 1 Jul 2026 16:42:47 +0200 Subject: [PATCH] feat(capabilities): add in-process verb store --- surfsense_backend/app/capabilities/store.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 surfsense_backend/app/capabilities/store.py diff --git a/surfsense_backend/app/capabilities/store.py b/surfsense_backend/app/capabilities/store.py new file mode 100644 index 000000000..b828480da --- /dev/null +++ b/surfsense_backend/app/capabilities/store.py @@ -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())