Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion s08_context_compact/code.py
Original file line number Diff line number Diff line change
Expand Up @@ -486,10 +486,13 @@ def agent_loop(messages: list):

# s08: compact tool triggers compact_history, not a no-op string
if block.name == "compact":
messages[:] = compact_history(messages)
# Append tool_result BEFORE compact_history so the tool_use/tool_result
# pair remains intact; compact_history would otherwise drop the assistant
# message containing block.id, causing a 400 BadRequestError.
results.append({"type": "tool_result", "tool_use_id": block.id,
"content": "[Compacted. Conversation history has been summarized.]"})
messages.append({"role": "user", "content": results})
messages[:] = compact_history(messages)
break # end current turn, start fresh with compacted context

blocked = trigger_hooks("PreToolUse", block)
Expand Down