12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- from enum import Enum
- from typing import Dict, List, Optional
- from core.tools.entities.common_entities import I18nObject
- from core.tools.entities.tool_entities import ToolProviderCredentials
- from core.tools.tool.tool import ToolParameter
- from pydantic import BaseModel
- class UserToolProvider(BaseModel):
- class ProviderType(Enum):
- BUILTIN = "builtin"
- APP = "app"
- API = "api"
- id: str
- author: str
- name: str # identifier
- description: I18nObject
- icon: str
- label: I18nObject # label
- type: ProviderType
- team_credentials: dict = None
- is_team_authorization: bool = False
- allow_delete: bool = True
- def to_dict(self) -> dict:
- return {
- 'id': self.id,
- 'author': self.author,
- 'name': self.name,
- 'description': self.description.to_dict(),
- 'icon': self.icon,
- 'label': self.label.to_dict(),
- 'type': self.type.value,
- 'team_credentials': self.team_credentials,
- 'is_team_authorization': self.is_team_authorization,
- 'allow_delete': self.allow_delete
- }
- class UserToolProviderCredentials(BaseModel):
- credentials: Dict[str, ToolProviderCredentials]
- class UserTool(BaseModel):
- author: str
- name: str # identifier
- label: I18nObject # label
- description: I18nObject
- parameters: Optional[List[ToolParameter]]
|