Resolves#3983
* introduce `model_client_stream` parameter in `AssistantAgent` to
enable token-level streaming output.
* introduce `ModelClientStreamingChunkEvent` as a type of `AgentEvent`
to pass the streaming chunks to the application via `run_stream` and
`on_messages_stream`. Although this will not affect the inner messages
list in the final `Response` or `TaskResult`.
* handle this new message type in `Console`.
* Add lock for input and output management in m1
* Use event to signal it is time to prompt for input
* undo stop change
* undo changes
* Update python/packages/magentic-one-cli/src/magentic_one_cli/_m1.py
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
* reduce exported surface area
* fix
---------
Co-authored-by: Eric Zhu <ekzhu@users.noreply.github.com>
Co-authored-by: Hussein Mozannar <hmozannar@microsoft.com>