| 123456789101112131415161718192021222324252627282930313233343536 | from typing import Any, Optionalfrom pydantic import BaseModelfrom core.tools.entities.tool_entities import ToolParameter, ToolProviderTypeclass ApiBasedToolBundle(BaseModel):    """    This class is used to store the schema information of an api based tool. such as the url, the method, the parameters, etc.    """    # server_url    server_url: str    # method    method: str    # summary    summary: Optional[str] = None    # operation_id    operation_id: str = None    # parameters    parameters: Optional[list[ToolParameter]] = None    # author    author: str    # icon    icon: Optional[str] = None    # openapi operation    openapi: dictclass AppToolBundle(BaseModel):    """    This class is used to store the schema information of an tool for an app.    """    type: ToolProviderType    credential: Optional[dict[str, Any]] = None    provider_id: str    tool_name: str
 |