ce7f805869
Complete Portal streams can finish with finish_reason/lastOne and clean EOF without data: [DONE], which strict OpenAI clients treat as truncation. Normalize at the hermes proxy boundary after clean EOF only. Co-authored-by: Cursor <cursoragent@cursor.com>