feat: support blocking mode in agent runner
Summary
This RP updates Agent Chat App FunctionCallAgentRunner to support blocking mode responses by returning an LLMResult if the app's entity.stream property is False.
Closes https://github.com/langgenius/dify/issues/8936 and https://github.com/langgenius/dify/discussions/7805.
Dify now includes support for blocking mode in Agent Chat App responses. This update enables seamless integration with WhatsApp and other channels through CX platforms that do not support streamed responses, ensuring greater compatibility and ease of use.
Note: This is my first contribution to Dify and I would like to give the time and update the PR against any feedback.
Checklist
- [ ] This change requires a documentation update, included: Dify Document
- [x] I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
- [ ] I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
- [ ] I've updated the documentation accordingly.
- [x] I ran
dev/reformat(backend) andcd web && npx lint-staged(frontend) to appease the lint gods
+1
+1
+1
Close as not planned. :(