chore: remove get_tool_id_by_name (#720)
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user