From c2a2eaf0d745f16980c7242879c9299525284316 Mon Sep 17 00:00:00 2001 From: huanghuoguoguo Date: Sun, 11 Oct 2026 00:11:32 +0800 Subject: [PATCH] fix(api): normalize pipeline extension output --- src/langbot/pkg/api/http/service/pipeline.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/langbot/pkg/api/http/service/pipeline.py b/src/langbot/pkg/api/http/service/pipeline.py index 54568433c..7639418cc 100644 --- a/src/langbot/pkg/api/http/service/pipeline.py +++ b/src/langbot/pkg/api/http/service/pipeline.py @@ -339,7 +339,12 @@ class PipelineService: if self.ap.plugin_connector.is_enable_plugin: await self.ap.plugin_connector.require_workspace_context(context) plugins = await self.ap.plugin_connector.list_plugins(component_kinds=['Command', 'EventListener', 'Tool']) - prefs = pipeline.get('extensions_preferences', {}) + prefs = normalize_extension_preferences(pipeline.get('extensions_preferences')) + try: + available_skills = await self.ap.skill_service.list_skills(context) + except Exception as exc: + self.ap.logger.warning('Unable to list skills for pipeline extensions: %s', exc) + available_skills = [] return { 'enable_all_plugins': prefs.get('enable_all_plugins', True), 'enable_all_mcp_servers': prefs.get('enable_all_mcp_servers', True), @@ -351,7 +356,7 @@ class PipelineService: 'bound_mcp_resources': prefs.get('mcp_resources', []), 'mcp_resource_agent_read_enabled': prefs.get('mcp_resource_agent_read_enabled', True), 'bound_skills': prefs.get('skills', []), - 'available_skills': await self.ap.skill_service.list_skills(context), + 'available_skills': available_skills, } async def update_pipeline_extensions(