[Duo Workflow] Stream tool execution
Overview
Currently, we stream the text message of type Agent. But Langgraph's astream with messages stream mode (that is currently used) also sends events when tool tokens are streamed. The messages actually reach _append_chunk_to_ui_chat_log, we just ignore them because their content is empty.
Proposal
Build tool calls from tool call chunks and stream it to the clients. The client can start displaying it once received: Display `args` in the `tool` type message in th... (gitlab-org/duo-ui#70 - closed).
Why
- Transparency: it's useful and more secure to see the arguments with which the tool is being called
- Perceived performance: when arguments contains a bit more data, the tool execution takes time to be generated. If we stream the content, a user will see the progress rather than a delay without any action.