diff --git a/api/core/plugin/entities/plugin.py b/api/core/plugin/entities/plugin.py index ad39b972b..61f8a6591 100644 --- a/api/core/plugin/entities/plugin.py +++ b/api/core/plugin/entities/plugin.py @@ -5,6 +5,7 @@ from collections.abc import Mapping from typing import Any, Optional from pydantic import BaseModel, Field, model_validator +from werkzeug.exceptions import NotFound from core.agent.plugin_entities import AgentStrategyProviderEntity from core.model_runtime.entities.provider_entities import ProviderEntity @@ -153,6 +154,8 @@ class GenericProviderID: return f"{self.organization}/{self.plugin_name}/{self.provider_name}" def __init__(self, value: str, is_hardcoded: bool = False) -> None: + if not value: + raise NotFound("plugin not found, please add plugin") # check if the value is a valid plugin id with format: $organization/$plugin_name/$provider_name if not re.match(r"^[a-z0-9_-]+\/[a-z0-9_-]+\/[a-z0-9_-]+$", value): # check if matches [a-z0-9_-]+, if yes, append with langgenius/$value/$value