重大重构:引擎模块拆分 + P0插件实现 + 55个Bug修复

核心变更:
- engine.py(1781行)拆分为8个独立模块: lifecycle/security/deps/
  datastore/pl_injector/watcher/signature/manager
- 新增plugin-bridge: 事件总线 + 服务注册 + RPC通信
- 新增i18n: 国际化/多语言翻译支持
- 新增plugin-storage: 插件键值/文件存储
- 新增ws-api: WebSocket实时通信(pub/sub + 自定义处理器)
- nodejs-adapter统一为Plugin ABC模式

Bug修复:
- 修复load_all()中store_dir未定义崩溃
- 修复DependencyResolver入度计算(拓扑排序)
- 修复PermissionError隐藏内置异常
- 修复CORS中间件头部未附加到响应
- 修复IntegrityChecker跳过__pycache__目录
- 修复版本号不一致(v2.0.0→v1.2.0)
- 修复测试文件的Logger导入/路径/私有方法调用
- 修复context.py缺少typing导入
- 修复config.py STORE_DIR默认路径(./mods→./store)

测试覆盖: 14→91个测试, 全部通过
This commit is contained in:
Falck
2026-05-12 11:40:06 +08:00
parent 3a096f59a9
commit bce27db4ac
57 changed files with 3669 additions and 2367 deletions

View File

@@ -44,3 +44,38 @@ class Log:
@classmethod
def debug(cls, tag: str, msg: str):
cls.tip(tag, msg)
class Logger:
"""Instance-based logger wrapper for backward compatibility.
Usage: logger = Logger(); logger.info('tag', 'message')
"""
def info(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.info(tag, msg)
def warn(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.warn(tag, msg)
def error(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.error(tag, msg)
def debug(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.debug(tag, msg)
def tip(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.tip(tag, msg)
def ok(self, tag: str, msg: str = ""):
if not msg:
tag, msg = "Logger", tag
Log.ok(tag, msg)