Skip to content

Commit a2bb881

Browse files
authored
fix: Added hyphen to allowed characters in tool name validation (#55)
* Added hyphen to allowed characters in tool name validation
1 parent 3100ea0 commit a2bb881

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/strands/tools/tools.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ def validate_tool_use_name(tool: ToolUse) -> None:
4747
raise InvalidToolUseNameException(message)
4848

4949
tool_name = tool["name"]
50-
tool_name_pattern = r"^[a-zA-Z][a-zA-Z0-9_]*$"
50+
tool_name_pattern = r"^[a-zA-Z][a-zA-Z0-9_\-]*$"
5151
tool_name_max_length = 64
5252
valid_name_pattern = bool(re.match(tool_name_pattern, tool_name))
5353
tool_name_len = len(tool_name)

tests/strands/tools/test_tools.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,13 @@
1414

1515

1616
def test_validate_tool_use_name_valid():
17-
tool = {"name": "valid_tool_name", "toolUseId": "123"}
17+
tool1 = {"name": "valid_tool_name", "toolUseId": "123"}
18+
# Should not raise an exception
19+
validate_tool_use_name(tool1)
20+
21+
tool2 = {"name": "valid-name", "toolUseId": "123"}
1822
# Should not raise an exception
19-
validate_tool_use_name(tool)
23+
validate_tool_use_name(tool2)
2024

2125

2226
def test_validate_tool_use_name_missing():

0 commit comments

Comments
 (0)