- from typing import Any, Optional
 - 
 - from pydantic import BaseModel
 - 
 - from core.tools.entities.tool_entities import ToolParameter, ToolProviderType
 - 
 - 
 - class 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: dict
 - 
 - class 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
 
 
  |