feat: Auto-refresh json_schema after tool update (#1958)
This commit is contained in:
@@ -10,7 +10,6 @@ from letta.functions.helpers import (
|
||||
from letta.functions.schema_generator import generate_schema_from_args_schema
|
||||
from letta.schemas.letta_base import LettaBase
|
||||
from letta.schemas.openai.chat_completions import ToolCall
|
||||
from letta.services.organization_manager import OrganizationManager
|
||||
|
||||
|
||||
class BaseTool(LettaBase):
|
||||
@@ -69,10 +68,9 @@ class ToolCreate(LettaBase):
|
||||
json_schema: Optional[Dict] = Field(
|
||||
None, description="The JSON schema of the function (auto-generated from source_code if not provided)"
|
||||
)
|
||||
terminal: Optional[bool] = Field(None, description="Whether the tool is a terminal tool (allow requesting heartbeats).")
|
||||
|
||||
@classmethod
|
||||
def from_composio(cls, action: "ActionType", organization_id: str = OrganizationManager.DEFAULT_ORG_ID) -> "ToolCreate":
|
||||
def from_composio(cls, action: "ActionType") -> "ToolCreate":
|
||||
"""
|
||||
Class method to create an instance of Letta-compatible Composio Tool.
|
||||
Check https://docs.composio.dev/introduction/intro/overview to look at options for from_composio
|
||||
@@ -114,7 +112,6 @@ class ToolCreate(LettaBase):
|
||||
cls,
|
||||
langchain_tool: "LangChainBaseTool",
|
||||
additional_imports_module_attr_map: dict[str, str] = None,
|
||||
organization_id: str = OrganizationManager.DEFAULT_ORG_ID,
|
||||
) -> "ToolCreate":
|
||||
"""
|
||||
Class method to create an instance of Tool from a Langchain tool (must be from langchain_community.tools).
|
||||
@@ -147,7 +144,6 @@ class ToolCreate(LettaBase):
|
||||
cls,
|
||||
crewai_tool: "CrewAIBaseTool",
|
||||
additional_imports_module_attr_map: dict[str, str] = None,
|
||||
organization_id: str = OrganizationManager.DEFAULT_ORG_ID,
|
||||
) -> "ToolCreate":
|
||||
"""
|
||||
Class method to create an instance of Tool from a crewAI BaseTool object.
|
||||
@@ -212,5 +208,7 @@ class ToolUpdate(LettaBase):
|
||||
tags: Optional[List[str]] = Field(None, description="Metadata tags.")
|
||||
module: Optional[str] = Field(None, description="The source code of the function.")
|
||||
source_code: Optional[str] = Field(None, description="The source code of the function.")
|
||||
json_schema: Optional[Dict] = Field(None, description="The JSON schema of the function.")
|
||||
source_type: Optional[str] = Field(None, description="The type of the source code.")
|
||||
json_schema: Optional[Dict] = Field(
|
||||
None, description="The JSON schema of the function (auto-generated from source_code if not provided)"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user