chat-peg-parser: fix streaming regressions for tool calls
Two fixes for streaming/partial parsing:
1. Skip partial TOOL_CLOSE nodes to prevent premature argument closing
during streaming. Without this, arguments would be closed before
seeing the full closing tag.
2. Wrap tool name+delimiter in p.atomic() to prevent TOOL_NAME emission
on prefix match. This fixes the case where "special_function" would
match as complete when input is "special_function_with_opt", causing
tool count to decrease when more input arrives.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>