|
|
|
|
@ -1,6 +1,6 @@
|
|
|
|
|
from typing import Optional
|
|
|
|
|
|
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
from pydantic import BaseModel, Field, model_validator
|
|
|
|
|
|
|
|
|
|
from core.model_runtime.entities.provider_entities import ProviderEntity
|
|
|
|
|
from core.plugin.entities.endpoint import EndpointProviderDeclaration
|
|
|
|
|
@ -32,3 +32,14 @@ class MarketplacePluginDeclaration(BaseModel):
|
|
|
|
|
latest_package_identifier: str = Field(
|
|
|
|
|
..., description="Unique identifier for the latest package release of the plugin"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
@model_validator(mode="before")
|
|
|
|
|
@classmethod
|
|
|
|
|
def transform_declaration(cls, data: dict):
|
|
|
|
|
if "endpoint" in data and not data["endpoint"]:
|
|
|
|
|
del data["endpoint"]
|
|
|
|
|
if "model" in data and not data["model"]:
|
|
|
|
|
del data["model"]
|
|
|
|
|
if "tool" in data and not data["tool"]:
|
|
|
|
|
del data["tool"]
|
|
|
|
|
return data
|
|
|
|
|
|