Unify Claude count_tokens, legacy stream accounting, and legacy render usage with preserved prompt text so Claude stops falling back to lossy message formatting.
- only parse tool_calls from thinking when finalText is empty
- apply the same guard in stream runtime finalizer
- add regression tests for non-stream and stream paths