Update project and configurations

This commit is contained in:
Zou-Seay
2026-06-11 16:28:00 +08:00
parent 12d3922091
commit a29a91867d
237 changed files with 164880 additions and 90 deletions

View File

@@ -0,0 +1,27 @@
from __future__ import annotations
from collections.abc import Callable
from typing import Any
PluginHandler = Callable[[dict[str, Any]], dict[str, Any]]
class PluginRegistry:
def __init__(self) -> None:
self._handlers: dict[str, PluginHandler] = {}
def register(self, plugin_id: str, handler: PluginHandler) -> None:
self._handlers[plugin_id] = handler
def execute(self, plugin_id: str, slots: dict[str, Any]) -> dict[str, Any]:
handler = self._handlers.get(plugin_id)
if handler is None:
return {
"success": False,
"message": f"插件 {plugin_id} 未注册。",
"data": {"plugin_id": plugin_id, "slots": slots},
}
return handler(slots)
def registered_plugins(self) -> list[str]:
return sorted(self._handlers.keys())