import { z, InterfaceDefinition } from '@botpress/sdk' export default new InterfaceDefinition({ name: 'proactive-user', version: '0.0.3', entities: { user: { title: 'User', description: 'A user of the system', schema: z.object({}).title('User').describe('The user object fields'), }, }, actions: { getOrCreateUser: { title: 'Get or Create a User', description: 'Proactively create a user from a bot', input: { schema: ({ user }) => z.object({ name: z.string().optional().title('Name').describe('The name of the user'), pictureUrl: z.string().optional().title('Picture URL').describe('The URL of the user profile picture'), email: z.string().optional().title('Email').describe('The email of the user'), user: user.title('User').describe('The user object fields'), }), }, output: { schema: () => z.object({ userId: z.string().title('User ID').describe('The Botpress ID of the created user'), }), }, }, }, __advanced: { useLegacyZuiTransformer: true, }, })