dify/api/core/plugin/entities/plugin_daemon.py
2024-09-23 21:13:02 +08:00

45 lines
906 B
Python

from enum import Enum
from typing import Generic, Optional, TypeVar
from pydantic import BaseModel
from core.tools.entities.tool_entities import ToolProviderEntityWithPlugin
T = TypeVar("T", bound=(BaseModel | dict | list | bool))
class PluginDaemonBasicResponse(BaseModel, Generic[T]):
"""
Basic response from plugin daemon.
"""
code: int
message: str
data: Optional[T]
class InstallPluginMessage(BaseModel):
"""
Message for installing a plugin.
"""
class Event(Enum):
Info = "info"
Done = "done"
Error = "error"
event: Event
data: str
class PluginToolProviderEntity(BaseModel):
provider: str
plugin_unique_identifier: str
plugin_id: str
declaration: ToolProviderEntityWithPlugin
class PluginBasicBooleanResponse(BaseModel):
"""
Basic boolean response from plugin daemon.
"""
result: bool