Tags: alicoding/claude-parser
Tags
fix: Token counting now matches Claude Code UI context command - Fixed token counting to include compact summary + user messages + assistant usage - Added count_session_tokens() for consistent API interface - Fixed isCompactSummary field name (was is_compact_summary) - Includes cache_read_input_tokens for accurate counts - Achieves 96% accuracy vs UI (6,341 vs 6,600 tokens) - Closes API inconsistency issue for session token counting 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
release: v2.0.1 - Fix Discord stop hook JSON structure bug
## Fixed
- get_latest_claude_message() now returns plain text instead of JSON structure
- Updated message.utils.get_text() to parse JSON in message.content field
- Discord stop hook now shows clean text instead of [{"type":"text","text":"..."}]
## Added
- Black box test with real JSONL data for stop hook API
- Towncrier changelog management setup
- Memory map update with Claude Code SDK patterns
## Changed
- Version bumped to 2.0.1 in pyproject.toml and __init__.py
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <[email protected]>
refactor: Add test factory for tool responses (Fix 3/10) - Created HookTestFactory.create_tool_response_test() - Reduces duplication by 90% (80 lines → 8 lines) - Demonstrated in test_using_factory.py - All tests pass (8/8) - DRY violation fixed: 4x duplication eliminated
refactor: Replace magic strings in phase2 tests (Fix 2/10) - Uses TestDefaults.SESSION_ID instead of 'abc123' - Tests still pass (89/89 in phase2) - No API changes - Magic strings reduced: ~30 → 25
refactor: Add test constants module (Fix 1/10) - Eliminates magic strings - No existing code modified - Zero breaking changes - Violations: 18 → 18 (foundation only)