diff --git a/api/core/datasource/entities/datasource_entities.py b/api/core/datasource/entities/datasource_entities.py index 22ec5c3d23..6a9fc5d9f9 100644 --- a/api/core/datasource/entities/datasource_entities.py +++ b/api/core/datasource/entities/datasource_entities.py @@ -15,7 +15,7 @@ from core.plugin.entities.parameters import ( init_frontend_parameter, ) from core.tools.entities.common_entities import I18nObject -from core.tools.entities.tool_entities import ToolLabelEnum, ToolProviderEntity +from core.tools.entities.tool_entities import ToolLabelEnum class DatasourceProviderType(enum.StrEnum): @@ -124,13 +124,13 @@ class DatasourceEntity(BaseModel): identity: DatasourceIdentity parameters: list[DatasourceParameter] = Field(default_factory=list) description: I18nObject = Field(..., description="The label of the datasource") - output_schema: Optional[dict] = None @field_validator("parameters", mode="before") @classmethod def set_parameters(cls, v, validation_info: ValidationInfo) -> list[DatasourceParameter]: return v or [] + class DatasourceProviderIdentity(BaseModel): author: str = Field(..., description="The author of the tool") name: str = Field(..., description="The name of the tool") @@ -142,11 +142,12 @@ class DatasourceProviderIdentity(BaseModel): description="The tags of the tool", ) - + class DatasourceProviderEntity(BaseModel): """ Datasource provider entity """ + identity: DatasourceProviderIdentity credentials_schema: list[ProviderConfig] = Field(default_factory=list) oauth_schema: Optional[OAuthSchema] = None @@ -212,7 +213,6 @@ class GetOnlineDocumentPagesRequest(BaseModel): """ - class OnlineDocumentPageIcon(BaseModel): """ Online document page icon @@ -284,6 +284,7 @@ class GetWebsiteCrawlRequest(BaseModel): """ Get website crawl request """ + crawl_parameters: dict = Field(..., description="The crawl parameters")