chore: remove get_tool_id_by_name (#720)

This commit is contained in:
cthomas
2025-01-21 17:38:16 -08:00
committed by GitHub
parent 781b24bc50
commit 4bb83efc00
3 changed files with 7 additions and 43 deletions

View File

@@ -1455,12 +1455,14 @@ class RESTClient(AbstractClient):
Returns:
id (str): ID of the tool (`None` if not found)
"""
response = requests.get(f"{self.base_url}/{self.api_prefix}/tools/name/{tool_name}", headers=self.headers)
if response.status_code == 404:
return None
elif response.status_code != 200:
response = requests.get(f"{self.base_url}/{self.api_prefix}/tools", headers=self.headers)
if response.status_code != 200:
raise ValueError(f"Failed to get tool: {response.text}")
return response.json()
tools = [tool for tool in [Tool(**tool) for tool in response.json()] if tool.name == tool_name]
if not tools:
return None
return tools[0].id
def upsert_base_tools(self) -> List[Tool]:
response = requests.post(f"{self.base_url}/{self.api_prefix}/tools/add-base-tools/", headers=self.headers)

View File

@@ -48,23 +48,6 @@ def get_tool(
return tool
@router.get("/name/{tool_name}", response_model=str, operation_id="get_tool_id_by_name")
def get_tool_id(
tool_name: str,
server: SyncServer = Depends(get_letta_server),
user_id: Optional[str] = Header(None, alias="user_id"), # Extract user_id from header, default to None if not present
):
"""
Get a tool ID by name
"""
actor = server.user_manager.get_user_or_default(user_id=user_id)
tool = server.tool_manager.get_tool_by_name(tool_name=tool_name, actor=actor)
if tool:
return tool.id
else:
raise HTTPException(status_code=404, detail=f"Tool with name {tool_name} and organization id {actor.organization_id} not found.")
@router.get("/", response_model=List[Tool], operation_id="list_tools")
def list_tools(
cursor: Optional[str] = None,

View File

@@ -204,27 +204,6 @@ def test_get_tool_404(client, mock_sync_server, add_integers_tool):
assert response.json()["detail"] == f"Tool with id {add_integers_tool.id} not found."
def test_get_tool_id(client, mock_sync_server, add_integers_tool):
mock_sync_server.tool_manager.get_tool_by_name.return_value = add_integers_tool
response = client.get(f"/v1/tools/name/{add_integers_tool.name}", headers={"user_id": "test_user"})
assert response.status_code == 200
assert response.json() == add_integers_tool.id
mock_sync_server.tool_manager.get_tool_by_name.assert_called_once_with(
tool_name=add_integers_tool.name, actor=mock_sync_server.user_manager.get_user_or_default.return_value
)
def test_get_tool_id_404(client, mock_sync_server):
mock_sync_server.tool_manager.get_tool_by_name.return_value = None
response = client.get("/v1/tools/name/UnknownTool", headers={"user_id": "test_user"})
assert response.status_code == 404
assert "Tool with name UnknownTool" in response.json()["detail"]
def test_list_tools(client, mock_sync_server, add_integers_tool):
mock_sync_server.tool_manager.list_tools.return_value = [add_integers_tool]