chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
import { z } from '@botpress/sdk'
|
||||
|
||||
export const getEventTypesInputSchema = z.object({
|
||||
username: z.string().describe('The username of the Cal.com account').title('Username'),
|
||||
})
|
||||
|
||||
export const getEventTypesOutputSchema = z.object({
|
||||
eventTypes: z
|
||||
.array(
|
||||
z.object({
|
||||
id: z.number().describe('The unique identifier of the event type').title('Event Type ID'),
|
||||
lengthInMinutes: z.number().describe('The duration of the event type in minutes').title('Duration (minutes)'),
|
||||
title: z.string().describe('The title of the event type').title('Title'),
|
||||
slug: z.string().describe('The slug of the event type').title('Slug'),
|
||||
description: z.string().describe('A brief description of the event type').title('Description'),
|
||||
lengthInMinutesOptions: z
|
||||
.array(z.number())
|
||||
.describe('Available duration options for the event type')
|
||||
.title('Duration Options (minutes)'),
|
||||
})
|
||||
)
|
||||
.describe('A list of event types associated with the Cal.com account')
|
||||
.title('Event Types'),
|
||||
})
|
||||
|
||||
export const getAvailableTimeSlotsInputSchema = z.object({
|
||||
eventTypeId: z.number().describe('The ID of the event type').title('Event Type ID'),
|
||||
startDate: z
|
||||
.string()
|
||||
.optional()
|
||||
.describe('Start date in YYYY-MM-DD format')
|
||||
.describe('Start date in YYYY-MM-DD format')
|
||||
.title('Start Date'),
|
||||
endDate: z
|
||||
.string()
|
||||
.optional()
|
||||
.describe('End date in YYYY-MM-DD format')
|
||||
.describe('End date in YYYY-MM-DD format')
|
||||
.title('End Date'),
|
||||
})
|
||||
|
||||
export const getAvailableTimeSlotsOutputSchema = z.object({
|
||||
slots: z
|
||||
.record(z.string(), z.array(z.record(z.string(), z.string())))
|
||||
.describe('Available time slots grouped by date')
|
||||
.title('Available Time Slots'),
|
||||
})
|
||||
|
||||
export const generateLinkInputSchema = z.object({
|
||||
conversationId: z
|
||||
.string()
|
||||
.describe('The ID of the conversation')
|
||||
.placeholder('{{ event.conversationId }}')
|
||||
.title('Conversation ID'),
|
||||
email: z
|
||||
.string()
|
||||
.email('Invalid email address')
|
||||
.describe('The email of the user to send the link to')
|
||||
.title('User Email'),
|
||||
eventTypeId: z.number().describe('The ID of the event type').title('Event Type ID'),
|
||||
})
|
||||
|
||||
export const generateLinkOutputSchema = z.object({
|
||||
url: z.string().describe('The generated scheduling link').title('Scheduling Link URL'),
|
||||
})
|
||||
|
||||
export const bookEventInputSchema = z.object({
|
||||
eventTypeId: z.number().describe('The ID of the event type').title('Event Type ID'),
|
||||
start: z
|
||||
.string()
|
||||
.describe('Start time in ISO 8601 format')
|
||||
.describe('Start time in ISO 8601 format')
|
||||
.title('Start Time'),
|
||||
email: z
|
||||
.string()
|
||||
.email('Invalid email address')
|
||||
.describe('The email of the user booking the event')
|
||||
.title('User Email'),
|
||||
name: z.string().describe('The name of the user booking the event').title('User Name'),
|
||||
timeZone: z.string().describe('Time zone in IANA format, e.g., America/New_York').title('Time Zone'),
|
||||
conversationId: z
|
||||
.string()
|
||||
.optional()
|
||||
.placeholder('{{ event.conversationId }}')
|
||||
.describe('The ID of the conversation')
|
||||
.title('Conversation ID'),
|
||||
})
|
||||
|
||||
export const bookEventOutputSchema = z.object({
|
||||
success: z.boolean().describe('Indicates if the booking was successful').title('Success'),
|
||||
})
|
||||
@@ -0,0 +1,15 @@
|
||||
import { z } from '@botpress/sdk'
|
||||
|
||||
export const calcomEventTypeShema = z.object({
|
||||
id: z.number().describe('The unique identifier of the event type').title('Event Type ID'),
|
||||
lengthInMinutes: z.number().describe('The duration of the event type in minutes').title('Duration (minutes)'),
|
||||
title: z.string().describe('The title of the event type').title('Title'),
|
||||
slug: z.string().describe('The slug of the event type').title('Slug'),
|
||||
description: z.string().describe('A brief description of the event type').title('Description'),
|
||||
lengthInMinutesOptions: z
|
||||
.array(z.number())
|
||||
.optional()
|
||||
.describe('Available duration options for the event type')
|
||||
.title('Duration Options (minutes)'),
|
||||
hidden: z.boolean().describe('Indicates if the event type is hidden').title('Hidden'),
|
||||
})
|
||||
Reference in New Issue
Block a user