From e8bf900008a75925a06a34b0769d7547daee8c28 Mon Sep 17 00:00:00 2001 From: Greyson Lalonde Date: Tue, 5 May 2026 03:28:07 +0800 Subject: [PATCH] fix(plus_api): add tools_metadata kwarg to crewai.plus_api.publish_tool Mirrors the parameter origin/main added on crewai.cli.plus_api so the relocated crewai.plus_api stays in sync. Also fix a stale crewai_cli patch target in the lib/crewai plus_api test. --- lib/crewai/src/crewai/plus_api.py | 4 ++++ lib/crewai/tests/cli/test_plus_api.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/crewai/src/crewai/plus_api.py b/lib/crewai/src/crewai/plus_api.py index 2078f1b8f..a8c498a5b 100644 --- a/lib/crewai/src/crewai/plus_api.py +++ b/lib/crewai/src/crewai/plus_api.py @@ -73,6 +73,7 @@ class PlusAPI: description: str | None, encoded_file: str, available_exports: list[dict[str, Any]] | None = None, + tools_metadata: list[dict[str, Any]] | None = None, ) -> httpx.Response: params = { "handle": handle, @@ -81,6 +82,9 @@ class PlusAPI: "file": encoded_file, "description": description, "available_exports": available_exports, + "tools_metadata": {"package": handle, "tools": tools_metadata} + if tools_metadata is not None + else None, } return self._make_request("POST", f"{self.TOOLS_RESOURCE}", json=params) diff --git a/lib/crewai/tests/cli/test_plus_api.py b/lib/crewai/tests/cli/test_plus_api.py index b5bb4c026..76290d357 100644 --- a/lib/crewai/tests/cli/test_plus_api.py +++ b/lib/crewai/tests/cli/test_plus_api.py @@ -210,7 +210,7 @@ class TestPlusAPI(unittest.TestCase): ) self.assertEqual(response, mock_response) - @patch("crewai_cli.plus_api.PlusAPI._make_request") + @patch("crewai.plus_api.PlusAPI._make_request") def test_publish_tool_with_tools_metadata(self, mock_make_request): mock_response = MagicMock() mock_make_request.return_value = mock_response