bundle.py 762 B

123456789101112131415161718192021222324252627282930
  1. from enum import StrEnum
  2. from pydantic import BaseModel
  3. from core.plugin.entities.plugin import PluginDeclaration, PluginInstallationSource
  4. class PluginBundleDependency(BaseModel):
  5. class Type(StrEnum):
  6. Github = PluginInstallationSource.Github.value
  7. Marketplace = PluginInstallationSource.Marketplace.value
  8. Package = PluginInstallationSource.Package.value
  9. class Github(BaseModel):
  10. repo_address: str
  11. repo: str
  12. release: str
  13. packages: str
  14. class Marketplace(BaseModel):
  15. organization: str
  16. plugin: str
  17. version: str
  18. class Package(BaseModel):
  19. unique_identifier: str
  20. manifest: PluginDeclaration
  21. type: Type
  22. value: Github | Marketplace | Package