lint and typecheck

This commit is contained in:
Dickson Tsai 2025-07-30 23:54:27 -07:00
parent a04d040c31
commit a63ccd31ec
No known key found for this signature in database

View file

@ -46,13 +46,15 @@ def parse_message(data: dict[str, Any]) -> Message:
case "user":
try:
if isinstance(data["message"]["content"], list):
content_blocks: list[ContentBlock] = []
user_content_blocks: list[ContentBlock] = []
for block in data["message"]["content"]:
match block["type"]:
case "text":
content_blocks.append(TextBlock(text=block["text"]))
user_content_blocks.append(
TextBlock(text=block["text"])
)
case "tool_use":
content_blocks.append(
user_content_blocks.append(
ToolUseBlock(
id=block["id"],
name=block["name"],
@ -60,14 +62,14 @@ def parse_message(data: dict[str, Any]) -> Message:
)
)
case "tool_result":
content_blocks.append(
user_content_blocks.append(
ToolResultBlock(
tool_use_id=block["tool_use_id"],
content=block.get("content"),
is_error=block.get("is_error"),
)
)
return UserMessage(content=content_blocks)
return UserMessage(content=user_content_blocks)
except KeyError as e:
raise MessageParseError(
f"Missing required field in user message: {e}", data