From 877e56ac17a86d43d7ca25fe467213ccabf9f727 Mon Sep 17 00:00:00 2001 From: River Xie Date: Tue, 20 May 2025 05:24:15 +0000 Subject: [PATCH 1/3] Added hyphen to allowed characters in tool name validation --- src/strands/tools/tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/strands/tools/tools.py b/src/strands/tools/tools.py index 40565a24..8be354e8 100644 --- a/src/strands/tools/tools.py +++ b/src/strands/tools/tools.py @@ -47,7 +47,7 @@ def validate_tool_use_name(tool: ToolUse) -> None: raise InvalidToolUseNameException(message) tool_name = tool["name"] - tool_name_pattern = r"^[a-zA-Z][a-zA-Z0-9_]*$" + tool_name_pattern = r"^[a-zA-Z][a-zA-Z0-9_\-]*$" tool_name_max_length = 64 valid_name_pattern = bool(re.match(tool_name_pattern, tool_name)) tool_name_len = len(tool_name) From 49af95b1dbd64685c415e0f77db2e177c59f79ac Mon Sep 17 00:00:00 2001 From: River Xie Date: Tue, 20 May 2025 06:24:38 +0000 Subject: [PATCH 2/3] fix: Added hyphen to allowed characters for tool name validation --- tests/strands/tools/test_tools.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/strands/tools/test_tools.py b/tests/strands/tools/test_tools.py index 8a6b406f..db145b6d 100644 --- a/tests/strands/tools/test_tools.py +++ b/tests/strands/tools/test_tools.py @@ -18,6 +18,10 @@ def test_validate_tool_use_name_valid(): # Should not raise an exception validate_tool_use_name(tool) + tool = {"name": "valid-name", "toolUseId": "123"} + # Should not raise an exception + validate_tool_use_name(tool) + def test_validate_tool_use_name_missing(): tool = {"toolUseId": "123"} From 1638f21256e7f27f6d32ca6210749270163041f3 Mon Sep 17 00:00:00 2001 From: River Xie Date: Sun, 25 May 2025 14:29:24 +0000 Subject: [PATCH 3/3] fix: improve readability of test tool code --- tests/strands/tools/test_tools.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/strands/tools/test_tools.py b/tests/strands/tools/test_tools.py index db145b6d..f24cc22d 100644 --- a/tests/strands/tools/test_tools.py +++ b/tests/strands/tools/test_tools.py @@ -14,13 +14,13 @@ def test_validate_tool_use_name_valid(): - tool = {"name": "valid_tool_name", "toolUseId": "123"} + tool1 = {"name": "valid_tool_name", "toolUseId": "123"} # Should not raise an exception - validate_tool_use_name(tool) + validate_tool_use_name(tool1) - tool = {"name": "valid-name", "toolUseId": "123"} + tool2 = {"name": "valid-name", "toolUseId": "123"} # Should not raise an exception - validate_tool_use_name(tool) + validate_tool_use_name(tool2) def test_validate_tool_use_name_missing():