⚡ Introduce a new high-performing standalone chat API (#1200)
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 -->
This commit is contained in:
@ -225,14 +225,15 @@ export const startPreviewChatInputSchema = z.object({
|
||||
.describe(
|
||||
"[Where to find my bot's ID?](../how-to#how-to-find-my-typebotid)"
|
||||
),
|
||||
isStreamEnabled: z.boolean().optional(),
|
||||
isStreamEnabled: z.boolean().optional().default(false),
|
||||
message: z.string().optional(),
|
||||
isOnlyRegistering: z
|
||||
.boolean()
|
||||
.optional()
|
||||
.describe(
|
||||
'If set to `true`, it will only register the session and not start the bot. This is used for 3rd party chat platforms as it can require a session to be registered before sending the first message.'
|
||||
),
|
||||
)
|
||||
.default(false),
|
||||
typebot: startTypebotSchema
|
||||
.optional()
|
||||
.describe(
|
||||
|
@ -174,6 +174,10 @@ export const whatsAppWebhookRequestBodySchema = z.object({
|
||||
),
|
||||
})
|
||||
|
||||
export type WhatsAppWebhookRequestBody = z.infer<
|
||||
typeof whatsAppWebhookRequestBodySchema
|
||||
>
|
||||
|
||||
export const whatsAppCredentialsSchema = z
|
||||
.object({
|
||||
type: z.literal('whatsApp'),
|
||||
|
Reference in New Issue
Block a user