feat: 支持 v2 插件、独立前端和签名制品发布 (#130)

* feat: 支持 v2 插件、原生扩展与签名发布

* fix: 修复测试

* feat: 增强宿主 SDK、运行观测与制品维护能力

* feat: 增强文件传输、配置观测与本地开发能力

* feat: 支持 SSE 实时事件流并完善开发脚手架

* feat: 完善长连接鉴权复核与关闭回收

* feat: 增强生命周期与任务关闭可靠性

* feat: 收紧健康检查契约并补齐前端与真实网络验收

* feat: 增加SDK溯源与离线更新工具并验证跨版本兼容

* feat: 增加持久化业务示例与受控 Python 交付

* feat: 增加统一运行诊断与多worker状态观测

* feat: 增加固定目标发布等待与自动验收

* fix: 修复多环境插件部署前缀与代理配置不一致

* fix: 修复测试
This commit is contained in:
insistence
2026-10-09 23:49:45 +08:00
committed by GitHub
parent a89aec54aa
commit 4bd83bc7cd
287 changed files with 41945 additions and 331 deletions
@@ -451,11 +451,26 @@ async def diagnose_system_plugin(
query_db: Annotated[AsyncSession, DBSessionDependency()],
plugin_id: Annotated[str, Path(description='插件ID')],
) -> Response:
from plugins.core.runtime.diagnostics_query import read_plugin_runtime_diagnostics # noqa: PLC0415
diagnose_plugin_result = await get_plugin_operation_service().diagnose_plugin_with_audit_services(
query_db, plugin_id
)
application_runtime = getattr(request.app.state, 'plugin_application_runtime', None)
diagnose_plugin_result['runtime'] = await read_plugin_runtime_diagnostics(
plugin_id,
reporter=getattr(request.app.state, 'plugin_diagnostics_reporter', None),
redis=getattr(request.app.state, 'redis', None),
ready_key=getattr(application_runtime, 'ready_key', None),
)
logger.info(diagnose_plugin_result.get('message', '插件诊断包生成完成'))
if all(key in diagnose_plugin_result for key in ('info', 'check', 'config', 'menuPlan', 'audit')):
# 完整诊断包中的 ok=false 表示检查发现问题,仍需让页面读取其运行观测证据。
return ResponseUtil.success(
msg=str(diagnose_plugin_result.get('message') or '插件诊断包生成完成'),
data=_public_plugin_payload(diagnose_plugin_result),
)
return _plugin_operation_response(diagnose_plugin_result, '插件诊断包生成完成')