feat(plugin-system): harden P0 safety with workflow timeout, service ACL, and contract validation
- enforce step timeout/cancellation in workflow engine - add caller authorization boundary for cross-plugin service calls - validate params_schema and return_schema at runtime
This commit is contained in:
@@ -39,6 +39,18 @@ def unregister_service(service_name: str, plugin_name: Optional[str] = None) ->
|
||||
return plugin_service_registry.unregister_service(service_name, plugin_name)
|
||||
|
||||
|
||||
async def call_service(service_name: str, *args: Any, plugin_name: Optional[str] = None, **kwargs: Any) -> Any:
|
||||
async def call_service(
|
||||
service_name: str,
|
||||
*args: Any,
|
||||
plugin_name: Optional[str] = None,
|
||||
caller_plugin: Optional[str] = None,
|
||||
**kwargs: Any,
|
||||
) -> Any:
|
||||
"""调用插件服务。"""
|
||||
return await plugin_service_registry.call_service(service_name, *args, plugin_name=plugin_name, **kwargs)
|
||||
return await plugin_service_registry.call_service(
|
||||
service_name,
|
||||
*args,
|
||||
plugin_name=plugin_name,
|
||||
caller_plugin=caller_plugin,
|
||||
**kwargs,
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user