Hello @baptisteArno,
As we discussed in issue #1315 we created a basic implementation of
Anthropic’s Claude AI block.
This block is based on the OpenAI block and shares a similar structure.
The most notable changes in this PR are:
- Added the Claude AI block.
- Added relevant documentation for the new block.
- Formatted some other source files in order to pass git pre-hook
checks.
Some notes to be made:
- Currently there is no way to dynamically fetch the model’s versions
since there is no endpoint provided by the SDK.
- All pre version-3 Claude models are hard-coded constant variables.
- We have opened an issue for that on the SDK repository
[here](https://github.com/anthropics/anthropic-sdk-typescript/issues/313).
- We can implement in a new PR Claude’s new [Vision
system](https://docs.anthropic.com/claude/docs/vision) which allows for
image analysis and understanding.
- This can be done in a later phase, given that you agree of course.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced the Anthropic block for creating chat messages with Claude
AI in Typebot.
- Added functionality to create chat messages using Anthropic AI SDK
with configurable options.
- Implemented encrypted credentials for Anthropic account integration.
- Added constants and helpers for better handling of chat messages with
Anthropic models.
- Included Anthropic block in the list of enabled and forged blocks for
broader access.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Retr0-01 <contact@retr0.dev>
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
Co-authored-by: Baptiste Arnaud <contact@baptiste-arnaud.fr>
Closes#993
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a detailed explanation page for the "Remember user" setting in
the app documentation.
- Introduced persistence of chat state across sessions, with options for
local or session storage.
- Enhanced bot functionality to store and retrieve initial chat replies
and manage bot open state with improved storage handling.
- Added a new callback for chat state persistence to bot component
props.
- **Improvements**
- Updated the general settings form to clarify the description of the
"Remember user" feature.
- Enhanced custom CSS handling and progress value persistence in bot
components.
- Added conditional transition disabling in various components for
smoother user experiences.
- Simplified the handling of `onTransitionEnd` across multiple bubble
components.
- **Refactor**
- Renamed `inputIndex` to `chunkIndex` or `index` in various components
for consistency.
- Removed unused ESLint disable comments related to reactivity rules.
- Adjusted import statements and cleaned up code across several files.
- **Bug Fixes**
- Fixed potential issues with undefined callbacks by introducing
optional chaining in component props.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
When using the whatsapp oficial api or another that use the same schema,
with env we can modify the number of groups that the interactive group
will be split.
---------
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
Co-authored-by: Baptiste Arnaud <contact@baptiste-arnaud.fr>
Update the spelling of the word "optionnal" to "optional" in 4 places.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Made the file type selection optional in the file upload feature.
- **Bug Fixes**
- Addressed issues with color mode synchronization, persistence, and
user reset behavior.
- Improved caching and bundling of files.
- **Documentation**
- Corrected spelling errors and typos in various documentation files for
better clarity and accuracy.
- **Style**
- Updated admin display labels for enhanced clarity.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
Closes#1249
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced components for customizing fonts, including Google and
custom font options.
- Enhanced theme customization by simplifying theme objects and adding
new font customization options.
- Implemented dynamic font injection for web pages based on
user-selected font configurations.
- **Bug Fixes**
- Fixed a condition in theme template card rendering to correctly check
avatar enablement.
- Corrected font property handling across various components to support
both string and object types.
- **Refactor**
- Updated option properties in RadioButtons component to be readonly.
- Simplified logic for setting CSS variables for fonts, including checks
for font types and existence.
- **Documentation**
- Added constants and schemas for supporting new font types in theme
customization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Simplified the build process for Vercel deployment by removing a
redundant command.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Added location error handling.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated location retrieval functionality:
- Renamed function for clarity.
- Enhanced location information to include latitude and longitude.
- Improved error handling for smoother user experience.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
Closes#853
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced the ElevenLabs block for Typebot, enabling text to speech
conversion using ElevenLabs API.
- Added live tutorial videos for creating ElevenLabs and Telegram
blocks.
- Added a `docsUrl` for the OpenAI block to improve accessibility to
documentation.
- **Documentation**
- New guides and integration details for ElevenLabs and Telegram blocks.
- **Style**
- Added ElevenLabs logos for light and dark themes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced folder management capabilities including creation,
deletion, update, listing, and retrieval within workspaces.
- Added telemetry tracking for client events, Typebot publish events,
and analytics page views.
- Enhanced settings to track client events under specific conditions.
- Implemented server-side logic for analytics tracking with PostHog
integration.
- Added API documentation for folder operations (create, delete, get,
list, update).
- **Refactor**
- Updated `onConfirm` function's return type in `ConfirmModal`.
- Simplified folder creation process in tests.
- Refactored logic for handling file upload blocks and parsing publish
events in Typebot publishing.
- Migrated handler functions to TRPC endpoints for folder operations.
- **Documentation**
- Introduced documentation for new folder and telemetry functionalities.
- **Chores**
- Added new schemas for folders and telemetry events, including event
tracking and folder structure.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Refactor**
- Updated markdown handling and serialization libraries for improved
performance and accuracy in text formatting.
- **New Features**
- Enhanced rich text and markdown conversion capabilities, providing
users with more reliable and seamless text formatting options.
- **Documentation**
- Added detailed documentation for markdown to rich text conversion and
vice versa, ensuring easier understanding and implementation for
developers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced file visibility options for uploaded files, allowing users
to set files as public or private.
- Added a new API endpoint for retrieving temporary URLs for files,
enhancing file accessibility.
- Expanded file upload documentation to include information on file
visibility settings.
- Updated URL validation to support URLs with port numbers and
"http://localhost".
- **Enhancements**
- Improved media download functionality by replacing the `got` library
with a custom `downloadMedia` function.
- Enhanced bot flow continuation and session start logic to support a
wider range of reply types, including WhatsApp media messages.
- **Bug Fixes**
- Adjusted file path and URL construction in the `generateUploadUrl`
function to correctly reflect file visibility settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Implemented [Dify.AI](https://dify.ai) Block
- Dify Features:
-- Can Create Multiple Chat Bots
-- Assign Knowledge base/vector database to chat bots
-- Variables send by client to be used in the prompt
-- Options of custom and cloud AI LLMs to be changed with on click
- Dify API Function/Action Implemented
-- Create Chat Message (Takes in input variables, query, conversation
id, user id and returns answer, usage metadata and conversation id)
- Future Implantations with this block
-- Streaming response
-- File Upload for GPT Vision
-- Speech to text action
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced the ability to create chat messages within the Dify
platform.
- Added secure authentication for Dify.AI accounts.
- Implemented a new Dify.AI block with integrated chat message creation
and logo display.
- Enabled Dify.AI block in the repository for user access.
- **Enhancements**
- Enhanced security for API key input by changing it to a password
field.
- **Documentation**
- Included new types to support Dify AI service responses.
- **Refactor**
- Updated schema imports and array listings to include the new Dify.AI
block.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Baptiste Arnaud <baptiste.arnaud95@gmail.com>
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>