refs #1117
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Dynamically construct API URLs for WhatsApp features using environment
variables for improved reliability and configurability.
- Updated `sendWhatsAppMessage` function to use
`env.WHATSAPP_CLOUD_API_URL` for URL construction, allowing for more
dynamic configuration.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
Closes#863
Got helped from #1162 for the implementation. Closing it in favor of
this PR.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced `CodeEditor` with additional properties for better form
control and validation.
- Introduced tools and functions in OpenAI integrations documentation
for custom JavaScript execution.
- Added capability to define and use custom JavaScript functions with
the OpenAI assistant.
- Expanded layout metadata options to include various input types and
languages.
- **Improvements**
- Updated the OpenAI actions to support new function execution features.
- **Documentation**
- Added new sections for tools and functions in the OpenAI integrations
guide.
- **Refactor**
- Refactored components and actions to integrate new features and
improve existing functionalities.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
add cal.com incompatible with whatsapp
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Updated the WhatsApp integration limitations section in the docs with
information about "Cal.com" compatibility.
<!-- 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.
Documentation
This PR updates the documentation to fix an incorrect description for
the Unsplash configuration.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Corrected a hyperlink and associated text in the self-hosting
configuration guide, changing "Giphy" to "Unsplash" for image search
references.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Signed-off-by: Victor Santos <vsantos.py@gmail.com>
Adding explanation text about builder and viewer.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Documentation**
- Enhanced the self-hosting guide with additional explanatory notes on
deploying both the Builder and Viewer components for Typebot, clarifying
their distinct roles in service flow creation and user interaction.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Closes#1039
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Workspaces now include additional status indicator: `isPastDue`.
- New pages for handling workspaces that are past due. Meaning, an
invoice is unpaid.
- **Bug Fixes**
- Fixed issues with workspace status checks and redirections for
suspended workspaces.
- **Refactor**
- Refactored workspace-related API functions to accommodate new status
fields.
- Improved permission checks for reading and writing typebots based on
workspace status.
- **Chores**
- Database schema updated to include `isPastDue` field for workspaces.
- Implemented new webhook event handling for subscription and invoice
updates.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->