feat: 添加批量插件重载功能及相关测试

This commit is contained in:
DrSmoothl
2026-03-24 10:55:58 +08:00
parent 78858f7004
commit 1b61e51554
5 changed files with 398 additions and 41 deletions

View File

@@ -289,6 +289,20 @@ class ReloadPluginPayload(BaseModel):
"""可视为已满足的外部依赖插件版本映射"""
class ReloadPluginsPayload(BaseModel):
"""批量插件重载请求载荷。"""
plugin_ids: List[str] = Field(default_factory=list, description="目标插件 ID 列表")
"""目标插件 ID 列表"""
reason: str = Field(default="manual", description="重载原因")
"""重载原因"""
external_available_plugins: Dict[str, str] = Field(
default_factory=dict,
description="可视为已满足的外部依赖插件版本映射",
)
"""可视为已满足的外部依赖插件版本映射"""
class ReloadPluginResultPayload(BaseModel):
"""插件重载结果载荷。"""
@@ -304,6 +318,21 @@ class ReloadPluginResultPayload(BaseModel):
"""重载失败的插件及原因"""
class ReloadPluginsResultPayload(BaseModel):
"""批量插件重载结果载荷。"""
success: bool = Field(description="是否重载成功")
"""是否重载成功"""
requested_plugin_ids: List[str] = Field(default_factory=list, description="请求重载的插件 ID 列表")
"""请求重载的插件 ID 列表"""
reloaded_plugins: List[str] = Field(default_factory=list, description="成功完成重载的插件列表")
"""成功完成重载的插件列表"""
unloaded_plugins: List[str] = Field(default_factory=list, description="本次已卸载的插件列表")
"""本次已卸载的插件列表"""
failed_plugins: Dict[str, str] = Field(default_factory=dict, description="重载失败的插件及原因")
"""重载失败的插件及原因"""
class MessageGatewayStateUpdatePayload(BaseModel):
"""消息网关运行时状态更新载荷。"""