dify/api/core/tools/entities/tool_bundle.py
2024-02-01 18:11:57 +08:00

35 lines
923 B
Python

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