Closes#1154
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added authentication functionality for user sessions in chat API.
- Introduced chat-related API endpoints for starting, previewing, and
continuing chat sessions, and streaming messages.
- Implemented WhatsApp API webhook handling for receiving and processing
messages.
- Added environment variable `NEXT_PUBLIC_CHAT_API_URL` for chat API URL
configuration.
- **Bug Fixes**
- Adjusted file upload logic to correctly determine the API host.
- Fixed message streaming URL in chat integration with OpenAI.
- **Documentation**
- Updated guides for creating blocks, local installation, self-hosting,
and deployment to use `bun` instead of `pnpm`.
- **Refactor**
- Refactored chat API functionalities to use modular architecture.
- Simplified client log saving and session update functionalities by
using external functions.
- Transitioned package management and workflow commands to use `bun`.
- **Chores**
- Switched to `bun` for package management in Dockerfiles and GitHub
workflows.
- Added new Dockerfile for chat API service setup with Bun framework.
- Updated `.prettierignore` and documentation with new commands.
- **Style**
- No visible changes to end-users.
- **Tests**
- No visible changes to end-users.
- **Revert**
- No reverts in this release.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
BREAKING CHANGE: The Google Picker API needs to be enabled in the Google Cloud console. You also need to enable it in
your NEXT_PUBLIC_GOOGLE_API_KEY. You also need to add the drive.file OAuth scope.