Accept reasoning_text as a third incoming reasoning field
Some OpenAI-compatible providers stream reasoning under reasoning_text
rather than reasoning or reasoning_content. Read it in the MCP loop, in
both stream adapters of the plain flow, and in the harness.