{"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              )\n          })\n          .describe(\"Entry for a recent bot in the list response\")\n      )\n      .describe(\n        'List of recent bots with their metadata\\n\\nThis field is serialized as both \\\"bots\\\" and \\\"recent_bots\\\" for backwards compatibility. New clients should use the \\\"bots\\\" field name.'\n      ),\n    last_updated: zod\n      .string()\n      .datetime({})\n      .default(botsWithMetadataResponseLastUpdatedDefault)\n      .describe(\n        \"Timestamp of when this data was generated (in ISO-8601 format)\\n\\nThis field is maintained for backwards compatibility. It is automatically set to the current time when the response is created.\"\n      ),\n    next_cursor: zod.string().nullish().describe(\"Optional cursor for pagination\")\n  })\n  .describe(\"Response for listing recent bots\")\n\n/**\n * Transcribe or retranscribe a bot's audio using the Default or your provided Speech to Text Provider\n * @summary Retranscribe Bot\n */\nexport const retranscribeBotBody = zod.object({\n  bot_uuid: zod.string(),\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  webhook_url: zod.string().nullish()\n})\n\n/**\n * Retrieves screenshots captured during the bot's session\n * @summary Get Screenshots\n */\nexport const getScreenshotsParams = zod.object({\n  uuid: zod.string().describe(\"The UUID identifier\")\n})\n\nexport const getScreenshotsResponseItem = zod\n  .object({\n    date: zod.string(),\n    url: zod.string()\n  })\n  .describe(\"Schema-compatible wrapper for the Screenshot struct\")\nexport const getScreenshotsResponse = zod.array(getScreenshotsResponseItem)\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 */\n\nimport type { AxiosRequestConfig, AxiosResponse } from \"axios\"\nimport axios from \"axios\"\n\nimport type {\n  BotsWithMetadataParams,\n  DeleteResponse,\n  GetMeetingDataParams,\n  JoinRequest,\n  JoinResponse,\n  LeaveResponse,\n  ListRecentBotsResponse,\n  Metadata,\n  RetranscribeBody,\n  ScreenshotsList\n} from \"../../schema\"\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 join = <TData = AxiosResponse<JoinResponse>>(\n  joinRequest: JoinRequest,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(\"/bots/\", joinRequest, options)\n}\n/**\n * Leave\n * @summary Leave\n */\nexport const leave = <TData = AxiosResponse<LeaveResponse>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.delete(`/bots/${uuid}`, options)\n}\n/**\n * Get meeting recording and metadata\n * @summary Get Meeting Data\n */\nexport const getMeetingData = <TData = AxiosResponse<Metadata>>(\n  params: GetMeetingDataParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/bots/meeting_data\", {\n    ...options,\n    params: { ...params, ...options?.params }\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 deleteData = <TData = AxiosResponse<DeleteResponse>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(`/bots/${uuid}/delete_data`, undefined, options)\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 botsWithMetadata = <TData = AxiosResponse<ListRecentBotsResponse>>(\n  params?: BotsWithMetadataParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/bots/bots_with_metadata\", {\n    ...options,\n    params: { ...params, ...options?.params }\n  })\n}\n/**\n * Transcribe or retranscribe a bot's audio using the Default or your provided Speech to Text Provider\n * @summary Retranscribe Bot\n */\nexport const retranscribeBot = <TData = AxiosResponse<void>>(\n  retranscribeBody: RetranscribeBody,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(\"/bots/retranscribe\", retranscribeBody, options)\n}\n/**\n * Retrieves screenshots captured during the bot's session\n * @summary Get Screenshots\n */\nexport const getScreenshots = <TData = AxiosResponse<ScreenshotsList>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(`/bots/${uuid}/screenshots`, options)\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 */\n\nimport type { AxiosRequestConfig, AxiosResponse } from \"axios\"\nimport axios from \"axios\"\n\nimport type {\n  BotParam2,\n  BotParam3,\n  Calendar,\n  CreateCalendarParams,\n  CreateCalendarResponse,\n  Event,\n  ListEventResponse,\n  ListEventsParams,\n  ListRawCalendarsParams,\n  ListRawCalendarsResponse,\n  PatchBotParams,\n  ResyncAllResponse,\n  ScheduleRecordEventParams,\n  UnscheduleRecordEventParams,\n  UpdateCalendarParams\n} from \"../../schema\"\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 resyncAll = <TData = AxiosResponse<ResyncAllResponse>>(\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(\"/internal/calendar/resync_all\", undefined, options)\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 listRawCalendars = <TData = AxiosResponse<ListRawCalendarsResponse>>(\n  listRawCalendarsParams: ListRawCalendarsParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(\"/calendars/raw\", listRawCalendarsParams, options)\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 listCalendars = <TData = AxiosResponse<Calendar[]>>(\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/calendars/\", options)\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 createCalendar = <TData = AxiosResponse<CreateCalendarResponse>>(\n  createCalendarParams: CreateCalendarParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(\"/calendars/\", createCalendarParams, options)\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 getCalendar = <TData = AxiosResponse<Calendar>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(`/calendars/${uuid}`, options)\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 deleteCalendar = <TData = AxiosResponse<void>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.delete(`/calendars/${uuid}`, options)\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 updateCalendar = <TData = AxiosResponse<CreateCalendarResponse>>(\n  uuid: string,\n  updateCalendarParams: UpdateCalendarParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.patch(`/calendars/${uuid}`, updateCalendarParams, options)\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 getEvent = <TData = AxiosResponse<Event>>(\n  uuid: string,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(`/calendar_events/${uuid}`, options)\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 scheduleRecordEvent = <TData = AxiosResponse<Event[]>>(\n  uuid: string,\n  botParam2: BotParam2,\n  params?: ScheduleRecordEventParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.post(`/calendar_events/${uuid}/bot`, botParam2, {\n    ...options,\n    params: { ...params, ...options?.params }\n  })\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 unscheduleRecordEvent = <TData = AxiosResponse<Event[]>>(\n  uuid: string,\n  params?: UnscheduleRecordEventParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.delete(`/calendar_events/${uuid}/bot`, {\n    ...options,\n    params: { ...params, ...options?.params }\n  })\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 patchBot = <TData = AxiosResponse<Event[]>>(\n  uuid: string,\n  botParam3: BotParam3,\n  params?: PatchBotParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.patch(`/calendar_events/${uuid}/bot`, botParam3, {\n    ...options,\n    params: { ...params, ...options?.params }\n  })\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 listEvents = <TData = AxiosResponse<ListEventResponse>>(\n  params: ListEventsParams,\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/calendar_events/\", {\n    ...options,\n    params: { ...params, ...options?.params }\n  })\n}\nexport type ResyncAllResult = AxiosResponse<ResyncAllResponse>\nexport type ListRawCalendarsResult = AxiosResponse<ListRawCalendarsResponse>\nexport type ListCalendarsResult = AxiosResponse<Calendar[]>\nexport type CreateCalendarResult = AxiosResponse<CreateCalendarResponse>\nexport type GetCalendarResult = AxiosResponse<Calendar>\nexport type DeleteCalendarResult = AxiosResponse<void>\nexport type UpdateCalendarResult = AxiosResponse<CreateCalendarResponse>\nexport type GetEventResult = AxiosResponse<Event>\nexport type ScheduleRecordEventResult = AxiosResponse<Event[]>\nexport type UnscheduleRecordEventResult = AxiosResponse<Event[]>\nexport type PatchBotResult = AxiosResponse<Event[]>\nexport type ListEventsResult = AxiosResponse<ListEventResponse>\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 */\n\nimport type { AxiosRequestConfig, AxiosResponse } from \"axios\"\nimport axios from \"axios\"\n\n/**\n * Meeting BaaS sends webhook events to your configured webhook URL when specific events occur.\n\n## Webhook Event Types\n\n### 1. `complete`\nSent when a bot successfully completes recording a meeting. Contains full transcription data and a link to the recording.\n```json\n{\n  \\\"event\\\": \\\"complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"transcript\\\": [\n      {\n        \\\"speaker\\\": \\\"John Doe\\\",\n        \\\"offset\\\": 1.5,\n        \\\"words\\\": [\n          {\n            \\\"start\\\": 1.5,\n            \\\"end\\\": 1.9,\n            \\\"word\\\": \\\"Hello\\\"\n          },\n          {\n            \\\"start\\\": 2.0,\n            \\\"end\\\": 2.4,\n            \\\"word\\\": \\\"everyone\\\"\n          }\n        ]\n      }\n    ],\n    \\\"speakers\\\": [\n      \\\"John Doe\\\",\n      \\\"Jane Smith\\\"\n    ],\n    \\\"mp4\\\": \\\"https://storage.example.com/recordings/video123.mp4?token=abc\\\",\n    \\\"event\\\": \\\"complete\\\"\n  }\n}\n```\n\nThe `complete` event includes:\n- **bot_id**: Unique identifier for the bot that completed recording\n- **speakers**: A set of speaker names identified in the meeting\n- **transcript**: Full transcript data with speaker identification and word timing\n- **mp4**: URL to the recording file (valid for 24 hours by default)\n- **event**: Event type identifier (\"complete\")\n\n### 2. `failed`\nSent when a bot fails to join or record a meeting. Contains error details.\n```json\n{\n  \\\"event\\\": \\\"failed\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"error\\\": \\\"meeting_not_found\\\",\n    \\\"message\\\": \\\"Could not join meeting: The meeting ID was not found or has expired\\\"\n  }\n}\n```\n\nThe `failed` event includes:\n- **bot_id**: Unique identifier for the bot that failed\n- **error**: Error code identifying the type of failure\n- **message**: Detailed human-readable error message\n\nCommon error types include:\n- `meeting_not_found`: The meeting ID or link was invalid or expired\n- `access_denied`: The bot was denied access to the meeting\n- `authentication_error`: Failed to authenticate with the meeting platform\n- `network_error`: Network connectivity issues during recording\n- `internal_error`: Internal server error\n\n### 3. `calendar.sync_events`\nSent when calendar events are synced. Contains information about which events were updated.\n```json\n{\n  \\\"event\\\": \\\"calendar.sync_events\\\",\n  \\\"data\\\": {\n    \\\"calendar_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"last_updated_ts\\\": \\\"2023-05-01T12:00:00Z\\\",\n    \\\"affected_event_uuids\\\": [\n      \\\"123e4567-e89b-12d3-a456-426614174001\\\",\n      \\\"123e4567-e89b-12d3-a456-426614174002\\\"\n    ]\n  }\n}\n```\n\nThe `calendar.sync_events` event includes:\n- **calendar_id**: UUID of the calendar that was synced\n- **last_updated_ts**: ISO-8601 timestamp of when the sync occurred\n- **affected_event_uuids**: Array of UUIDs for calendar events that were added, updated, or deleted\n\nThis event is triggered when:\n- Calendar data is synced with the external provider (Google, Microsoft)\n- Multiple events may be created, updated, or deleted in a single sync operation\n- Use this event to update your local cache of calendar events\n\n### 4. `transcription_complete`\nSent when transcription is completed separately from recording (e.g., after retranscribing).\n```json\n{\n  \\\"event\\\": \\\"transcription_complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\"\n  }\n}\n```\n\nThe `transcription_complete` event includes:\n- **bot_id**: Unique identifier for the bot with the completed transcription\n\nThis event is sent when:\n- You request a retranscription via the `/bots/retranscribe` endpoint\n- An asynchronous transcription process completes after the recording has ended\n\n## Setting Up Webhooks\n\nYou can configure webhooks in two ways:\n1. **Account-level webhook URL**: Set a default webhook URL for all bots in your account using the `/accounts/webhook_url` endpoint\n2. **Bot-specific webhook URL**: Provide a `webhook_url` parameter when creating a bot with the `/bots` endpoint\n\nYour webhook endpoint must:\n- Accept POST requests with JSON payload\n- Return a 2xx status code to acknowledge receipt\n- Process requests within 10 seconds to avoid timeouts\n- Handle each event type appropriately based on the event type\n\nAll webhook requests include:\n- `x-meeting-baas-api-key` header with your API key for verification\n- `content-type: application/json` header\n- JSON body containing the event details\n\n## Webhook Reliability\n\nIf your endpoint fails to respond or returns an error, the system will attempt to retry the webhook delivery. For critical events, we recommend implementing:\n\n- Idempotency handling to prevent duplicate processing of the same event\n- Proper logging of webhook receipts for audit purposes\n- Asynchronous processing to quickly acknowledge receipt before handling the event data\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Webhook Events Documentation\n */\nexport const webhookDocumentation = <TData = AxiosResponse<unknown>>(\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/bots/webhooks\", options)\n}\n/**\n * Meeting BaaS sends the following webhook events related to bot recordings.\n\n## Bot Webhook Event Types\n\n### 1. `complete`\nSent when a bot successfully completes recording a meeting.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"transcript\\\": [\n      {\n        \\\"speaker\\\": \\\"John Doe\\\",\n        \\\"offset\\\": 1.5,\n        \\\"words\\\": [\n          {\n            \\\"start\\\": 1.5,\n            \\\"end\\\": 1.9,\n            \\\"word\\\": \\\"Hello\\\"\n          },\n          {\n            \\\"start\\\": 2.0,\n            \\\"end\\\": 2.4,\n            \\\"word\\\": \\\"everyone\\\"\n          }\n        ]\n      }\n    ],\n    \\\"speakers\\\": [\n      \\\"John Doe\\\",\n      \\\"Jane Smith\\\"\n    ],\n    \\\"mp4\\\": \\\"https://storage.example.com/recordings/video123.mp4?token=abc\\\",\n    \\\"event\\\": \\\"complete\\\"\n  }\n}\n```\n\n**When it's triggered:**\n- After a bot successfully records and processes a meeting\n- After the recording is uploaded and made available\n- When all processing of the meeting recording is complete\n\n**What to do with it:**\n- Download the MP4 recording for storage in your system\n- Store the transcript data in your database\n- Update meeting status in your application\n- Notify users that the recording is available\n\n### 2. `failed`\nSent when a bot fails to join or record a meeting.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"failed\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"error\\\": \\\"meeting_not_found\\\",\n    \\\"message\\\": \\\"Could not join meeting: The meeting ID was not found or has expired\\\"\n  }\n}\n```\n\n**Common error types:**\n- `meeting_not_found`: The meeting ID or link was invalid or expired\n- `access_denied`: The bot was denied access to the meeting\n- `authentication_error`: Failed to authenticate with the meeting platform\n- `network_error`: Network connectivity issues during recording\n- `internal_error`: Internal server error\n\n**What to do with it:**\n- Log the failure for troubleshooting\n- Notify administrators or users about the failed recording\n- Attempt to reschedule if appropriate\n- Update meeting status in your system\n\n### 3. `transcription_complete`\nSent when transcription is completed separately from recording.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"transcription_complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\"\n  }\n}\n```\n\n**When it's triggered:**\n- After requesting retranscription via the API\n- When an asynchronous transcription job completes\n- When a higher quality or different language transcription becomes available\n\n**What to do with it:**\n- Update the transcript data in your system\n- Notify users that improved transcription is available\n- Run any post-processing on the new transcript data\n\n## Webhook Usage Tips\n\n- Each event includes the `bot_id` so you can correlate with your internal data\n- The complete event includes speaker identification and full transcript data\n- For downloading recordings, the mp4 URL is valid for 24 hours\n- Handle the webhook asynchronously and return 200 OK quickly to prevent timeouts\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Bot Webhook Events Documentation\n */\nexport const botWebhookDocumentation = <TData = AxiosResponse<unknown>>(\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/bots/webhooks/bot\", options)\n}\n/**\n * Meeting BaaS sends the following webhook events related to calendar integrations.\n\n## Calendar Webhook Event Types\n\n### 1. `calendar.sync_events`\nSent when calendar events are synced with external providers.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"calendar.sync_events\\\",\n  \\\"data\\\": {\n    \\\"calendar_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"last_updated_ts\\\": \\\"2023-05-01T12:00:00Z\\\",\n    \\\"affected_event_uuids\\\": [\n      \\\"123e4567-e89b-12d3-a456-426614174001\\\",\n      \\\"123e4567-e89b-12d3-a456-426614174002\\\"\n    ]\n  }\n}\n```\n\n**When it's triggered:**\n- After initial calendar connection is established\n- When external calendar providers (Google, Microsoft) send change notifications\n- After manual calendar resync operations\n- During scheduled periodic syncs\n- When events are created, updated, or deleted in the source calendar\n\n**What to do with it:**\n- Update your local copy of calendar events\n- Process any new events that match your criteria\n- Remove any deleted events from your system\n- Update schedules for any modified events\n- Refresh your UI to show the latest calendar data\n\n**Field details:**\n- `calendar_id`: The UUID of the synchronized calendar\n- `last_updated_ts`: ISO-8601 timestamp when the sync occurred\n- `affected_event_uuids**: Array of UUIDs for events that were changed\n\n## Integration with Meeting BaaS Calendar API\n\nAfter receiving a calendar webhook event, you can:\n1. Use the `/calendar_events` endpoint to retrieve detailed information about specific events\n2. Use the `/calendars/:uuid` endpoint to get calendar metadata\n3. Schedule recording bots for any new meetings with the `/calendar_events/:uuid/bot` endpoint\n\n## Webhook Usage Tips\n\n- Each event includes affected event UUIDs for efficient processing\n- You don't need to retrieve all calendar events - just process the changed ones\n- The timestamp helps determine the sequence of updates\n- For high-frequency calendars, consider batch processing of multiple events\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Calendar Webhook Events Documentation\n */\nexport const calendarWebhookDocumentation = <TData = AxiosResponse<unknown>>(\n  options?: AxiosRequestConfig\n): Promise<TData> => {\n  return axios.get(\"/bots/webhooks/calendar\", options)\n}\nexport type WebhookDocumentationResult = AxiosResponse<unknown>\nexport type BotWebhookDocumentationResult = AxiosResponse<unknown>\nexport type CalendarWebhookDocumentationResult = AxiosResponse<unknown>\n","// Main SDK Export file\n// This file exports the core SDK functionality\n\n// Re-export all zod schemas from the generated code for advanced usage\nexport * from \"./generated/api/calendars/calendars.zod\"\nexport * from \"./generated/api/default/default.zod\"\nexport * from \"./generated/api/webhooks/webhooks.zod\"\n// Re-export all types from the generated code for advanced usage\nexport * from \"./generated/schema\"\n\n// Re-export BaaS functionality from our wrapper client\nexport { createBaasClient } from \"./node/client\"\nexport * from \"./node/types.d\"\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 * Meeting BaaS sends webhook events to your configured webhook URL when specific events occur.\n\n## Webhook Event Types\n\n### 1. `complete`\nSent when a bot successfully completes recording a meeting. Contains full transcription data and a link to the recording.\n```json\n{\n  \\\"event\\\": \\\"complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"transcript\\\": [\n      {\n        \\\"speaker\\\": \\\"John Doe\\\",\n        \\\"offset\\\": 1.5,\n        \\\"words\\\": [\n          {\n            \\\"start\\\": 1.5,\n            \\\"end\\\": 1.9,\n            \\\"word\\\": \\\"Hello\\\"\n          },\n          {\n            \\\"start\\\": 2.0,\n            \\\"end\\\": 2.4,\n            \\\"word\\\": \\\"everyone\\\"\n          }\n        ]\n      }\n    ],\n    \\\"speakers\\\": [\n      \\\"John Doe\\\",\n      \\\"Jane Smith\\\"\n    ],\n    \\\"mp4\\\": \\\"https://storage.example.com/recordings/video123.mp4?token=abc\\\",\n    \\\"event\\\": \\\"complete\\\"\n  }\n}\n```\n\nThe `complete` event includes:\n- **bot_id**: Unique identifier for the bot that completed recording\n- **speakers**: A set of speaker names identified in the meeting\n- **transcript**: Full transcript data with speaker identification and word timing\n- **mp4**: URL to the recording file (valid for 24 hours by default)\n- **event**: Event type identifier (\"complete\")\n\n### 2. `failed`\nSent when a bot fails to join or record a meeting. Contains error details.\n```json\n{\n  \\\"event\\\": \\\"failed\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"error\\\": \\\"meeting_not_found\\\",\n    \\\"message\\\": \\\"Could not join meeting: The meeting ID was not found or has expired\\\"\n  }\n}\n```\n\nThe `failed` event includes:\n- **bot_id**: Unique identifier for the bot that failed\n- **error**: Error code identifying the type of failure\n- **message**: Detailed human-readable error message\n\nCommon error types include:\n- `meeting_not_found`: The meeting ID or link was invalid or expired\n- `access_denied`: The bot was denied access to the meeting\n- `authentication_error`: Failed to authenticate with the meeting platform\n- `network_error`: Network connectivity issues during recording\n- `internal_error`: Internal server error\n\n### 3. `calendar.sync_events`\nSent when calendar events are synced. Contains information about which events were updated.\n```json\n{\n  \\\"event\\\": \\\"calendar.sync_events\\\",\n  \\\"data\\\": {\n    \\\"calendar_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"last_updated_ts\\\": \\\"2023-05-01T12:00:00Z\\\",\n    \\\"affected_event_uuids\\\": [\n      \\\"123e4567-e89b-12d3-a456-426614174001\\\",\n      \\\"123e4567-e89b-12d3-a456-426614174002\\\"\n    ]\n  }\n}\n```\n\nThe `calendar.sync_events` event includes:\n- **calendar_id**: UUID of the calendar that was synced\n- **last_updated_ts**: ISO-8601 timestamp of when the sync occurred\n- **affected_event_uuids**: Array of UUIDs for calendar events that were added, updated, or deleted\n\nThis event is triggered when:\n- Calendar data is synced with the external provider (Google, Microsoft)\n- Multiple events may be created, updated, or deleted in a single sync operation\n- Use this event to update your local cache of calendar events\n\n### 4. `transcription_complete`\nSent when transcription is completed separately from recording (e.g., after retranscribing).\n```json\n{\n  \\\"event\\\": \\\"transcription_complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\"\n  }\n}\n```\n\nThe `transcription_complete` event includes:\n- **bot_id**: Unique identifier for the bot with the completed transcription\n\nThis event is sent when:\n- You request a retranscription via the `/bots/retranscribe` endpoint\n- An asynchronous transcription process completes after the recording has ended\n\n## Setting Up Webhooks\n\nYou can configure webhooks in two ways:\n1. **Account-level webhook URL**: Set a default webhook URL for all bots in your account using the `/accounts/webhook_url` endpoint\n2. **Bot-specific webhook URL**: Provide a `webhook_url` parameter when creating a bot with the `/bots` endpoint\n\nYour webhook endpoint must:\n- Accept POST requests with JSON payload\n- Return a 2xx status code to acknowledge receipt\n- Process requests within 10 seconds to avoid timeouts\n- Handle each event type appropriately based on the event type\n\nAll webhook requests include:\n- `x-meeting-baas-api-key` header with your API key for verification\n- `content-type: application/json` header\n- JSON body containing the event details\n\n## Webhook Reliability\n\nIf your endpoint fails to respond or returns an error, the system will attempt to retry the webhook delivery. For critical events, we recommend implementing:\n\n- Idempotency handling to prevent duplicate processing of the same event\n- Proper logging of webhook receipts for audit purposes\n- Asynchronous processing to quickly acknowledge receipt before handling the event data\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Webhook Events Documentation\n */\nexport const webhookDocumentationResponse = zod.any()\n\n/**\n * Meeting BaaS sends the following webhook events related to bot recordings.\n\n## Bot Webhook Event Types\n\n### 1. `complete`\nSent when a bot successfully completes recording a meeting.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"transcript\\\": [\n      {\n        \\\"speaker\\\": \\\"John Doe\\\",\n        \\\"offset\\\": 1.5,\n        \\\"words\\\": [\n          {\n            \\\"start\\\": 1.5,\n            \\\"end\\\": 1.9,\n            \\\"word\\\": \\\"Hello\\\"\n          },\n          {\n            \\\"start\\\": 2.0,\n            \\\"end\\\": 2.4,\n            \\\"word\\\": \\\"everyone\\\"\n          }\n        ]\n      }\n    ],\n    \\\"speakers\\\": [\n      \\\"Jane Smith\\\",\n      \\\"John Doe\\\"\n    ],\n    \\\"mp4\\\": \\\"https://storage.example.com/recordings/video123.mp4?token=abc\\\",\n    \\\"event\\\": \\\"complete\\\"\n  }\n}\n```\n\n**When it's triggered:**\n- After a bot successfully records and processes a meeting\n- After the recording is uploaded and made available\n- When all processing of the meeting recording is complete\n\n**What to do with it:**\n- Download the MP4 recording for storage in your system\n- Store the transcript data in your database\n- Update meeting status in your application\n- Notify users that the recording is available\n\n### 2. `failed`\nSent when a bot fails to join or record a meeting.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"failed\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"error\\\": \\\"meeting_not_found\\\",\n    \\\"message\\\": \\\"Could not join meeting: The meeting ID was not found or has expired\\\"\n  }\n}\n```\n\n**Common error types:**\n- `meeting_not_found`: The meeting ID or link was invalid or expired\n- `access_denied`: The bot was denied access to the meeting\n- `authentication_error`: Failed to authenticate with the meeting platform\n- `network_error`: Network connectivity issues during recording\n- `internal_error`: Internal server error\n\n**What to do with it:**\n- Log the failure for troubleshooting\n- Notify administrators or users about the failed recording\n- Attempt to reschedule if appropriate\n- Update meeting status in your system\n\n### 3. `transcription_complete`\nSent when transcription is completed separately from recording.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"transcription_complete\\\",\n  \\\"data\\\": {\n    \\\"bot_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\"\n  }\n}\n```\n\n**When it's triggered:**\n- After requesting retranscription via the API\n- When an asynchronous transcription job completes\n- When a higher quality or different language transcription becomes available\n\n**What to do with it:**\n- Update the transcript data in your system\n- Notify users that improved transcription is available\n- Run any post-processing on the new transcript data\n\n## Webhook Usage Tips\n\n- Each event includes the `bot_id` so you can correlate with your internal data\n- The complete event includes speaker identification and full transcript data\n- For downloading recordings, the mp4 URL is valid for 24 hours\n- Handle the webhook asynchronously and return 200 OK quickly to prevent timeouts\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Bot Webhook Events Documentation\n */\nexport const botWebhookDocumentationResponse = zod.any()\n\n/**\n * Meeting BaaS sends the following webhook events related to calendar integrations.\n\n## Calendar Webhook Event Types\n\n### 1. `calendar.sync_events`\nSent when calendar events are synced with external providers.\n\n**Payload Structure:**\n```json\n{\n  \\\"event\\\": \\\"calendar.sync_events\\\",\n  \\\"data\\\": {\n    \\\"calendar_id\\\": \\\"123e4567-e89b-12d3-a456-426614174000\\\",\n    \\\"last_updated_ts\\\": \\\"2023-05-01T12:00:00Z\\\",\n    \\\"affected_event_uuids\\\": [\n      \\\"123e4567-e89b-12d3-a456-426614174001\\\",\n      \\\"123e4567-e89b-12d3-a456-426614174002\\\"\n    ]\n  }\n}\n```\n\n**When it's triggered:**\n- After initial calendar connection is established\n- When external calendar providers (Google, Microsoft) send change notifications\n- After manual calendar resync operations\n- During scheduled periodic syncs\n- When events are created, updated, or deleted in the source calendar\n\n**What to do with it:**\n- Update your local copy of calendar events\n- Process any new events that match your criteria\n- Remove any deleted events from your system\n- Update schedules for any modified events\n- Refresh your UI to show the latest calendar data\n\n**Field details:**\n- `calendar_id`: The UUID of the synchronized calendar\n- `last_updated_ts`: ISO-8601 timestamp when the sync occurred\n- `affected_event_uuids**: Array of UUIDs for events that were changed\n\n## Integration with Meeting BaaS Calendar API\n\nAfter receiving a calendar webhook event, you can:\n1. Use the `/calendar_events` endpoint to retrieve detailed information about specific events\n2. Use the `/calendars/:uuid` endpoint to get calendar metadata\n3. Schedule recording bots for any new meetings with the `/calendar_events/:uuid/bot` endpoint\n\n## Webhook Usage Tips\n\n- Each event includes affected event UUIDs for efficient processing\n- You don't need to retrieve all calendar events - just process the changed ones\n- The timestamp helps determine the sequence of updates\n- For high-frequency calendars, consider batch processing of multiple events\n\nFor security, always validate the API key in the `x-meeting-baas-api-key` header matches your API key.\n * @summary Calendar Webhook Events Documentation\n */\nexport const calendarWebhookDocumentationResponse = zod.any()\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 */\n\nexport type AudioFrequency = (typeof AudioFrequency)[keyof typeof AudioFrequency]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const AudioFrequency = {\n  \"16khz\": \"16khz\",\n  \"24khz\": \"24khz\"\n} as const\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 */\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const DeleteStatus = {\n  deleted: \"deleted\",\n  partiallyDeleted: \"partiallyDeleted\",\n  alreadyDeleted: \"alreadyDeleted\",\n  noDataFound: \"noDataFound\"\n} as const\nexport type DeleteStatus = (typeof DeleteStatus)[keyof typeof DeleteStatus]\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 */\n\n/**\n * Fields with value `\"simple\"` parse as `Kind::Simple`. Fields with value `\"fancy\"` parse as `Kind::SoFancy`.\n */\nexport type Provider = (typeof Provider)[keyof typeof Provider]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const Provider = {\n  Google: \"Google\",\n  Microsoft: \"Microsoft\"\n} as const\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 */\n\n/**\n * Recording mode for the bot\n */\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const RecordingMode = {\n  speaker_view: \"speaker_view\",\n  gallery_view: \"gallery_view\",\n  audio_only: \"audio_only\"\n} as const\nexport type RecordingMode = (typeof RecordingMode)[keyof typeof RecordingMode]\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 */\n\nexport type SpeechToTextProvider = (typeof SpeechToTextProvider)[keyof typeof SpeechToTextProvider]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const SpeechToTextProvider = {\n  Gladia: \"Gladia\",\n  Runpod: \"Runpod\",\n  Default: \"Default\"\n} as const\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 */\n\n/**\n * Example usage for frontend developers\n\n```ignore // How to use in your API handler: let status = calculate_bot_status(bot.errors, bot.ended_at, bot.duration, bot.created_at); let status_response = status_to_response(status);\n\n// How to sort by priority: bots.sort_by_key(|bot| bot.status.sort_priority);\n\n// How to filter by type: let errors = bots.filter(|bot| bot.status.r#type == \"error\");\n\n// How to filter by category: let connection_errors = bots.filter(|bot| bot.status.category == \"connection_error\"); ```\n */\nexport type UserReportedErrorStatus =\n  (typeof UserReportedErrorStatus)[keyof typeof UserReportedErrorStatus]\n\n// eslint-disable-next-line @typescript-eslint/no-redeclare\nexport const UserReportedErrorStatus = {\n  open: \"open\",\n  in_progress: \"in_progress\",\n  closed: \"closed\"\n} as const\n","import type { AxiosRequestConfig } from \"axios\"\nimport z from \"zod\"\nimport type {\n  BotParam2,\n  BotParam3,\n  BotsWithMetadataParams,\n  Calendar,\n  CreateCalendarParams,\n  CreateCalendarResponse,\n  DeleteResponse,\n  Event,\n  GetMeetingDataParams,\n  JoinRequest,\n  JoinResponse,\n  LeaveResponse,\n  ListEventResponse,\n  ListEventsParams,\n  ListRawCalendarsParams,\n  ListRawCalendarsResponse,\n  ListRecentBotsResponse,\n  Metadata,\n  PatchBotParams,\n  ResyncAllResponse,\n  RetranscribeBody,\n  ScheduleRecordEventParams,\n  ScreenshotsList,\n  UnscheduleRecordEventParams,\n  UpdateCalendarParams\n} from \"../generated/schema\"\nimport { type ApiResponse, apiWrapper, apiWrapperNoParams } from \"./api\"\nimport type { BaasClientConfig } from \"./types\"\n\n/**\n * Internal client state and utilities\n */\nclass ClientState {\n  private apiKey: string\n  private baseUrl: string\n  private timeout: number\n\n  constructor(config: BaasClientConfig) {\n    this.apiKey = config?.api_key ?? \"\" // The fallback is an empty string, which will be checked in the apiWrapper\n    this.baseUrl = config?.base_url ?? \"https://api.meetingbaas.com\"\n    this.timeout = config?.timeout ?? 30000\n  }\n\n  getApiKey(): string {\n    return this.apiKey\n  }\n\n  getBaseUrl(): string {\n    return this.baseUrl\n  }\n\n  getOptions(): AxiosRequestConfig {\n    return {\n      baseURL: this.baseUrl,\n      headers: {\n        \"x-meeting-baas-api-key\": this.apiKey,\n        \"Content-Type\": \"application/json\"\n      },\n      timeout: this.timeout\n    }\n  }\n}\n\n/**\n * Tree-shakeable client factory\n * Creates a client object with only the methods you import\n */\nexport function createBaasClient(config: BaasClientConfig) {\n  const state = new ClientState(config)\n\n  return {\n    /**\n     * Have a bot join a meeting, now or in the future\n     * @param params - The parameters for the join meeting request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/join)\n     * @returns The response from the join meeting request\n     */\n    async joinMeeting(params: JoinRequest): Promise<ApiResponse<JoinResponse>> {\n      const { join } = await import(\"../generated/api/default/default.js\")\n      const { joinBody } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(join, joinBody, params, state.getOptions())\n    },\n\n    /**\n     * Have a bot leave a meeting\n     * @param params - The parameters for the leave meeting request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/leave)\n     * @returns The response from the leave meeting request\n     */\n    async leaveMeeting(params: { uuid: string }): Promise<ApiResponse<LeaveResponse>> {\n      const { leave } = await import(\"../generated/api/default/default.js\")\n      const { leaveParams } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) => leave(params.uuid, options),\n        leaveParams,\n        params,\n        state.getOptions()\n      )\n    },\n\n    /**\n     * Get meeting recording and metadata\n     * @param params - The parameters for the get meeting data request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/get_meeting_data)\n     * @returns The response from the get meeting data request\n     */\n    async getMeetingData(params: GetMeetingDataParams): Promise<ApiResponse<Metadata>> {\n      const { getMeetingData: getMeetingDataApi } = await import(\n        \"../generated/api/default/default.js\"\n      )\n      const { getMeetingDataQueryParams } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(getMeetingDataApi, getMeetingDataQueryParams, params, state.getOptions())\n    },\n\n    /**\n     * Delete bot data\n     * @param params - The parameters for the delete bot data request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/delete_data)\n     * @returns The response from the delete bot data request\n     */\n    async deleteBotData(params: { uuid: string }): Promise<ApiResponse<DeleteResponse>> {\n      const { deleteData } = await import(\"../generated/api/default/default.js\")\n      const { deleteDataParams } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) => deleteData(params.uuid, options),\n        deleteDataParams,\n        params,\n        state.getOptions()\n      )\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     * @param params - The parameters for the list bots with metadata request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/bots_with_metadata)\n     * @returns The response from the list bots with metadata request\n     */\n    async listBots(params?: BotsWithMetadataParams): Promise<ApiResponse<ListRecentBotsResponse>> {\n      const { botsWithMetadata } = await import(\"../generated/api/default/default.js\")\n      const { botsWithMetadataQueryParams } = await import(\n        \"../generated/api/default/default.zod.js\"\n      )\n\n      return apiWrapper(\n        botsWithMetadata,\n        botsWithMetadataQueryParams,\n        params ?? {},\n        state.getOptions()\n      )\n    },\n\n    /**\n     * Transcribe or retranscribe a bot's audio using the Default or your provided Speech to Text Provider\n     * @param params - The parameters for the retranscribe bot request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/retranscribe_bot)\n     * @returns The response from the retranscribe bot request\n     */\n    async retranscribeBot(params: RetranscribeBody): Promise<ApiResponse<void>> {\n      const { retranscribeBot: retranscribeBotApi } = await import(\n        \"../generated/api/default/default.js\"\n      )\n      const { retranscribeBotBody } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(retranscribeBotApi, retranscribeBotBody, params, state.getOptions())\n    },\n\n    /**\n     * Retrieves screenshots captured during the bot's session before it joins a meeting\n     * @param params - The parameters for the get screenshots request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/get_screenshots)\n     * @returns The response from the get screenshots request\n     */\n    async getScreenshots(params: { uuid: string }): Promise<ApiResponse<ScreenshotsList>> {\n      const { getScreenshots: getScreenshotsApi } = await import(\n        \"../generated/api/default/default.js\"\n      )\n      const { getScreenshotsParams } = await import(\"../generated/api/default/default.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) =>\n          getScreenshotsApi(params.uuid, options),\n        getScreenshotsParams,\n        params,\n        state.getOptions()\n      )\n    },\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     * @param params - The parameters for the create calendar request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/create_calendar)\n     * @returns The response from the create calendar request\n     */\n    async createCalendar(\n      params: CreateCalendarParams\n    ): Promise<ApiResponse<CreateCalendarResponse>> {\n      const { createCalendar: createCalendarApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n      const { createCalendarBody } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(createCalendarApi, createCalendarBody, params, state.getOptions())\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     * @returns The response from the list calendars request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/list_calendars)\n     */\n    async listCalendars(): Promise<ApiResponse<Calendar[]>> {\n      const { listCalendars: listCalendarsApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n\n      return apiWrapperNoParams(listCalendarsApi, state.getOptions())\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     * @param params - The parameters for the get calendar request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/get_calendar)\n     * @returns The response from the get calendar request\n     */\n    async getCalendar(params: { uuid: string }): Promise<ApiResponse<Calendar>> {\n      const { getCalendar: getCalendarApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n      const { getCalendarParams } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) =>\n          getCalendarApi(params.uuid, options),\n        getCalendarParams,\n        params,\n        state.getOptions()\n      )\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     * @param params - The parameters for the update calendar request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/update_calendar)\n     * @returns The response from the update calendar request\n     */\n    async updateCalendar(params: {\n      uuid: string\n      body: UpdateCalendarParams\n    }): Promise<ApiResponse<CreateCalendarResponse>> {\n      const { updateCalendar: updateCalendarApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n      const { updateCalendarParams, updateCalendarBody } = await import(\n        \"../generated/api/calendars/calendars.zod.js\"\n      )\n\n      return apiWrapper(\n        (params: { uuid: string; body: UpdateCalendarParams }, options) =>\n          updateCalendarApi(params.uuid, params.body, options),\n        z.object({\n          uuid: updateCalendarParams.shape.uuid,\n          body: updateCalendarBody\n        }),\n        params,\n        state.getOptions()\n      )\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     * @param params - The parameters for the delete calendar request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/delete_calendar)\n     * @returns The response from the delete calendar request\n     */\n    async deleteCalendar(params: { uuid: string }): Promise<ApiResponse<void>> {\n      const { deleteCalendar: deleteCalendarApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n      const { deleteCalendarParams } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) =>\n          deleteCalendarApi(params.uuid, options),\n        deleteCalendarParams,\n        params,\n        state.getOptions()\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     * @param params - The parameters for the get calendar event request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/get_event)\n     * @returns The response from the get calendar event request\n     */\n    async getCalendarEvent(params: { uuid: string }): Promise<ApiResponse<Event>> {\n      const { getEvent } = await import(\"../generated/api/calendars/calendars.js\")\n      const { getEventParams } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string }, options: AxiosRequestConfig) => getEvent(params.uuid, options),\n        getEventParams,\n        params,\n        state.getOptions()\n      )\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     * @param params - The parameters for the schedule calendar record event request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/schedule_record_event)\n     * @returns The response from the schedule calendar record event request\n     */\n    async scheduleCalendarRecordEvent(params: {\n      uuid: string\n      body: BotParam2\n      query?: ScheduleRecordEventParams\n    }): Promise<ApiResponse<Event[]>> {\n      const { scheduleRecordEvent } = await import(\"../generated/api/calendars/calendars.js\")\n      const { scheduleRecordEventBody, scheduleRecordEventQueryParams, scheduleRecordEventParams } =\n        await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(\n        (params: { uuid: string; body: BotParam2; query?: ScheduleRecordEventParams }, options) =>\n          scheduleRecordEvent(params.uuid, params.body, params.query, options),\n        z.object({\n          uuid: scheduleRecordEventParams.shape.uuid,\n          query: scheduleRecordEventQueryParams.optional(),\n          body: scheduleRecordEventBody\n        }),\n        params,\n        state.getOptions()\n      )\n    },\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     * @param params - The parameters for the unschedule calendar record event request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/unschedule_record_event)\n     * @returns The response from the unschedule calendar record event request\n     */\n    async unscheduleCalendarRecordEvent(params: {\n      uuid: string\n      query?: UnscheduleRecordEventParams\n    }): Promise<ApiResponse<Event[]>> {\n      const { unscheduleRecordEvent } = await import(\"../generated/api/calendars/calendars.js\")\n      const { unscheduleRecordEventQueryParams, unscheduleRecordEventParams } = await import(\n        \"../generated/api/calendars/calendars.zod.js\"\n      )\n\n      return apiWrapper(\n        (params: { uuid: string; query?: UnscheduleRecordEventParams }, options) =>\n          unscheduleRecordEvent(params.uuid, params.query, options),\n        z.object({\n          uuid: unscheduleRecordEventParams.shape.uuid,\n          query: unscheduleRecordEventQueryParams.optional()\n        }),\n        params,\n        state.getOptions()\n      )\n    },\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     * @param params - The parameters for the patch bot request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/patch_bot)\n     * @returns The response from the patch bot request\n     */\n    async patchBot(params: {\n      uuid: string\n      body: BotParam3\n      query?: PatchBotParams\n    }): Promise<ApiResponse<Event[]>> {\n      const { patchBot: patchBotApi } = await import(\"../generated/api/calendars/calendars.js\")\n      const { patchBotBody, patchBotQueryParams, patchBotParams } = await import(\n        \"../generated/api/calendars/calendars.zod.js\"\n      )\n\n      return apiWrapper(\n        (params: { uuid: string; body: BotParam3; query?: PatchBotParams }, options) =>\n          patchBotApi(params.uuid, params.body, params.query, options),\n        z.object({\n          uuid: patchBotParams.shape.uuid,\n          query: patchBotQueryParams.optional(),\n          body: patchBotBody\n        }),\n        params,\n        state.getOptions()\n      )\n    },\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     * @param params - The parameters for the list calendar events request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/list_events)\n     * @returns The response from the list calendar events request\n     */\n    async listCalendarEvents(query: ListEventsParams): Promise<ApiResponse<ListEventResponse>> {\n      const { listEvents } = await import(\"../generated/api/calendars/calendars.js\")\n      const { listEventsQueryParams } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(listEvents, listEventsQueryParams, query, state.getOptions())\n    },\n\n    /**\n     * Retrieves the full documentation for the webhook events that Meeting BaaS sends to your webhook URL. This includes all event types, their payload structures, and any additional metadata. Useful for developers to understand and integrate webhook functionality into their applications.\n     * @returns The response from the get webhook documentation request\n     */\n    async getWebhookDocumentation(): Promise<ApiResponse<unknown>> {\n      const { webhookDocumentation } = await import(\"../generated/api/webhooks/webhooks.js\")\n\n      return apiWrapperNoParams(webhookDocumentation, state.getOptions())\n    },\n\n    /**\n     * Retrieves the full documentation for the webhook events that Meeting BaaS sends to your webhook URL for a specific bot. This includes all event types, their payload structures, and any additional metadata. Useful for developers to understand and integrate webhook functionality into their applications.\n     * @returns The response from the get bot webhook documentation request\n     */\n    async getBotWebhookDocumentation(): Promise<ApiResponse<unknown>> {\n      const { botWebhookDocumentation } = await import(\"../generated/api/webhooks/webhooks.js\")\n\n      return apiWrapperNoParams(botWebhookDocumentation, state.getOptions())\n    },\n\n    /**\n     * Retrieves the full documentation for the webhook events that Meeting BaaS sends to your webhook URL for a specific calendar. This includes all event types, their payload structures, and any additional metadata. Useful for developers to understand and integrate webhook functionality into their applications.\n     * @returns The response from the get calendar webhook documentation request\n     */\n    async getCalendarWebhookDocumentation(): Promise<ApiResponse<unknown>> {\n      const { calendarWebhookDocumentation } = await import(\"../generated/api/webhooks/webhooks.js\")\n\n      return apiWrapperNoParams(calendarWebhookDocumentation, state.getOptions())\n    },\n\n    /**\n     * Triggers a full resync of all calendar events for all integrated calendars. This operation is useful when you need to ensure that all calendar data is up-to-date in the system. It will re-fetch all events from the calendar providers and update the system's internal state. Returns a response indicating the status of the resync operation.\n     * @returns The response from the resync all calendars request\n     */\n    async resyncAllCalendars(): Promise<ApiResponse<ResyncAllResponse>> {\n      const { resyncAll } = await import(\"../generated/api/calendars/calendars.js\")\n\n      return apiWrapperNoParams(resyncAll, state.getOptions())\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     * @param params - The parameters for the list raw calendars request. Learn more about the request body [here](https://docs.meetingbaas.com/api/reference/calendars/list_raw_calendars)\n     * @returns The response from the list raw calendars request\n     */\n    async listRawCalendars(\n      params: ListRawCalendarsParams\n    ): Promise<ApiResponse<ListRawCalendarsResponse>> {\n      const { listRawCalendars: listRawCalendarsApi } = await import(\n        \"../generated/api/calendars/calendars.js\"\n      )\n      const { listRawCalendarsBody } = await import(\"../generated/api/calendars/calendars.zod.js\")\n\n      return apiWrapper(listRawCalendarsApi, listRawCalendarsBody, params, state.getOptions())\n    },\n\n    getApiKey(): string {\n      return state.getApiKey()\n    },\n\n    getBaseUrl(): string {\n      return state.getBaseUrl()\n    }\n  }\n}\n","import type { AxiosRequestConfig } from \"axios\"\nimport type { ZodError, ZodSchema } from \"zod\"\n\n/**\n * Discriminated union type for API responses\n * Ensures type safety: when error is present, data is undefined, and vice versa\n */\nexport type ApiResponse<T> =\n  | { success: true; data: T; error?: never }\n  | { success: false; error: ZodError | Error; data?: never }\n\n/**\n * Generic wrapper function for API calls with validation and error handling\n * This is the main wrapper you can use for all your API functions\n */\nexport async function apiWrapper<TData, TParams = void>(\n  operation: (params: TParams, options: AxiosRequestConfig) => Promise<{ data: TData }>,\n  schema: ZodSchema<TParams> | null,\n  params: TParams,\n  options: AxiosRequestConfig\n): Promise<ApiResponse<TData>> {\n  try {\n    if (!options.headers || !options.headers[\"x-meeting-baas-api-key\"]) {\n      return {\n        success: false,\n        error: new Error(\"Please configure the api key when creating the client\")\n      }\n    }\n\n    // Validate parameters if schema is provided\n    let validatedParams = params\n    if (schema) {\n      const validationResult = schema.safeParse(params)\n      if (!validationResult.success) {\n        return {\n          success: false,\n          error: validationResult.error\n        }\n      }\n      validatedParams = validationResult.data\n    }\n\n    // Make the API call\n    const response = await operation(validatedParams, options)\n\n    return {\n      success: true,\n      data: response.data\n    }\n  } catch (error) {\n    return {\n      success: false,\n      error: error instanceof Error ? error : new Error(String(error))\n    }\n  }\n}\n\n/**\n * Generic wrapper for functions that take no parameters\n */\nexport async function apiWrapperNoParams<TData>(\n  operation: (options: AxiosRequestConfig) => Promise<{ data: TData }>,\n  options: AxiosRequestConfig\n): Promise<ApiResponse<TData>> {\n  try {\n    if (!options.headers || !options.headers[\"x-meeting-baas-api-key\"]) {\n      return {\n        success: false,\n        error: new Error(\"Please configure the api key when creating the client\")\n      }\n    }\n    // Make the API call\n    const response = await operation(options)\n\n    return {\n      success: true,\n      data: response.data\n    }\n  } catch (error) {\n    return {\n      success: false,\n      error: error instanceof Error ? error : new Error(String(error))\n    }\n  }\n}\n"],"mappings":"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","names":["zod","axios","updateCalendarParams","axios","zod","join","joinBody","leave","leaveParams","params","getMeetingDataQueryParams","deleteData","deleteDataParams","botsWithMetadata","botsWithMetadataQueryParams","retranscribeBotBody","getScreenshotsParams","createCalendarBody","getCalendarParams","updateCalendarParams","updateCalendarBody","deleteCalendarParams","getEvent","getEventParams","scheduleRecordEvent","scheduleRecordEventBody","scheduleRecordEventQueryParams","scheduleRecordEventParams","unscheduleRecordEvent","unscheduleRecordEventQueryParams","unscheduleRecordEventParams","patchBotBody","patchBotQueryParams","patchBotParams","listEvents","listEventsQueryParams","webhookDocumentation","botWebhookDocumentation","calendarWebhookDocumentation","resyncAll","listRawCalendarsBody"]}