Skip to content

Commit d0d1bf8

Browse files
committed
fix message_id not int when restoring from DDB
1 parent c024195 commit d0d1bf8

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/strands/session/dynamodb_session_manager.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,10 @@ def _get_agent_sk(self, agent_id: str) -> str:
110110

111111
def _get_message_sk(self, agent_id: str, message_id: int) -> str:
112112
"""Get message sort key."""
113-
if not isinstance(message_id, int):
113+
# Convert to int to handle Decimal types from DynamoDB
114+
try:
115+
message_id = int(message_id)
116+
except (ValueError, TypeError):
114117
raise ValueError(f"message_id=<{message_id}> | message id must be an integer")
115118
agent_id = self._validate_dynamodb_id(agent_id, _identifier.Identifier.AGENT)
116119
return f"agent_{agent_id}#message_{message_id}"

0 commit comments

Comments
 (0)