Bug: ValueError when ChatMessage contains multiple blocks in ReActAgent

### Bug Description


**Description**
When running a ReActAgent workflow with ollama, the application crashes with a ValueError stating that ChatMessage contains multiple blocks and should use ChatMessage.blocks instead of .content.
**Error Message**
ValueError: ChatMessage contains multiple blocks, use 'ChatMessage.blocks' instead.


```python
File "E:\WORKSPACE\devagents\orchestrator.py", line 986, in <module>
    asyncio.run(orchestrator.run())
  File "C:\Users\sancelot\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
  File "C:\Users\sancelot\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "C:\Users\sancelot\AppData\Roaming\uv\python\cpython-3.11.14-windows-x86_64-none\Lib\asyncio\base_events.py", line 654, in run_until_complete
    return future.result()
  File "E:\WORKSPACE\devagents\orchestrator.py", line 739, in run
    task_development_success, agent_final_response =  await self.dev_agent.execute_task(task)
  File "E:\WORKSPACE\devagents\agents\developer_agent.py", line 135, in execute_task
    final_answer =  await handler
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\workflows\workflow.py", line 439, in _run_workflow
    raise exception_raised
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\workflows\context\context.py", line 822, in _step_worker
    new_ev = await instrumented_step(**kwargs)
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\llama_index_instrumentation\dispatcher.py", line 386, in async_wrapper
    result = await func(*args, **kwargs)
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\llama_index\core\agent\workflow\base_agent.py", line 435, in parse_agent_output
    output = await self.finalize(ctx, ev, memory)
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\llama_index\core\agent\workflow\react_agent.py", line 277, in finalize
    output.response.content = output.response.content[
    ^^^^^^^^^^^^^^^^^^^^^^^
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\pydantic\main.py", line 1033, in __setattr__
    setattr_handler(self, name, value)
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\pydantic\main.py", line 1073, in <lambda>
    return lambda model, _name, val: attr.__set__(model, val)
  File "E:\WORKSPACE\devagents\.venv\Lib\site-packages\llama_index\core\base\llms\types.py", line 545, in content
    raise ValueError(
ValueError: ChatMessage contains multiple blocks, use 'ChatMessage.blocks' instead.
```


**Root Cause**
The ChatMessage class enforces that when multiple blocks are present, the .blocks property must be used instead of .content. However, the finalize method in react_agent.py is attempting to set .content directly, which triggers the validation error.


### Version

0.14.5

### Steps to Reproduce

```python 
ctx = Context(self.agent)
handler = self.agent.run(task, ctx=ctx)

async for ev in handler.stream_events():
    if isinstance(ev, ToolCallResult):
        print(f"\nCall {ev.tool_name} with {ev.tool_kwargs}\nReturned: {ev.tool_output}")
    if isinstance(ev, AgentStream):
        print(f"{ev.delta}", end="", flush=True)

final_answer = await handler  # Error occurs here

### Relevant Logs/Tracbacks

```shell

```

Labels: bug, triage
State: closed