UNPKG

@meeting-baas/sdk

Version:

Official SDK for Meeting BaaS API - https://meetingbaas.com

1 lines 154 kB
{"version":3,"sources":["../src/generated/api/calendars/calendars.zod.ts","../src/generated/api/default/default.zod.ts","../src/generated/api/default/default.ts","../src/generated/api/calendars/calendars.ts","../src/generated/api/webhooks/webhooks.ts","../src/index.ts","../src/generated/api/webhooks/webhooks.zod.ts","../src/generated/schema/audioFrequency.ts","../src/generated/schema/deleteStatus.ts","../src/generated/schema/provider.ts","../src/generated/schema/recordingMode.ts","../src/generated/schema/speechToTextProvider.ts","../src/generated/schema/userReportedErrorStatus.ts","../src/node/client.ts","../src/node/api.ts"],"sourcesContent":["/**\n * Generated by orval v7.9.0 🍺\n * Do not edit manually.\n * Meeting BaaS API\n * Meeting BaaS API\n * OpenAPI spec version: 1.1\n */\nimport { z as zod } from \"zod\"\n\n/**\n * Forces a sync of all your connected calendars with their providers (Google, Microsoft).\n\nProcesses each calendar individually and returns:\n- `synced_calendars`: UUIDs of successfully synced calendars\n- `errors`: Details of any failures\n\nSends webhook notifications for calendars with updates.\n * @summary Resync All Calendars\n */\nexport const resyncAllResponseErrorsItemMin = 2\n\nexport const resyncAllResponseErrorsItemMax = 2\n\nexport const resyncAllResponse = zod.object({\n errors: zod\n .array(\n zod\n .array(zod.record(zod.string(), zod.any()))\n .min(resyncAllResponseErrorsItemMin)\n .max(resyncAllResponseErrorsItemMax)\n )\n .describe(\"List of calendar UUIDs that failed to resync, with error messages\"),\n synced_calendars: zod\n .array(zod.string().uuid())\n .describe(\"List of calendar UUIDs that were successfully resynced\")\n})\n\n/**\n * Retrieves unprocessed calendar data directly from the provider (Google, Microsoft) using provided OAuth credentials. This endpoint is typically used during the initial setup process to allow users to select which calendars to integrate. Returns a list of available calendars with their unique IDs, email addresses, and primary status. This data is not persisted until a calendar is formally created using the create_calendar endpoint.\n * @summary List Raw Calendars\n */\nexport const listRawCalendarsBody = zod.object({\n oauth_client_id: zod.string(),\n oauth_client_secret: zod.string(),\n oauth_refresh_token: zod.string(),\n platform: zod\n .enum([\"Google\", \"Microsoft\"])\n .describe(\n 'Fields with value `\\\"simple\\\"` parse as `Kind::Simple`. Fields with value `\\\"fancy\\\"` parse as `Kind::SoFancy`.'\n )\n})\n\nexport const listRawCalendarsResponse = zod.object({\n calendars: zod.array(\n zod.object({\n email: zod.string(),\n id: zod.string(),\n is_primary: zod.boolean()\n })\n )\n})\n\n/**\n * Retrieves all calendars that have been integrated with the system for the authenticated user. Returns a list of calendars with their names, email addresses, provider information, and sync status. This endpoint shows only calendars that have been formally connected through the create_calendar endpoint, not all available calendars from the provider.\n * @summary List Calendars\n */\nexport const listCalendarsResponseItem = zod.object({\n email: zod.string(),\n google_id: zod.string(),\n name: zod.string(),\n resource_id: zod.string().nullish(),\n uuid: zod.string().uuid()\n})\nexport const listCalendarsResponse = zod.array(listCalendarsResponseItem)\n\n/**\n * Integrates a new calendar with the system using OAuth credentials. This endpoint establishes a connection with the calendar provider (Google, Microsoft), sets up webhook notifications for real-time updates, and performs an initial sync of all calendar events. It requires OAuth credentials (client ID, client secret, and refresh token) and the platform type. Once created, the calendar is assigned a unique UUID that should be used for all subsequent operations. Returns the newly created calendar object with all integration details.\n * @summary Create Calendar\n */\nexport const createCalendarBody = zod.object({\n oauth_client_id: zod.string(),\n oauth_client_secret: zod.string(),\n oauth_refresh_token: zod.string(),\n platform: zod\n .enum([\"Google\", \"Microsoft\"])\n .describe(\n 'Fields with value `\\\"simple\\\"` parse as `Kind::Simple`. Fields with value `\\\"fancy\\\"` parse as `Kind::SoFancy`.'\n ),\n raw_calendar_id: zod.string().nullish()\n})\n\nexport const createCalendarResponse = zod.object({\n calendar: zod.object({\n email: zod.string(),\n google_id: zod.string(),\n name: zod.string(),\n resource_id: zod.string().nullish(),\n uuid: zod.string().uuid()\n })\n})\n\n/**\n * Retrieves detailed information about a specific calendar integration by its UUID. Returns comprehensive calendar data including the calendar name, email address, provider details (Google, Microsoft), sync status, and other metadata. This endpoint is useful for displaying calendar information to users or verifying the status of a calendar integration before performing operations on its events.\n * @summary Get Calendar\n */\nexport const getCalendarParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const getCalendarResponse = zod.object({\n email: zod.string(),\n google_id: zod.string(),\n name: zod.string(),\n resource_id: zod.string().nullish(),\n uuid: zod.string().uuid()\n})\n\n/**\n * Permanently removes a calendar integration by its UUID, including all associated events and bot configurations. This operation cancels any active subscriptions with the calendar provider, stops all webhook notifications, and unschedules any pending recordings. All related resources are cleaned up in the database. This action cannot be undone, and subsequent requests to this calendar's UUID will return 404 Not Found errors.\n * @summary Delete Calendar\n */\nexport const deleteCalendarParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\n/**\n * Updates a calendar integration with new credentials or platform while maintaining the same UUID. This operation is performed as an atomic transaction to ensure data integrity. The system automatically unschedules existing bots to prevent duplicates, updates the calendar credentials, and triggers a full resync of all events. Useful when OAuth tokens need to be refreshed or when migrating a calendar between providers. Returns the updated calendar object with its new configuration.\n * @summary Update Calendar\n */\nexport const updateCalendarParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const updateCalendarBody = zod.object({\n oauth_client_id: zod.string(),\n oauth_client_secret: zod.string(),\n oauth_refresh_token: zod.string(),\n platform: zod\n .enum([\"Google\", \"Microsoft\"])\n .describe(\n 'Fields with value `\\\"simple\\\"` parse as `Kind::Simple`. Fields with value `\\\"fancy\\\"` parse as `Kind::SoFancy`.'\n )\n})\n\nexport const updateCalendarResponse = zod.object({\n calendar: zod.object({\n email: zod.string(),\n google_id: zod.string(),\n name: zod.string(),\n resource_id: zod.string().nullish(),\n uuid: zod.string().uuid()\n })\n})\n\n/**\n * Retrieves comprehensive details about a specific calendar event by its UUID. Returns complete event information including title, meeting link, start and end times, organizer status, recurrence information, and the full list of attendees with their names and email addresses. Also includes any associated bot parameters if recording is scheduled for this event. The raw calendar data from the provider is also included for advanced use cases.\n * @summary Get Event\n */\nexport const getEventParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const getEventResponse = zod.object({\n attendees: zod.array(\n zod.object({\n email: zod.string().describe(\"The email address of the meeting attendee\"),\n name: zod\n .string()\n .nullish()\n .describe(\n \"The display name of the attendee if available from the calendar provider (Google, Microsoft)\"\n )\n })\n ),\n bot_param: zod\n .object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"]).or(zod.null()).optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\"Associated bot parameters if a bot is scheduled for this event\"),\n calendar_uuid: zod.string().uuid(),\n deleted: zod.boolean().describe(\"Indicates whether this event has been deleted\"),\n end_time: zod.string().datetime({}).describe(\"The end time of the event in UTC timezone\"),\n google_id: zod\n .string()\n .describe(\"The unique identifier of the event from the calendar provider (Google, Microsoft)\"),\n is_organizer: zod\n .boolean()\n .describe(\"Indicates whether the current user is the organizer of this event\"),\n is_recurring: zod\n .boolean()\n .describe(\"Indicates whether this event is part of a recurring series\"),\n last_updated_at: zod\n .string()\n .datetime({})\n .describe(\"The timestamp when this event was last updated\"),\n meeting_url: zod.string().describe(\"The URL that can be used to join the meeting (if available)\"),\n name: zod.string().describe(\"The title/name of the calendar event\"),\n raw: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n recurring_event_id: zod\n .string()\n .nullish()\n .describe(\"For recurring events, the ID of the parent recurring event series (if applicable)\"),\n start_time: zod.string().datetime({}).describe(\"The start time of the event in UTC timezone\"),\n uuid: zod.string().uuid()\n})\n\n/**\n * Configures a bot to automatically join and record a specific calendar event at its scheduled time. The request body contains detailed bot configuration, including recording options, streaming settings, and webhook notification URLs. For recurring events, the 'all_occurrences' parameter can be set to true to schedule recording for all instances of the recurring series, or false (default) to schedule only the specific instance. Returns the updated event(s) with the bot parameters attached.\n * @summary Schedule Record Event\n */\nexport const scheduleRecordEventParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const scheduleRecordEventQueryParams = zod.object({\n all_occurrences: zod\n .boolean()\n .nullish()\n .describe(\"schedule a bot to all occurences of a recurring event\")\n})\n\nexport const scheduleRecordEventBody = zod.object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod.enum([\"gallery_view\"]).describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text: zod\n .object({\n api_key: zod.string().nullish(),\n provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"])\n })\n .or(zod.enum([\"Gladia\", \"Runpod\", \"Default\"]))\n .or(zod.null())\n .optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .optional()\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string().nullish(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n})\n\nexport const scheduleRecordEventResponseItem = zod.object({\n attendees: zod.array(\n zod.object({\n email: zod.string().describe(\"The email address of the meeting attendee\"),\n name: zod\n .string()\n .nullish()\n .describe(\n \"The display name of the attendee if available from the calendar provider (Google, Microsoft)\"\n )\n })\n ),\n bot_param: zod\n .object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"]).or(zod.null()).optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\"Associated bot parameters if a bot is scheduled for this event\"),\n calendar_uuid: zod.string().uuid(),\n deleted: zod.boolean().describe(\"Indicates whether this event has been deleted\"),\n end_time: zod.string().datetime({}).describe(\"The end time of the event in UTC timezone\"),\n google_id: zod\n .string()\n .describe(\"The unique identifier of the event from the calendar provider (Google, Microsoft)\"),\n is_organizer: zod\n .boolean()\n .describe(\"Indicates whether the current user is the organizer of this event\"),\n is_recurring: zod\n .boolean()\n .describe(\"Indicates whether this event is part of a recurring series\"),\n last_updated_at: zod\n .string()\n .datetime({})\n .describe(\"The timestamp when this event was last updated\"),\n meeting_url: zod.string().describe(\"The URL that can be used to join the meeting (if available)\"),\n name: zod.string().describe(\"The title/name of the calendar event\"),\n raw: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n recurring_event_id: zod\n .string()\n .nullish()\n .describe(\"For recurring events, the ID of the parent recurring event series (if applicable)\"),\n start_time: zod.string().datetime({}).describe(\"The start time of the event in UTC timezone\"),\n uuid: zod.string().uuid()\n})\nexport const scheduleRecordEventResponse = zod.array(scheduleRecordEventResponseItem)\n\n/**\n * Cancels a previously scheduled recording for a calendar event and releases associated bot resources. For recurring events, the 'all_occurrences' parameter controls whether to unschedule from all instances of the recurring series or just the specific occurrence. This operation is idempotent and will not error if no bot was scheduled. Returns the updated event(s) with the bot parameters removed.\n * @summary Unschedule Record Event\n */\nexport const unscheduleRecordEventParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const unscheduleRecordEventQueryParams = zod.object({\n all_occurrences: zod\n .boolean()\n .nullish()\n .describe(\"unschedule a bot from all occurences of a recurring event\")\n})\n\nexport const unscheduleRecordEventResponseItem = zod.object({\n attendees: zod.array(\n zod.object({\n email: zod.string().describe(\"The email address of the meeting attendee\"),\n name: zod\n .string()\n .nullish()\n .describe(\n \"The display name of the attendee if available from the calendar provider (Google, Microsoft)\"\n )\n })\n ),\n bot_param: zod\n .object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"]).or(zod.null()).optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\"Associated bot parameters if a bot is scheduled for this event\"),\n calendar_uuid: zod.string().uuid(),\n deleted: zod.boolean().describe(\"Indicates whether this event has been deleted\"),\n end_time: zod.string().datetime({}).describe(\"The end time of the event in UTC timezone\"),\n google_id: zod\n .string()\n .describe(\"The unique identifier of the event from the calendar provider (Google, Microsoft)\"),\n is_organizer: zod\n .boolean()\n .describe(\"Indicates whether the current user is the organizer of this event\"),\n is_recurring: zod\n .boolean()\n .describe(\"Indicates whether this event is part of a recurring series\"),\n last_updated_at: zod\n .string()\n .datetime({})\n .describe(\"The timestamp when this event was last updated\"),\n meeting_url: zod.string().describe(\"The URL that can be used to join the meeting (if available)\"),\n name: zod.string().describe(\"The title/name of the calendar event\"),\n raw: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n recurring_event_id: zod\n .string()\n .nullish()\n .describe(\"For recurring events, the ID of the parent recurring event series (if applicable)\"),\n start_time: zod.string().datetime({}).describe(\"The start time of the event in UTC timezone\"),\n uuid: zod.string().uuid()\n})\nexport const unscheduleRecordEventResponse = zod.array(unscheduleRecordEventResponseItem)\n\n/**\n * Updates the configuration of a bot already scheduled to record an event. Allows modification of recording settings, webhook URLs, and other bot parameters without canceling and recreating the scheduled recording. For recurring events, the 'all_occurrences' parameter determines whether changes apply to all instances or just the specific occurrence. Returns the updated event(s) with the modified bot parameters.\n * @summary Patch Bot\n */\nexport const patchBotParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const patchBotQueryParams = zod.object({\n all_occurrences: zod\n .boolean()\n .nullish()\n .describe(\"schedule a bot to all occurences of a recurring event\")\n})\n\nexport const patchBotBodyBotImageDefault = null\nexport const patchBotBodyDeduplicationKeyDefault = null\nexport const patchBotBodyEnterMessageDefault = null\nexport const patchBotBodyExtraDefault = null\nexport const patchBotBodyNooneJoinedTimeoutDefault = null\nexport const patchBotBodySpeechToTextDefault = null\nexport const patchBotBodyStreamingAudioFrequencyDefault = null\nexport const patchBotBodyStreamingInputDefault = null\nexport const patchBotBodyStreamingOutputDefault = null\nexport const patchBotBodyTranscriptionCustomParametersDefault = null\nexport const patchBotBodyWaitingRoomTimeoutDefault = null\nexport const patchBotBodyZoomSdkIdDefault = null\nexport const patchBotBodyZoomSdkPwdDefault = null\n\nexport const patchBotBody = zod.object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string().nullish(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.any().optional(),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod.enum([\"gallery_view\"]).describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .or(zod.null())\n .optional(),\n speech_to_text: zod\n .object({\n api_key: zod.string().nullish(),\n provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"])\n })\n .or(zod.enum([\"Gladia\", \"Runpod\", \"Default\"]))\n .or(zod.null())\n .or(zod.null())\n .optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod.any().optional(),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string().nullish(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n})\n\nexport const patchBotResponseItem = zod.object({\n attendees: zod.array(\n zod.object({\n email: zod.string().describe(\"The email address of the meeting attendee\"),\n name: zod\n .string()\n .nullish()\n .describe(\n \"The display name of the attendee if available from the calendar provider (Google, Microsoft)\"\n )\n })\n ),\n bot_param: zod\n .object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"]).or(zod.null()).optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\"Associated bot parameters if a bot is scheduled for this event\"),\n calendar_uuid: zod.string().uuid(),\n deleted: zod.boolean().describe(\"Indicates whether this event has been deleted\"),\n end_time: zod.string().datetime({}).describe(\"The end time of the event in UTC timezone\"),\n google_id: zod\n .string()\n .describe(\"The unique identifier of the event from the calendar provider (Google, Microsoft)\"),\n is_organizer: zod\n .boolean()\n .describe(\"Indicates whether the current user is the organizer of this event\"),\n is_recurring: zod\n .boolean()\n .describe(\"Indicates whether this event is part of a recurring series\"),\n last_updated_at: zod\n .string()\n .datetime({})\n .describe(\"The timestamp when this event was last updated\"),\n meeting_url: zod.string().describe(\"The URL that can be used to join the meeting (if available)\"),\n name: zod.string().describe(\"The title/name of the calendar event\"),\n raw: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n recurring_event_id: zod\n .string()\n .nullish()\n .describe(\"For recurring events, the ID of the parent recurring event series (if applicable)\"),\n start_time: zod.string().datetime({}).describe(\"The start time of the event in UTC timezone\"),\n uuid: zod.string().uuid()\n})\nexport const patchBotResponse = zod.array(patchBotResponseItem)\n\n/**\n * Retrieves a paginated list of calendar events with comprehensive filtering options. Supports filtering by organizer email, attendee email, date ranges (start_date_gte, start_date_lte), and event status. Results can be limited to upcoming events (default), past events, or all events. Each event includes full details such as meeting links, participants, and recording status. The response includes a 'next' pagination cursor for retrieving additional results.\n * @summary List Events\n */\nexport const listEventsQueryParams = zod.object({\n attendee_email: zod\n .string()\n .nullish()\n .describe(\n 'If provided, filters events to include only those with this attendee\\'s email address Example: \\\"jane.smith@example.com\\\"'\n ),\n calendar_id: zod\n .string()\n .describe(\n \"Calendar ID to filter events by This is required to specify which calendar's events to retrieve\"\n ),\n cursor: zod\n .string()\n .nullish()\n .describe(\n \"Optional cursor for pagination This value is included in the `next` field of the previous response\"\n ),\n organizer_email: zod\n .string()\n .nullish()\n .describe(\n 'If provided, filters events to include only those with this organizer\\'s email address Example: \\\"john.doe@example.com\\\"'\n ),\n start_date_gte: zod\n .string()\n .nullish()\n .describe(\n 'If provided, filters events to include only those with a start date greater than or equal to this timestamp Format: ISO-8601 string, e.g., \\\"2023-01-01T00:00:00Z\\\"'\n ),\n start_date_lte: zod\n .string()\n .nullish()\n .describe(\n 'If provided, filters events to include only those with a start date less than or equal to this timestamp Format: ISO-8601 string, e.g., \\\"2023-12-31T23:59:59Z\\\"'\n ),\n status: zod\n .string()\n .nullish()\n .describe(\n 'Filter events by meeting status Valid values: \\\"upcoming\\\" (default) returns events after current time, \\\"past\\\" returns previous events, \\\"all\\\" returns both'\n ),\n updated_at_gte: zod\n .string()\n .nullish()\n .describe(\n 'If provided, fetches only events updated at or after this timestamp Format: ISO-8601 string, e.g., \\\"2023-01-01T00:00:00Z\\\"'\n )\n})\n\nexport const listEventsResponse = zod.object({\n data: zod\n .array(\n zod.object({\n attendees: zod.array(\n zod.object({\n email: zod.string().describe(\"The email address of the meeting attendee\"),\n name: zod\n .string()\n .nullish()\n .describe(\n \"The display name of the attendee if available from the calendar provider (Google, Microsoft)\"\n )\n })\n ),\n bot_param: zod\n .object({\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n deduplication_key: zod.string().nullish(),\n enter_message: zod.string().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod\n .enum([\"Gladia\", \"Runpod\", \"Default\"])\n .or(zod.null())\n .optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\"Associated bot parameters if a bot is scheduled for this event\"),\n calendar_uuid: zod.string().uuid(),\n deleted: zod.boolean().describe(\"Indicates whether this event has been deleted\"),\n end_time: zod.string().datetime({}).describe(\"The end time of the event in UTC timezone\"),\n google_id: zod\n .string()\n .describe(\n \"The unique identifier of the event from the calendar provider (Google, Microsoft)\"\n ),\n is_organizer: zod\n .boolean()\n .describe(\"Indicates whether the current user is the organizer of this event\"),\n is_recurring: zod\n .boolean()\n .describe(\"Indicates whether this event is part of a recurring series\"),\n last_updated_at: zod\n .string()\n .datetime({})\n .describe(\"The timestamp when this event was last updated\"),\n meeting_url: zod\n .string()\n .describe(\"The URL that can be used to join the meeting (if available)\"),\n name: zod.string().describe(\"The title/name of the calendar event\"),\n raw: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n recurring_event_id: zod\n .string()\n .nullish()\n .describe(\n \"For recurring events, the ID of the parent recurring event series (if applicable)\"\n ),\n start_time: zod\n .string()\n .datetime({})\n .describe(\"The start time of the event in UTC timezone\"),\n uuid: zod.string().uuid()\n })\n )\n .describe(\"Vector of calendar events matching the list criteria\"),\n next: zod\n .string()\n .nullish()\n .describe(\n \"Optional url for fetching the next page of results if there are more results to fetch. The limit of events returned is 100. When None, there are no more results to fetch.\"\n )\n})\n","/**\n * Generated by orval v7.9.0 🍺\n * Do not edit manually.\n * Meeting BaaS API\n * Meeting BaaS API\n * OpenAPI spec version: 1.1\n */\nimport { z as zod } from \"zod\"\n\n/**\n * Have a bot join a meeting, now or in the future. You can provide a `webhook_url` parameter to receive webhook events specific to this bot, overriding your account's default webhook URL. Events include recording completion, failures, and transcription updates.\n * @summary Join\n */\nexport const joinBodyAutomaticLeaveNooneJoinedTimeoutMin = 0\nexport const joinBodyAutomaticLeaveWaitingRoomTimeoutMin = 0\nexport const joinBodyStartTimeMin = 0\nexport const joinBodyTranscriptionCustomParametersDefault = null\n\nexport const joinBody = zod.object({\n automatic_leave: zod\n .object({\n noone_joined_timeout: zod\n .number()\n .min(joinBodyAutomaticLeaveNooneJoinedTimeoutMin)\n .nullish()\n .describe(\n \"The timeout in seconds for the bot to wait for participants to join before leaving the meeting, defaults to 600 seconds\"\n ),\n waiting_room_timeout: zod\n .number()\n .min(joinBodyAutomaticLeaveWaitingRoomTimeoutMin)\n .nullish()\n .describe(\n \"The timeout in seconds for the bot to wait in the waiting room before leaving the meeting, defaults to 600 seconds\"\n )\n })\n .or(zod.null())\n .optional()\n .describe(\n \"The bot will leave the meeting automatically after the timeout, defaults to 600 seconds.\"\n ),\n bot_image: zod\n .string()\n .url()\n .nullish()\n .describe(\"The image to use for the bot, must be a URL. Recommended ratio is 16:9.\"),\n bot_name: zod.string(),\n deduplication_key: zod\n .string()\n .nullish()\n .describe(\n \"We prevent multiple bots with same API key joining a meeting within 5 mins, unless overridden by deduplication_key.\"\n ),\n entry_message: zod\n .string()\n .nullish()\n .describe(\n \"There are no entry messages on Microsoft Teams as guests outside of an organization do not have access to the chat.\"\n ),\n extra: zod.record(zod.string(), zod.any()).optional().describe(\"Custom data object\"),\n meeting_url: zod.string(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod.enum([\"gallery_view\"]).describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional()\n .describe(\"The recording mode for the bot, defaults to 'speaker_view'.\"),\n reserved: zod\n .boolean()\n .describe(\n \"Whether or not the bot should come from the available pool of bots or be a dedicated bot. Reserved bots come in exactly 4 minutes after the request.\"\n ),\n speech_to_text: zod\n .object({\n api_key: zod.string().nullish(),\n provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"])\n })\n .or(zod.enum([\"Gladia\", \"Runpod\", \"Default\"]))\n .or(zod.null())\n .optional()\n .describe(\"The default speech to text provider is Gladia.\"),\n start_time: zod\n .number()\n .min(joinBodyStartTimeMin)\n .nullish()\n .describe(\n \"Unix timestamp (in milliseconds) for when the bot should join the meeting. The bot joins 4 minutes before the start time.\"\n ),\n streaming: zod\n .object({\n audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n input: zod.string().nullish(),\n output: zod.string().nullish()\n })\n .or(zod.null())\n .optional()\n .describe(\n \"WebSocket streams for 16 kHz audio. Input stream receives audio sent to the bot. Output stream receives audio from the bot.\"\n ),\n transcription_custom_parameters: zod\n .any()\n .optional()\n .describe(\"For your own transcription parameters\"),\n webhook_url: zod\n .string()\n .nullish()\n .describe(\n \"A webhook URL to send events to, overrides the webhook URL set in your account settings.\"\n ),\n zoom_sdk_id: zod\n .string()\n .nullish()\n .describe(\"For the Own Zoom Credentials feature, we need your zoom sdk id.\"),\n zoom_sdk_pwd: zod\n .string()\n .nullish()\n .describe(\"For the Own Zoom Credentials feature, we need your zoom sdk pwd.\")\n})\n\nexport const joinResponse = zod.object({\n bot_id: zod.string().uuid()\n})\n\n/**\n * Leave\n * @summary Leave\n */\nexport const leaveParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const leaveResponse = zod.object({\n ok: zod.boolean()\n})\n\n/**\n * Get meeting recording and metadata\n * @summary Get Meeting Data\n */\nexport const getMeetingDataQueryIncludeTranscriptsDefault = true\n\nexport const getMeetingDataQueryParams = zod.object({\n bot_id: zod.string(),\n include_transcripts: zod\n .boolean()\n .default(getMeetingDataQueryIncludeTranscriptsDefault)\n .describe(\n \"Whether to include transcription data in the response. Defaults to true if not specified.\"\n )\n})\n\nexport const getMeetingDataResponse = zod.object({\n bot_data: zod.object({\n bot: zod.object({\n account_id: zod.number(),\n bot_image: zod.string().nullish(),\n bot_name: zod.string(),\n bot_param_id: zod.number(),\n created_at: zod.string().datetime({}),\n deduplication_key: zod.string().nullish(),\n diarization_fails: zod.number().nullish(),\n diarization_v2: zod.boolean(),\n ended_at: zod.string().datetime({}).nullable(),\n enter_message: zod.string().nullish(),\n errors: zod.string().nullish(),\n event_id: zod.number().nullish(),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n id: zod.number(),\n meeting_url: zod.string(),\n mp4_s3_path: zod.string(),\n noone_joined_timeout: zod.number().nullish(),\n recording_mode: zod\n .enum([\"speaker_view\"])\n .describe(\"Records the active speaker view\")\n .or(\n zod\n .enum([\"gallery_view\"])\n .describe(\"Records the gallery view showing multiple participants\")\n )\n .or(zod.enum([\"audio_only\"]).describe(\"Records only the audio from the meeting\"))\n .describe(\"Recording mode for the bot\")\n .or(zod.null())\n .optional(),\n reserved: zod.boolean(),\n scheduled_bot_id: zod.number().nullish(),\n session_id: zod.string().nullish(),\n speech_to_text_api_key: zod.string().nullish(),\n speech_to_text_provider: zod.enum([\"Gladia\", \"Runpod\", \"Default\"]).or(zod.null()).optional(),\n streaming_audio_frequency: zod.enum([\"16khz\", \"24khz\"]).or(zod.null()).optional(),\n streaming_input: zod.string().nullish(),\n streaming_output: zod.string().nullish(),\n transcription_custom_parameters: zod\n .record(zod.string(), zod.any())\n .describe(\"Custom data object\"),\n transcription_fails: zod.number().nullish(),\n transcription_payloads: zod.any().optional(),\n user_reported_error: zod.any().optional(),\n uuid: zod.string().uuid(),\n waiting_room_timeout: zod.number().nullish(),\n webhook_url: zod.string(),\n zoom_sdk_id: zod.string().nullish(),\n zoom_sdk_pwd: zod.string().nullish()\n }),\n transcripts: zod.array(\n zod.object({\n bot_id: zod.number(),\n end_time: zod.number().nullish(),\n id: zod.number(),\n lang: zod.string().nullish(),\n speaker: zod.string(),\n start_time: zod.number(),\n user_id: zod.number().nullish(),\n words: zod.array(\n zod.object({\n bot_id: zod.number(),\n end_time: zod.number(),\n id: zod.number(),\n start_time: zod.number(),\n text: zod.string(),\n user_id: zod.number().nullish()\n })\n )\n })\n )\n }),\n duration: zod.number().describe(\"Duration of the recording in seconds\"),\n mp4: zod\n .string()\n .describe(\n \"URL to access the recording MP4 file. Will be an empty string if the file doesn't exist in S3.\"\n )\n})\n\n/**\n * Deletes a bot's data including recording, transcription, and logs. Only metadata is retained. Rate limited to 5 requests per minute per API key.\n * @summary Delete Data\n */\nexport const deleteDataParams = zod.object({\n uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const deleteDataResponse = zod.object({\n ok: zod.boolean().describe(\"Whether the request was processed successfully\"),\n status: zod\n .enum([\"deleted\"])\n .describe(\"All data was successfully deleted\")\n .or(\n zod\n .enum([\"partiallyDeleted\"])\n .describe(\"Some data was deleted, but other parts couldn't be removed\")\n )\n .or(\n zod\n .enum([\"alreadyDeleted\"])\n .describe(\"No data needed to be deleted as it was already removed\")\n )\n .or(zod.enum([\"noDataFound\"]).describe(\"No data was found for the specified bot\"))\n})\n\n/**\n * Retrieves a paginated list of the user's bots with essential metadata, including IDs, names, and meeting details. Supports filtering, sorting, and advanced querying options.\n * @summary List Bots with Metadata\n */\nexport const botsWithMetadataQueryLimitDefault = 10\n\nexport const botsWithMetadataQueryParams = zod.object({\n bot_name: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots by name containing this string.\\n\\nPerforms a case-insensitive partial match on the bot\\'s name. Useful for finding bots with specific naming conventions or to locate a particular bot when you don\\'t have its ID.\\n\\nExample: \\\"Sales\\\" would match \\\"Sales Meeting\\\", \\\"Quarterly Sales\\\", etc.'\n ),\n created_after: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots created after this date (ISO format).\\n\\nLimits results to bots created at or after the specified timestamp. Used for time-based filtering to find recent additions.\\n\\nFormat: ISO-8601 date-time string (YYYY-MM-DDThh:mm:ss) Example: \\\"2023-05-01T00:00:00\\\"'\n ),\n created_before: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots created before this date (ISO format).\\n\\nLimits results to bots created at or before the specified timestamp. Used for time-based filtering to exclude recent additions.\\n\\nFormat: ISO-8601 date-time string (YYYY-MM-DDThh:mm:ss) Example: \\\"2023-05-31T23:59:59\\\"'\n ),\n cursor: zod\n .string()\n .nullish()\n .describe(\n \"Cursor for pagination, obtained from previous response.\\n\\nUsed for retrieving the next set of results after a previous call. The cursor value is returned in the `nextCursor` field of responses that have additional results available.\\n\\nFormat: Base64-encoded string containing pagination metadata\"\n ),\n ended_after: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots ended after this date (ISO format).\\n\\nLimits results to bots that ended at or after the specified timestamp. Useful for finding completed meetings within a specific time period.\\n\\nFormat: ISO-8601 date-time string (YYYY-MM-DDThh:mm:ss) Example: \\\"2023-05-01T00:00:00\\\"'\n ),\n filter_by_extra: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots by matching values in the extra JSON payload.\\n\\nThis parameter performs in-memory filtering on the `extra` JSON field, similar to a SQL WHERE clause. It reduces the result set to only include bots that match all specified conditions.\\n\\nFormat specifications: - Single condition: \\\"field:value\\\" - Multiple conditions: \\\"field1:value1,field2:value2\\\"\\n\\nExamples: - \\\"customer_id:12345\\\" - Only bots with this customer ID - \\\"status:active,project:sales\\\" - Only active bots from sales projects\\n\\nNotes: - All conditions must match for a bot to be included - Values are matched exactly (case-sensitive) - Bots without the specified field are excluded'\n ),\n limit: zod\n .number()\n .default(botsWithMetadataQueryLimitDefault)\n .describe(\n \"Maximum number of bots to return in a single request.\\n\\nLimits the number of results returned in a single API call. This parameter helps control response size and page length.\\n\\nDefault: 10 Minimum: 1 Maximum: 50\"\n ),\n meeting_url: zod\n .string()\n .nullish()\n .describe(\n 'Filter bots by meeting URL containing this string.\\n\\nPerforms a case-insensitive partial match on the bot\\'s meeting URL. Use this to find bots associated with specific meeting platforms or particular meeting IDs.\\n\\nExample: \\\"zoom.us\\\" would match all Zoom meetings'\n ),\n sort_by_extra: zod\n .string()\n .nullish()\n .describe(\n 'Sort the results by a field in the extra JSON payload.\\n\\nThis parameter performs in-memory sorting on the `extra` JSON field, similar to a SQL ORDER BY clause. It changes the order of results but not which results are included.\\n\\nFormat specifications: - Default (ascending): \\\"field\\\" - Explicit direction: \\\"field:asc\\\" or \\\"field:desc\\\"\\n\\nExamples: - \\\"customer_id\\\" - Sort by customer_id (ascending) - \\\"priority:desc\\\" - Sort by priority (descending)\\n\\nNotes: - Applied after all filtering - String comparison is used for sorting - Bots with the field come before bots without it - Can be combined with filter_by_extra'\n ),\n speaker_name: zod\n .string()\n .nullish()\n .describe(\n 'NOTE: this is a preview feature and not yet available\\n\\nFilter bots by speaker name containing this string.\\n\\nPerforms a case-insensitive partial match on the speakers in the meeting. Useful for finding meetings that included a specific person.\\n\\nExample: \\\"John\\\" would match meetings with speakers like \\\"John Smith\\\" or \\\"John Doe\\\"'\n )\n})\n\nexport const botsWithMetadataResponseLastUpdatedDefault = \"2025-01-01T00:00:00.000000000+00:00\"\n\nexport const botsWithMetadataResponse = zod\n .object({\n bots: zod\n .array(\n zod\n .object({\n access_count: zod\n .number()\n .nullish()\n .describe(\"Number of times this bot data has been accessed (if tracked)\"),\n bot_name: zod.string().describe(\"Name of the bot\"),\n created_at: zod.string().describe(\"Creation timestamp of the bot in ISO-8601 format\"),\n duration: zod\n .number()\n .nullish()\n .describe(\"Duration of the bot session in seconds (if completed)\"),\n ended_at: zod\n .string()\n .nullish()\n .describe(\"End time of the bot session (if completed) in ISO-8601 format\"),\n extra: zod.record(zod.string(), zod.any()).describe(\"Custom data object\"),\n id: zod\n .number()\n .describe(\n \"Unique identifier of the bot (legacy field)\\n\\nThis field is maintained for backwards compatibility. It is serialized as a UUID string to match the old API format. New clients should use the uuid field instead.\"\n ),\n last_accessed_at: zod\n .string()\n .nullish()\n .describe(\"Last time this bot data was accessed (if available)\"),\n meeting_url: zod.string().describe(\"URL of the meeting the bot joined\"),\n session_id: zod.string().nullish().describe(\"Session ID if the bot is active\"),\n speakers: zod\n .array(zod.string())\n .describe(\"List of unique speaker names from the bot's transcripts\"),\n uuid: zod\n .string()\n .uuid()\n .describe(\n \"Unique identifier of the bot (new field)\\n\\nThis is the preferred field to use for bot identification. The id field is maintained for backwards compatibility.\"\n