diff --git a/src/backend/langflow/services/store/service.py b/src/backend/langflow/services/store/service.py index 1e9386ff2..92dcc0fc1 100644 --- a/src/backend/langflow/services/store/service.py +++ b/src/backend/langflow/services/store/service.py @@ -12,6 +12,7 @@ from langflow.services.store.schema import ( ListComponentResponse, StoreComponentCreate, ) +from langflow.services.store.utils import process_tags_for_post if TYPE_CHECKING: from langflow.services.settings.service import SettingsService @@ -209,6 +210,8 @@ class StoreService(Service): response = None if component_dict.get("parent"): component_dict["parent"] = str(component_dict["parent"]) + + component_dict = process_tags_for_post(component_dict) try: response = httpx.post( self.components_url, headers=headers, json=component_dict diff --git a/src/backend/langflow/services/store/utils.py b/src/backend/langflow/services/store/utils.py new file mode 100644 index 000000000..ab9ab0680 --- /dev/null +++ b/src/backend/langflow/services/store/utils.py @@ -0,0 +1,5 @@ +def process_tags_for_post(component_dict): + tags = component_dict.pop("tags", None) + if tags and all(isinstance(tag, str) for tag in tags): + component_dict["tags"] = [{"tags_id": tag} for tag in tags] + return component_dict