{
  "version": 3,
  "sources": ["../src/index.ts", "../src/gen/client/index.ts", "../src/gen/client/errors.ts", "../src/gen/client/to-axios.ts", "../src/gen/client/operations/getConversation.ts", "../src/gen/client/operations/createConversation.ts", "../src/gen/client/operations/deleteConversation.ts", "../src/gen/client/operations/listConversations.ts", "../src/gen/client/operations/listenConversation.ts", "../src/gen/client/operations/listConversationMessages.ts", "../src/gen/client/operations/addParticipant.ts", "../src/gen/client/operations/removeParticipant.ts", "../src/gen/client/operations/getParticipant.ts", "../src/gen/client/operations/listParticipants.ts", "../src/gen/client/operations/getMessage.ts", "../src/gen/client/operations/createMessage.ts", "../src/gen/client/operations/updateMessage.ts", "../src/gen/client/operations/selectMessage.ts", "../src/gen/client/operations/deleteMessage.ts", "../src/gen/client/operations/addMessageFeedback.ts", "../src/gen/client/operations/removeMessageFeedback.ts", "../src/gen/client/operations/getUser.ts", "../src/gen/client/operations/createUser.ts", "../src/gen/client/operations/generateUserKey.ts", "../src/gen/client/operations/updateUser.ts", "../src/gen/client/operations/deleteUser.ts", "../src/gen/client/operations/getEvent.ts", "../src/gen/client/operations/createEvent.ts", "../src/gen/client/operations/createFile.ts", "../src/gen/client/operations/initializeConversation.ts", "../src/gen/client/operations/sendPerfMetrics.ts", "../src/event-emitter.ts", "../src/eventsource.ts", "../src/gen/signals/messageCreated.z.ts", "../src/gen/signals/messageUpdated.z.ts", "../src/gen/signals/webchatVisibility.z.ts", "../src/gen/signals/webchatConfig.z.ts", "../src/gen/signals/custom.z.ts", "../src/gen/signals/typingStarted.z.ts", "../src/gen/signals/typingStopped.z.ts", "../src/gen/signals/participantAdded.z.ts", "../src/gen/signals/participantRemoved.z.ts", "../src/gen/signals/messageStatusChanged.z.ts", "../src/gen/signals/initialized.z.ts", "../src/gen/signals/index.ts", "../src/signal-listener.ts"],
  "sourcesContent": ["import axios from 'axios'\nimport { Client as AutoGeneratedClient } from './gen/client'\nimport { SignalListener } from './signal-listener'\n\nexport { Message, Conversation, User } from './gen/client'\nexport { SignalListener, Events as Signals } from './signal-listener'\nexport * from './gen/client/errors'\n\nconst _100mb = 100 * 1024 * 1024\nconst maxBodyLength = _100mb\nconst maxContentLength = _100mb\nconst defaultHttpTimeout = 60_000\n\nexport type Headers = Record<string, string>\nexport type ClientProps = {\n  apiUrl: string\n  timeout?: number\n  sseTimeout?: number\n  headers?: Headers\n}\n\ntype IOf<T extends object> = {\n  [K in keyof T]: T[K]\n}\ntype IAutoClient = IOf<AutoGeneratedClient>\ntype IClient = Omit<IAutoClient, 'listenConversation' | 'initializeConversation'>\n\ntype ListenConversationOperation = IAutoClient['listenConversation']\ntype ListenConversationArgs = Parameters<ListenConversationOperation>[0]\n\ntype InitializeConversationOperation = IAutoClient['initializeConversation']\ntype InitializeConversationArgs = Parameters<InitializeConversationOperation>[0]\n\nexport class Client implements IClient {\n  private _auto: AutoGeneratedClient\n\n  public constructor(public readonly props: Readonly<ClientProps>) {\n    const { apiUrl: baseURL } = props\n\n    const headers: Headers = {\n      ...props.headers,\n    }\n    const timeout = this.props.timeout ?? defaultHttpTimeout\n    const axiosClient = axios.create({\n      baseURL,\n      headers,\n      withCredentials: true,\n      timeout,\n      maxBodyLength,\n      maxContentLength,\n    })\n    this._auto = new AutoGeneratedClient(axiosClient)\n  }\n\n  public readonly createConversation: IAutoClient['createConversation'] = (x) => this._auto.createConversation(x)\n  public readonly getConversation: IAutoClient['getConversation'] = (x) => this._auto.getConversation(x)\n  public readonly deleteConversation: IAutoClient['deleteConversation'] = (x) => this._auto.deleteConversation(x)\n  public readonly listConversations: IAutoClient['listConversations'] = (x) => this._auto.listConversations(x)\n  public readonly listConversationMessages: IAutoClient['listConversationMessages'] = (x) =>\n    this._auto.listConversationMessages(x)\n  public readonly addParticipant: IAutoClient['addParticipant'] = (x) => this._auto.addParticipant(x)\n  public readonly removeParticipant: IAutoClient['removeParticipant'] = (x) => this._auto.removeParticipant(x)\n  public readonly getParticipant: IAutoClient['getParticipant'] = (x) => this._auto.getParticipant(x)\n  public readonly listParticipants: IAutoClient['listParticipants'] = (x) => this._auto.listParticipants(x)\n  public readonly createMessage: IAutoClient['createMessage'] = (x) => this._auto.createMessage(x)\n  public readonly updateMessage: IAutoClient['updateMessage'] = (x) => this._auto.updateMessage(x)\n  public readonly selectMessage: IAutoClient['selectMessage'] = (x) => this._auto.selectMessage(x)\n  public readonly getMessage: IAutoClient['getMessage'] = (x) => this._auto.getMessage(x)\n  public readonly deleteMessage: IAutoClient['deleteMessage'] = (x) => this._auto.deleteMessage(x)\n  public readonly createFile: IAutoClient['createFile'] = (x) => this._auto.createFile(x)\n  public readonly createUser: IAutoClient['createUser'] = (x) => this._auto.createUser(x)\n  public readonly generateUserKey: IAutoClient['generateUserKey'] = (x) => this._auto.generateUserKey(x)\n  public readonly getUser: IAutoClient['getUser'] = (x) => this._auto.getUser(x)\n  public readonly updateUser: IAutoClient['updateUser'] = (x) => this._auto.updateUser(x)\n  public readonly deleteUser: IAutoClient['deleteUser'] = (x) => this._auto.deleteUser(x)\n  public readonly createEvent: IAutoClient['createEvent'] = (x) => this._auto.createEvent(x)\n  public readonly getEvent: IAutoClient['getEvent'] = (x) => this._auto.getEvent(x)\n  public readonly addMessageFeedback: IAutoClient['addMessageFeedback'] = (x) => this._auto.addMessageFeedback(x)\n  public readonly initializeConversation = async ({\n    'x-user-key': userKey,\n    conversationId,\n  }: InitializeConversationArgs): Promise<SignalListener> => {\n    const signalListener = await SignalListener.initialize({\n      url: this.props.apiUrl,\n      conversationId,\n      userKey,\n      timeout: this.props.sseTimeout,\n    })\n\n    return signalListener\n  }\n  public readonly sendPerfMetrics: IAutoClient['sendPerfMetrics'] = (x) => this._auto.sendPerfMetrics(x)\n\n  public readonly removeMessageFeedback: IAutoClient['removeMessageFeedback'] = (x) =>\n    this._auto.removeMessageFeedback(x)\n\n  public readonly listenConversation = async ({\n    id,\n    'x-user-key': userKey,\n  }: ListenConversationArgs): Promise<SignalListener> => {\n    const signalListener = await SignalListener.listen({\n      url: this.props.apiUrl,\n      conversationId: id,\n      userKey,\n      timeout: this.props.sseTimeout,\n    })\n    return signalListener\n  }\n}\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nimport axios, { AxiosInstance } from 'axios'\nimport { errorFrom } from './errors'\nimport { toAxiosRequest } from './to-axios'\nimport * as getConversation from './operations/getConversation'\nimport * as createConversation from './operations/createConversation'\nimport * as deleteConversation from './operations/deleteConversation'\nimport * as listConversations from './operations/listConversations'\nimport * as listenConversation from './operations/listenConversation'\nimport * as listConversationMessages from './operations/listConversationMessages'\nimport * as addParticipant from './operations/addParticipant'\nimport * as removeParticipant from './operations/removeParticipant'\nimport * as getParticipant from './operations/getParticipant'\nimport * as listParticipants from './operations/listParticipants'\nimport * as getMessage from './operations/getMessage'\nimport * as createMessage from './operations/createMessage'\nimport * as updateMessage from './operations/updateMessage'\nimport * as selectMessage from './operations/selectMessage'\nimport * as deleteMessage from './operations/deleteMessage'\nimport * as addMessageFeedback from './operations/addMessageFeedback'\nimport * as removeMessageFeedback from './operations/removeMessageFeedback'\nimport * as getUser from './operations/getUser'\nimport * as createUser from './operations/createUser'\nimport * as generateUserKey from './operations/generateUserKey'\nimport * as updateUser from './operations/updateUser'\nimport * as deleteUser from './operations/deleteUser'\nimport * as getEvent from './operations/getEvent'\nimport * as createEvent from './operations/createEvent'\nimport * as createFile from './operations/createFile'\nimport * as initializeConversation from './operations/initializeConversation'\nimport * as sendPerfMetrics from './operations/sendPerfMetrics'\n\nexport * from './models'\n\nexport * as getConversation from './operations/getConversation'\nexport * as createConversation from './operations/createConversation'\nexport * as deleteConversation from './operations/deleteConversation'\nexport * as listConversations from './operations/listConversations'\nexport * as listenConversation from './operations/listenConversation'\nexport * as listConversationMessages from './operations/listConversationMessages'\nexport * as addParticipant from './operations/addParticipant'\nexport * as removeParticipant from './operations/removeParticipant'\nexport * as getParticipant from './operations/getParticipant'\nexport * as listParticipants from './operations/listParticipants'\nexport * as getMessage from './operations/getMessage'\nexport * as createMessage from './operations/createMessage'\nexport * as updateMessage from './operations/updateMessage'\nexport * as selectMessage from './operations/selectMessage'\nexport * as deleteMessage from './operations/deleteMessage'\nexport * as addMessageFeedback from './operations/addMessageFeedback'\nexport * as removeMessageFeedback from './operations/removeMessageFeedback'\nexport * as getUser from './operations/getUser'\nexport * as createUser from './operations/createUser'\nexport * as generateUserKey from './operations/generateUserKey'\nexport * as updateUser from './operations/updateUser'\nexport * as deleteUser from './operations/deleteUser'\nexport * as getEvent from './operations/getEvent'\nexport * as createEvent from './operations/createEvent'\nexport * as createFile from './operations/createFile'\nexport * as initializeConversation from './operations/initializeConversation'\nexport * as sendPerfMetrics from './operations/sendPerfMetrics'\n\nexport const apiVersion = '0.0.0'\n\nexport type ClientProps = {\n  toAxiosRequest: typeof toAxiosRequest\n  toApiError: typeof toApiError\n}\n\nexport class Client {\n\n  public constructor(private axiosInstance: AxiosInstance, private props: Partial<ClientProps> = {}) {}\n\n  public readonly getConversation = async (input: getConversation.GetConversationInput): Promise<getConversation.GetConversationResponse> => {\n    const { path, headers, query, body } = getConversation.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<getConversation.GetConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createConversation = async (input: createConversation.CreateConversationInput): Promise<createConversation.CreateConversationResponse> => {\n    const { path, headers, query, body } = createConversation.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<createConversation.CreateConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteConversation = async (input: deleteConversation.DeleteConversationInput): Promise<deleteConversation.DeleteConversationResponse> => {\n    const { path, headers, query, body } = deleteConversation.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"delete\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<deleteConversation.DeleteConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listConversations = async (input: listConversations.ListConversationsInput): Promise<listConversations.ListConversationsResponse> => {\n    const { path, headers, query, body } = listConversations.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<listConversations.ListConversationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listenConversation = async (input: listenConversation.ListenConversationInput): Promise<listenConversation.ListenConversationResponse> => {\n    const { path, headers, query, body } = listenConversation.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<listenConversation.ListenConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listConversationMessages = async (input: listConversationMessages.ListConversationMessagesInput): Promise<listConversationMessages.ListConversationMessagesResponse> => {\n    const { path, headers, query, body } = listConversationMessages.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<listConversationMessages.ListConversationMessagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly addParticipant = async (input: addParticipant.AddParticipantInput): Promise<addParticipant.AddParticipantResponse> => {\n    const { path, headers, query, body } = addParticipant.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<addParticipant.AddParticipantResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly removeParticipant = async (input: removeParticipant.RemoveParticipantInput): Promise<removeParticipant.RemoveParticipantResponse> => {\n    const { path, headers, query, body } = removeParticipant.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"delete\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<removeParticipant.RemoveParticipantResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getParticipant = async (input: getParticipant.GetParticipantInput): Promise<getParticipant.GetParticipantResponse> => {\n    const { path, headers, query, body } = getParticipant.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<getParticipant.GetParticipantResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listParticipants = async (input: listParticipants.ListParticipantsInput): Promise<listParticipants.ListParticipantsResponse> => {\n    const { path, headers, query, body } = listParticipants.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<listParticipants.ListParticipantsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getMessage = async (input: getMessage.GetMessageInput): Promise<getMessage.GetMessageResponse> => {\n    const { path, headers, query, body } = getMessage.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<getMessage.GetMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createMessage = async (input: createMessage.CreateMessageInput): Promise<createMessage.CreateMessageResponse> => {\n    const { path, headers, query, body } = createMessage.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<createMessage.CreateMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateMessage = async (input: updateMessage.UpdateMessageInput): Promise<updateMessage.UpdateMessageResponse> => {\n    const { path, headers, query, body } = updateMessage.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"put\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<updateMessage.UpdateMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly selectMessage = async (input: selectMessage.SelectMessageInput): Promise<selectMessage.SelectMessageResponse> => {\n    const { path, headers, query, body } = selectMessage.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"put\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<selectMessage.SelectMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteMessage = async (input: deleteMessage.DeleteMessageInput): Promise<deleteMessage.DeleteMessageResponse> => {\n    const { path, headers, query, body } = deleteMessage.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"delete\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<deleteMessage.DeleteMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly addMessageFeedback = async (input: addMessageFeedback.AddMessageFeedbackInput): Promise<addMessageFeedback.AddMessageFeedbackResponse> => {\n    const { path, headers, query, body } = addMessageFeedback.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"put\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<addMessageFeedback.AddMessageFeedbackResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly removeMessageFeedback = async (input: removeMessageFeedback.RemoveMessageFeedbackInput): Promise<removeMessageFeedback.RemoveMessageFeedbackResponse> => {\n    const { path, headers, query, body } = removeMessageFeedback.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"delete\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<removeMessageFeedback.RemoveMessageFeedbackResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getUser = async (input: getUser.GetUserInput): Promise<getUser.GetUserResponse> => {\n    const { path, headers, query, body } = getUser.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<getUser.GetUserResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createUser = async (input: createUser.CreateUserInput): Promise<createUser.CreateUserResponse> => {\n    const { path, headers, query, body } = createUser.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<createUser.CreateUserResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly generateUserKey = async (input: generateUserKey.GenerateUserKeyInput): Promise<generateUserKey.GenerateUserKeyResponse> => {\n    const { path, headers, query, body } = generateUserKey.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<generateUserKey.GenerateUserKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateUser = async (input: updateUser.UpdateUserInput): Promise<updateUser.UpdateUserResponse> => {\n    const { path, headers, query, body } = updateUser.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"put\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<updateUser.UpdateUserResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteUser = async (input: deleteUser.DeleteUserInput): Promise<deleteUser.DeleteUserResponse> => {\n    const { path, headers, query, body } = deleteUser.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"delete\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<deleteUser.DeleteUserResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getEvent = async (input: getEvent.GetEventInput): Promise<getEvent.GetEventResponse> => {\n    const { path, headers, query, body } = getEvent.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<getEvent.GetEventResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createEvent = async (input: createEvent.CreateEventInput): Promise<createEvent.CreateEventResponse> => {\n    const { path, headers, query, body } = createEvent.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<createEvent.CreateEventResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createFile = async (input: createFile.CreateFileInput): Promise<createFile.CreateFileResponse> => {\n    const { path, headers, query, body } = createFile.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<createFile.CreateFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly initializeConversation = async (input: initializeConversation.InitializeConversationInput): Promise<initializeConversation.InitializeConversationResponse> => {\n    const { path, headers, query, body } = initializeConversation.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"get\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<initializeConversation.InitializeConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly sendPerfMetrics = async (input: sendPerfMetrics.SendPerfMetricsInput): Promise<sendPerfMetrics.SendPerfMetricsResponse> => {\n    const { path, headers, query, body } = sendPerfMetrics.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"post\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<sendPerfMetrics.SendPerfMetricsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n}\n\n// maps axios error to api error type\nfunction toApiError(err: unknown): Error {\n  if (axios.isAxiosError(err) && err.response?.data) {\n    return errorFrom(err.response.data)\n  }\n  return errorFrom(err)\n}\n\n", "\nimport crypto from 'crypto'\n\nconst codes = {\n  HTTP_STATUS_BAD_REQUEST: 400,\n  HTTP_STATUS_UNAUTHORIZED: 401,\n  HTTP_STATUS_PAYMENT_REQUIRED: 402,\n  HTTP_STATUS_FORBIDDEN: 403,\n  HTTP_STATUS_NOT_FOUND: 404,\n  HTTP_STATUS_METHOD_NOT_ALLOWED: 405,\n  HTTP_STATUS_REQUEST_TIMEOUT: 408,\n  HTTP_STATUS_CONFLICT: 409,\n  HTTP_STATUS_GONE: 410,\n  HTTP_STATUS_PAYLOAD_TOO_LARGE: 413,\n  HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n  HTTP_STATUS_DEPENDENCY_FAILED: 424,\n  HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n  HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n  HTTP_STATUS_NOT_IMPLEMENTED: 501,\n  HTTP_STATUS_BAD_GATEWAY: 502,\n  HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n  HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n} as const\n\ntype ErrorCode = typeof codes[keyof typeof codes]\n\ndeclare const window: any\ntype CryptoLib = { getRandomValues(array: Uint8Array): Uint8Array }\n\nconst cryptoLibPolyfill: CryptoLib = {\n  // Fallback in case crypto isn't available.\n  getRandomValues: (array: Uint8Array) => new Uint8Array(array.map(() => Math.floor(Math.random() * 256))),\n}\n\nlet cryptoLib: CryptoLib =\n  typeof window !== 'undefined' && typeof window.document !== 'undefined'\n    ? window.crypto // Note: On browsers we need to use window.crypto instead of the imported crypto module as the latter is externalized and doesn't have getRandomValues().\n    : crypto\n\nif (!cryptoLib.getRandomValues) {\n  // Use a polyfill in older environments that have a crypto implementaton missing getRandomValues()\n  cryptoLib = cryptoLibPolyfill\n}\n\nabstract class BaseApiError<Code extends ErrorCode, Type extends string, Description extends string> extends Error {\n  public readonly isApiError = true\n\n  constructor(\n    public readonly code: Code,\n    public readonly description: Description,\n    public readonly type: Type,\n    public override readonly message: string,\n    public readonly error?: Error,\n    public readonly id?: string,\n    public readonly metadata?: Record<string, unknown>,\n  ) {\n    super(message)\n\n    if (!this.id) {\n      this.id = BaseApiError.generateId()\n    }\n  }\n\n  format() {\n    return `[${this.type}] ${this.message} (Error ID: ${this.id})`\n  }\n\n  toJSON() {\n    return {\n      id: this.id,\n      code: this.code,\n      type: this.type,\n      message: this.message,\n      metadata: this.metadata,\n    }\n  }\n\n  static generateId() {\n    const prefix = this.getPrefix();\n    const timestamp = new Date().toISOString().replace(/[\\-:TZ]/g, \"\").split(\".\")[0] // UTC time in YYMMDDHHMMSS format\n\n    const randomSuffixByteLength = 4\n    const randomHexSuffix = Array.from(cryptoLib.getRandomValues(new Uint8Array(randomSuffixByteLength)))\n      .map(x => x.toString(16).padStart(2, '0'))\n      .join('')\n      .toUpperCase()\n\n    return `${prefix}_${timestamp}x${randomHexSuffix}`\n  }\n\n  private static getPrefix() {\n    if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n      // Browser environment\n      return 'err_bwsr'\n    }\n    return 'err'\n  }\n}\n\nconst isObject = (obj: unknown): obj is object => typeof obj === 'object' && !Array.isArray(obj) && obj !== null\n\nexport const isApiError = (thrown: unknown): thrown is ApiError => {\n  return thrown instanceof BaseApiError || isObject(thrown) && (thrown as ApiError).isApiError === true\n}\n\ntype UnknownType = 'Unknown'\n\n/**\n *  An unknown error occurred\n */\nexport class UnknownError extends BaseApiError<500, UnknownType, 'An unknown error occurred'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(500, 'An unknown error occurred', 'Unknown', message, error, id, metadata)\n  }\n}\n\ntype InternalType = 'Internal'\n\n/**\n *  An internal error occurred\n */\nexport class InternalError extends BaseApiError<500, InternalType, 'An internal error occurred'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(500, 'An internal error occurred', 'Internal', message, error, id, metadata)\n  }\n}\n\ntype UnauthorizedType = 'Unauthorized'\n\n/**\n *  The request requires to be authenticated.\n */\nexport class UnauthorizedError extends BaseApiError<401, UnauthorizedType, 'The request requires to be authenticated.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(401, 'The request requires to be authenticated.', 'Unauthorized', message, error, id, metadata)\n  }\n}\n\ntype ForbiddenType = 'Forbidden'\n\n/**\n *  The requested action can\\'t be peform by this resource.\n */\nexport class ForbiddenError extends BaseApiError<403, ForbiddenType, 'The requested action can\\'t be peform by this resource.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(403, 'The requested action can\\'t be peform by this resource.', 'Forbidden', message, error, id, metadata)\n  }\n}\n\ntype PayloadTooLargeType = 'PayloadTooLarge'\n\n/**\n *  The request payload is too large.\n */\nexport class PayloadTooLargeError extends BaseApiError<413, PayloadTooLargeType, 'The request payload is too large.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(413, 'The request payload is too large.', 'PayloadTooLarge', message, error, id, metadata)\n  }\n}\n\ntype InvalidPayloadType = 'InvalidPayload'\n\n/**\n *  The request payload is invalid.\n */\nexport class InvalidPayloadError extends BaseApiError<400, InvalidPayloadType, 'The request payload is invalid.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The request payload is invalid.', 'InvalidPayload', message, error, id, metadata)\n  }\n}\n\ntype UnsupportedMediaTypeType = 'UnsupportedMediaType'\n\n/**\n *  The request is invalid because the content-type is not supported.\n */\nexport class UnsupportedMediaTypeError extends BaseApiError<415, UnsupportedMediaTypeType, 'The request is invalid because the content-type is not supported.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(415, 'The request is invalid because the content-type is not supported.', 'UnsupportedMediaType', message, error, id, metadata)\n  }\n}\n\ntype MethodNotFoundType = 'MethodNotFound'\n\n/**\n *  The requested method does not exist.\n */\nexport class MethodNotFoundError extends BaseApiError<405, MethodNotFoundType, 'The requested method does not exist.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(405, 'The requested method does not exist.', 'MethodNotFound', message, error, id, metadata)\n  }\n}\n\ntype ResourceNotFoundType = 'ResourceNotFound'\n\n/**\n *  The requested resource does not exist.\n */\nexport class ResourceNotFoundError extends BaseApiError<404, ResourceNotFoundType, 'The requested resource does not exist.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(404, 'The requested resource does not exist.', 'ResourceNotFound', message, error, id, metadata)\n  }\n}\n\ntype InvalidJsonSchemaType = 'InvalidJsonSchema'\n\n/**\n *  The provided JSON schema is invalid.\n */\nexport class InvalidJsonSchemaError extends BaseApiError<400, InvalidJsonSchemaType, 'The provided JSON schema is invalid.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The provided JSON schema is invalid.', 'InvalidJsonSchema', message, error, id, metadata)\n  }\n}\n\ntype InvalidDataFormatType = 'InvalidDataFormat'\n\n/**\n *  The provided data doesn\\'t respect the provided JSON schema.\n */\nexport class InvalidDataFormatError extends BaseApiError<400, InvalidDataFormatType, 'The provided data doesn\\'t respect the provided JSON schema.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The provided data doesn\\'t respect the provided JSON schema.', 'InvalidDataFormat', message, error, id, metadata)\n  }\n}\n\ntype InvalidIdentifierType = 'InvalidIdentifier'\n\n/**\n *  The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.\n */\nexport class InvalidIdentifierError extends BaseApiError<400, InvalidIdentifierType, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.', 'InvalidIdentifier', message, error, id, metadata)\n  }\n}\n\ntype RelationConflictType = 'RelationConflict'\n\n/**\n *  The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.\n */\nexport class RelationConflictError extends BaseApiError<409, RelationConflictType, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(409, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.', 'RelationConflict', message, error, id, metadata)\n  }\n}\n\ntype ReferenceConstraintType = 'ReferenceConstraint'\n\n/**\n *  The resource cannot be deleted because it\\'s referenced by another resource\n */\nexport class ReferenceConstraintError extends BaseApiError<409, ReferenceConstraintType, 'The resource cannot be deleted because it\\'s referenced by another resource'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(409, 'The resource cannot be deleted because it\\'s referenced by another resource', 'ReferenceConstraint', message, error, id, metadata)\n  }\n}\n\ntype ResourceLockedConflictType = 'ResourceLockedConflict'\n\n/**\n *  The resource is current locked and cannot be operated on until the lock is released.\n */\nexport class ResourceLockedConflictError extends BaseApiError<409, ResourceLockedConflictType, 'The resource is current locked and cannot be operated on until the lock is released.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(409, 'The resource is current locked and cannot be operated on until the lock is released.', 'ResourceLockedConflict', message, error, id, metadata)\n  }\n}\n\ntype ReferenceNotFoundType = 'ReferenceNotFound'\n\n/**\n *  The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.\n */\nexport class ReferenceNotFoundError extends BaseApiError<400, ReferenceNotFoundType, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.', 'ReferenceNotFound', message, error, id, metadata)\n  }\n}\n\ntype InvalidQueryType = 'InvalidQuery'\n\n/**\n *  The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.\n */\nexport class InvalidQueryError extends BaseApiError<400, InvalidQueryType, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.', 'InvalidQuery', message, error, id, metadata)\n  }\n}\n\ntype RuntimeType = 'Runtime'\n\n/**\n *  An error happened during the execution of a runtime (bot or integration).\n */\nexport class RuntimeError extends BaseApiError<400, RuntimeType, 'An error happened during the execution of a runtime (bot or integration).'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'An error happened during the execution of a runtime (bot or integration).', 'Runtime', message, error, id, metadata)\n  }\n}\n\ntype AlreadyExistsType = 'AlreadyExists'\n\n/**\n *  The record attempted to be created already exists.\n */\nexport class AlreadyExistsError extends BaseApiError<409, AlreadyExistsType, 'The record attempted to be created already exists.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(409, 'The record attempted to be created already exists.', 'AlreadyExists', message, error, id, metadata)\n  }\n}\n\ntype RateLimitedType = 'RateLimited'\n\n/**\n *  The request has been rate limited.\n */\nexport class RateLimitedError extends BaseApiError<429, RateLimitedType, 'The request has been rate limited.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(429, 'The request has been rate limited.', 'RateLimited', message, error, id, metadata)\n  }\n}\n\ntype PaymentRequiredType = 'PaymentRequired'\n\n/**\n *  A payment is required to perform this request.\n */\nexport class PaymentRequiredError extends BaseApiError<402, PaymentRequiredType, 'A payment is required to perform this request.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(402, 'A payment is required to perform this request.', 'PaymentRequired', message, error, id, metadata)\n  }\n}\n\ntype QuotaExceededType = 'QuotaExceeded'\n\n/**\n *  The request exceeds the allowed quota. Quotas are a soft limit that can be increased.\n */\nexport class QuotaExceededError extends BaseApiError<403, QuotaExceededType, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(403, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.', 'QuotaExceeded', message, error, id, metadata)\n  }\n}\n\ntype LimitExceededType = 'LimitExceeded'\n\n/**\n *  The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.\n */\nexport class LimitExceededError extends BaseApiError<413, LimitExceededType, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(413, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.', 'LimitExceeded', message, error, id, metadata)\n  }\n}\n\ntype BreakingChangesType = 'BreakingChanges'\n\n/**\n *  Request payload contains breaking changes which is not allowed for this resource without a version increment.\n */\nexport class BreakingChangesError extends BaseApiError<400, BreakingChangesType, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(400, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.', 'BreakingChanges', message, error, id, metadata)\n  }\n}\n\nexport type ErrorType =\n  | 'Unknown'\n  | 'Internal'\n  | 'Unauthorized'\n  | 'Forbidden'\n  | 'PayloadTooLarge'\n  | 'InvalidPayload'\n  | 'UnsupportedMediaType'\n  | 'MethodNotFound'\n  | 'ResourceNotFound'\n  | 'InvalidJsonSchema'\n  | 'InvalidDataFormat'\n  | 'InvalidIdentifier'\n  | 'RelationConflict'\n  | 'ReferenceConstraint'\n  | 'ResourceLockedConflict'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n\nexport type ApiError =\n  | UnknownError\n  | InternalError\n  | UnauthorizedError\n  | ForbiddenError\n  | PayloadTooLargeError\n  | InvalidPayloadError\n  | UnsupportedMediaTypeError\n  | MethodNotFoundError\n  | ResourceNotFoundError\n  | InvalidJsonSchemaError\n  | InvalidDataFormatError\n  | InvalidIdentifierError\n  | RelationConflictError\n  | ReferenceConstraintError\n  | ResourceLockedConflictError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n\nconst errorTypes: { [type: string]: new (message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) => ApiError } = {\n  Unknown: UnknownError,\n  Internal: InternalError,\n  Unauthorized: UnauthorizedError,\n  Forbidden: ForbiddenError,\n  PayloadTooLarge: PayloadTooLargeError,\n  InvalidPayload: InvalidPayloadError,\n  UnsupportedMediaType: UnsupportedMediaTypeError,\n  MethodNotFound: MethodNotFoundError,\n  ResourceNotFound: ResourceNotFoundError,\n  InvalidJsonSchema: InvalidJsonSchemaError,\n  InvalidDataFormat: InvalidDataFormatError,\n  InvalidIdentifier: InvalidIdentifierError,\n  RelationConflict: RelationConflictError,\n  ReferenceConstraint: ReferenceConstraintError,\n  ResourceLockedConflict: ResourceLockedConflictError,\n  ReferenceNotFound: ReferenceNotFoundError,\n  InvalidQuery: InvalidQueryError,\n  Runtime: RuntimeError,\n  AlreadyExists: AlreadyExistsError,\n  RateLimited: RateLimitedError,\n  PaymentRequired: PaymentRequiredError,\n  QuotaExceeded: QuotaExceededError,\n  LimitExceeded: LimitExceededError,\n  BreakingChanges: BreakingChangesError,\n}\n\nexport const errorFrom = (err: unknown): ApiError => {\n  if (isApiError(err)) {\n    return err\n  }\n  else if (err instanceof Error) {\n    return new UnknownError(err.message, err)\n  }\n  else if (typeof err === 'string') {\n    return new UnknownError(err)\n  }\n  else {\n    return getApiErrorFromObject(err)\n  }\n}\n\nfunction getApiErrorFromObject(err: any) {\n  // Check if it's an deserialized API error object\n  if (typeof err === 'object' && 'code' in err && 'type' in err && 'id' in err && 'message' in err && typeof err.type === 'string' && typeof err.message === 'string') {\n    const ErrorClass = errorTypes[err.type]\n    if (!ErrorClass) {\n      return new UnknownError(`An unclassified API error occurred: ${err.message} (Type: ${err.type}, Code: ${err.code})`)\n    }\n\n    return new ErrorClass(err.message, undefined, <string>err.id || 'UNKNOWN', err.metadata) // If error ID was not received do not pass undefined to generate a new one, flag it as UNKNOWN so we can fix the issue.\n  }\n\n  return new UnknownError('An invalid error occurred: ' + JSON.stringify(err))\n}\n", "\nimport { AxiosRequestConfig } from \"axios\"\nimport qs from \"qs\"\n\nexport type Primitive = string | number | boolean\nexport type Value<P extends Primitive> = P | P[] | Record<string, P>\nexport type QueryValue = Value<string> | Value<boolean> | Value<number> | undefined\nexport type AnyQueryParams = Record<string, QueryValue>\nexport type HeaderValue = string | undefined\nexport type AnyHeaderParams = Record<string, HeaderValue>\nexport type AnyBodyParams = Record<string, any>\nexport type ParsedRequest = {\n  method: string\n  path: string\n  query: AnyQueryParams\n  headers: AnyHeaderParams\n  body: AnyBodyParams\n}\n\nconst isDefined = <T>(pair: [string, T | undefined]): pair is [string, T] => pair[1] !== undefined\n\nexport const toAxiosRequest = (req: ParsedRequest): AxiosRequestConfig => {\n  const { method, path, query, headers: headerParams, body } = req\n\n  // prepare headers\n  const headerEntries: [string, string][] = Object.entries(headerParams).filter(isDefined)\n  const headers = Object.fromEntries(headerEntries)\n\n  // prepare query params\n  const queryString = qs.stringify(query, { encode: true, arrayFormat: 'repeat', allowDots: true })\n\n  const url = queryString ? [path, queryString].join('?') : path\n  const data =\n    ['put', 'post', 'delete', 'patch'].includes(method.toLowerCase())\n      ? body\n      : undefined\n\n  return {\n    method,\n    url,\n    headers,\n    data,\n  }\n}\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetConversationRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface GetConversationRequestQuery {}\n\nexport interface GetConversationRequestParams {\n  id: string;\n}\n\nexport interface GetConversationRequestBody {}\n\nexport type GetConversationInput = GetConversationRequestBody & GetConversationRequestHeaders & GetConversationRequestQuery & GetConversationRequestParams\n\nexport type GetConversationRequest = {\n  headers: GetConversationRequestHeaders;\n  query: GetConversationRequestQuery;\n  params: GetConversationRequestParams;\n  body: GetConversationRequestBody;\n}\n\nexport const parseReq = (input: GetConversationInput): GetConversationRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetConversationResponse {\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * Creation date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The last [Message](#schema_message) sent in the [Conversation](#schema_conversation)\n     */\n    lastMessage?: {\n      /**\n       * Id of the [Message](#schema_message)\n       */\n      id: string;\n      /**\n       * Creation date of the [Message](#schema_message) in ISO 8601 format\n       */\n      createdAt: string;\n      /**\n       * Payload is the content of the message.\n       */\n      payload:\n        | {\n            audioUrl: string;\n            fileId?: string;\n            type: \"audio\";\n            [k: string]: any;\n          }\n        | {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            type: \"card\";\n            [k: string]: any;\n          }\n        | {\n            items: {\n              title: string;\n              subtitle?: string;\n              imageUrl?: string;\n              actions: {\n                action: \"postback\" | \"url\" | \"say\";\n                label: string;\n                value: string;\n                [k: string]: any;\n              }[];\n              [k: string]: any;\n            }[];\n            type: \"carousel\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"choice\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"dropdown\";\n            [k: string]: any;\n          }\n        | {\n            fileUrl: string;\n            title?: string;\n            fileId?: string;\n            type: \"file\";\n            [k: string]: any;\n          }\n        | {\n            imageUrl: string;\n            fileId?: string;\n            type: \"image\";\n            [k: string]: any;\n          }\n        | {\n            latitude: number;\n            longitude: number;\n            address?: string;\n            title?: string;\n            type: \"location\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            value?: string;\n            type: \"text\";\n            [k: string]: any;\n          }\n        | {\n            videoUrl: string;\n            fileId?: string;\n            type: \"video\";\n            [k: string]: any;\n          }\n        | {\n            items: (\n              | {\n                  type: \"text\";\n                  payload: {\n                    text: string;\n                    value?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"markdown\";\n                  payload: {\n                    markdown: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"image\";\n                  payload: {\n                    imageUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"audio\";\n                  payload: {\n                    audioUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"video\";\n                  payload: {\n                    videoUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"file\";\n                  payload: {\n                    fileUrl: string;\n                    title?: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"location\";\n                  payload: {\n                    latitude: number;\n                    longitude: number;\n                    address?: string;\n                    title?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n            )[];\n            type: \"bloc\";\n            [k: string]: any;\n          }\n        | {\n            markdown: string;\n            type: \"markdown\";\n            [k: string]: any;\n          }\n        | {\n            url: string;\n            name: string;\n            data?: any;\n            type: \"custom\";\n            [k: string]: any;\n          };\n      /**\n       * ID of the [User](#schema_user)\n       */\n      userId: string;\n      /**\n       * ID of the [Conversation](#schema_conversation)\n       */\n      conversationId: string;\n      /**\n       * Metadata of the message\n       */\n      metadata?: {\n        [k: string]: any;\n      };\n      /**\n       * ID of the message this message is replying to\n       */\n      replyTo?: string;\n      /**\n       * ID of the user who selected this message. Undefined if not selected.\n       */\n      selectedBy?: string;\n      /**\n       * Feedback of the message\n       */\n      feedback?: {\n        value: \"positive\" | \"negative\";\n        comment?: string;\n      };\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateConversationRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface CreateConversationRequestQuery {}\n\nexport interface CreateConversationRequestParams {}\n\n/**\n * Conversation properties\n */\nexport interface CreateConversationRequestBody {\n  _?: string;\n}\n\nexport type CreateConversationInput = CreateConversationRequestBody & CreateConversationRequestHeaders & CreateConversationRequestQuery & CreateConversationRequestParams\n\nexport type CreateConversationRequest = {\n  headers: CreateConversationRequestHeaders;\n  query: CreateConversationRequestQuery;\n  params: CreateConversationRequestParams;\n  body: CreateConversationRequestBody;\n}\n\nexport const parseReq = (input: CreateConversationInput): CreateConversationRequest & { path: string } => {\n  return {\n    path: `/conversations`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: { '_': input['_'] },\n  }\n}\n\nexport interface CreateConversationResponse {\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * Creation date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The last [Message](#schema_message) sent in the [Conversation](#schema_conversation)\n     */\n    lastMessage?: {\n      /**\n       * Id of the [Message](#schema_message)\n       */\n      id: string;\n      /**\n       * Creation date of the [Message](#schema_message) in ISO 8601 format\n       */\n      createdAt: string;\n      /**\n       * Payload is the content of the message.\n       */\n      payload:\n        | {\n            audioUrl: string;\n            fileId?: string;\n            type: \"audio\";\n            [k: string]: any;\n          }\n        | {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            type: \"card\";\n            [k: string]: any;\n          }\n        | {\n            items: {\n              title: string;\n              subtitle?: string;\n              imageUrl?: string;\n              actions: {\n                action: \"postback\" | \"url\" | \"say\";\n                label: string;\n                value: string;\n                [k: string]: any;\n              }[];\n              [k: string]: any;\n            }[];\n            type: \"carousel\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"choice\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"dropdown\";\n            [k: string]: any;\n          }\n        | {\n            fileUrl: string;\n            title?: string;\n            fileId?: string;\n            type: \"file\";\n            [k: string]: any;\n          }\n        | {\n            imageUrl: string;\n            fileId?: string;\n            type: \"image\";\n            [k: string]: any;\n          }\n        | {\n            latitude: number;\n            longitude: number;\n            address?: string;\n            title?: string;\n            type: \"location\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            value?: string;\n            type: \"text\";\n            [k: string]: any;\n          }\n        | {\n            videoUrl: string;\n            fileId?: string;\n            type: \"video\";\n            [k: string]: any;\n          }\n        | {\n            items: (\n              | {\n                  type: \"text\";\n                  payload: {\n                    text: string;\n                    value?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"markdown\";\n                  payload: {\n                    markdown: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"image\";\n                  payload: {\n                    imageUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"audio\";\n                  payload: {\n                    audioUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"video\";\n                  payload: {\n                    videoUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"file\";\n                  payload: {\n                    fileUrl: string;\n                    title?: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"location\";\n                  payload: {\n                    latitude: number;\n                    longitude: number;\n                    address?: string;\n                    title?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n            )[];\n            type: \"bloc\";\n            [k: string]: any;\n          }\n        | {\n            markdown: string;\n            type: \"markdown\";\n            [k: string]: any;\n          }\n        | {\n            url: string;\n            name: string;\n            data?: any;\n            type: \"custom\";\n            [k: string]: any;\n          };\n      /**\n       * ID of the [User](#schema_user)\n       */\n      userId: string;\n      /**\n       * ID of the [Conversation](#schema_conversation)\n       */\n      conversationId: string;\n      /**\n       * Metadata of the message\n       */\n      metadata?: {\n        [k: string]: any;\n      };\n      /**\n       * ID of the message this message is replying to\n       */\n      replyTo?: string;\n      /**\n       * ID of the user who selected this message. Undefined if not selected.\n       */\n      selectedBy?: string;\n      /**\n       * Feedback of the message\n       */\n      feedback?: {\n        value: \"positive\" | \"negative\";\n        comment?: string;\n      };\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteConversationRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface DeleteConversationRequestQuery {}\n\nexport interface DeleteConversationRequestParams {\n  id: string;\n}\n\nexport interface DeleteConversationRequestBody {}\n\nexport type DeleteConversationInput = DeleteConversationRequestBody & DeleteConversationRequestHeaders & DeleteConversationRequestQuery & DeleteConversationRequestParams\n\nexport type DeleteConversationRequest = {\n  headers: DeleteConversationRequestHeaders;\n  query: DeleteConversationRequestQuery;\n  params: DeleteConversationRequestParams;\n  body: DeleteConversationRequestBody;\n}\n\nexport const parseReq = (input: DeleteConversationInput): DeleteConversationRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteConversationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListConversationsRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface ListConversationsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListConversationsRequestParams {}\n\nexport interface ListConversationsRequestBody {}\n\nexport type ListConversationsInput = ListConversationsRequestBody & ListConversationsRequestHeaders & ListConversationsRequestQuery & ListConversationsRequestParams\n\nexport type ListConversationsRequest = {\n  headers: ListConversationsRequestHeaders;\n  query: ListConversationsRequestQuery;\n  params: ListConversationsRequestParams;\n  body: ListConversationsRequestBody;\n}\n\nexport const parseReq = (input: ListConversationsInput): ListConversationsRequest & { path: string } => {\n  return {\n    path: `/conversations`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListConversationsResponse {\n  conversations: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * Creation date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Conversation](#schema_conversation) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The last [Message](#schema_message) sent in the [Conversation](#schema_conversation)\n     */\n    lastMessage?: {\n      /**\n       * Id of the [Message](#schema_message)\n       */\n      id: string;\n      /**\n       * Creation date of the [Message](#schema_message) in ISO 8601 format\n       */\n      createdAt: string;\n      /**\n       * Payload is the content of the message.\n       */\n      payload:\n        | {\n            audioUrl: string;\n            fileId?: string;\n            type: \"audio\";\n            [k: string]: any;\n          }\n        | {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            type: \"card\";\n            [k: string]: any;\n          }\n        | {\n            items: {\n              title: string;\n              subtitle?: string;\n              imageUrl?: string;\n              actions: {\n                action: \"postback\" | \"url\" | \"say\";\n                label: string;\n                value: string;\n                [k: string]: any;\n              }[];\n              [k: string]: any;\n            }[];\n            type: \"carousel\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"choice\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            options: {\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            disableFreeText?: boolean;\n            type: \"dropdown\";\n            [k: string]: any;\n          }\n        | {\n            fileUrl: string;\n            title?: string;\n            fileId?: string;\n            type: \"file\";\n            [k: string]: any;\n          }\n        | {\n            imageUrl: string;\n            fileId?: string;\n            type: \"image\";\n            [k: string]: any;\n          }\n        | {\n            latitude: number;\n            longitude: number;\n            address?: string;\n            title?: string;\n            type: \"location\";\n            [k: string]: any;\n          }\n        | {\n            text: string;\n            value?: string;\n            type: \"text\";\n            [k: string]: any;\n          }\n        | {\n            videoUrl: string;\n            fileId?: string;\n            type: \"video\";\n            [k: string]: any;\n          }\n        | {\n            items: (\n              | {\n                  type: \"text\";\n                  payload: {\n                    text: string;\n                    value?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"markdown\";\n                  payload: {\n                    markdown: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"image\";\n                  payload: {\n                    imageUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"audio\";\n                  payload: {\n                    audioUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"video\";\n                  payload: {\n                    videoUrl: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"file\";\n                  payload: {\n                    fileUrl: string;\n                    title?: string;\n                    fileId?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n              | {\n                  type: \"location\";\n                  payload: {\n                    latitude: number;\n                    longitude: number;\n                    address?: string;\n                    title?: string;\n                    [k: string]: any;\n                  };\n                  [k: string]: any;\n                }\n            )[];\n            type: \"bloc\";\n            [k: string]: any;\n          }\n        | {\n            markdown: string;\n            type: \"markdown\";\n            [k: string]: any;\n          }\n        | {\n            url: string;\n            name: string;\n            data?: any | null;\n            type: \"custom\";\n            [k: string]: any;\n          };\n      /**\n       * ID of the [User](#schema_user)\n       */\n      userId: string;\n      /**\n       * ID of the [Conversation](#schema_conversation)\n       */\n      conversationId: string;\n      /**\n       * Metadata of the message\n       */\n      metadata?: {\n        [k: string]: any | null;\n      };\n      /**\n       * ID of the message this message is replying to\n       */\n      replyTo?: string;\n      /**\n       * ID of the user who selected this message. Undefined if not selected.\n       */\n      selectedBy?: string;\n      /**\n       * Feedback of the message\n       */\n      feedback?: {\n        value: \"positive\" | \"negative\";\n        comment?: string;\n      };\n    };\n  }[];\n  meta: {\n    /**\n     * The token to use to retrieve the next page of results, passed as a query string parameter (value should be URL-encoded) to this API endpoint.\n     */\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListenConversationRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface ListenConversationRequestQuery {}\n\nexport interface ListenConversationRequestParams {\n  id: string;\n}\n\nexport interface ListenConversationRequestBody {}\n\nexport type ListenConversationInput = ListenConversationRequestBody & ListenConversationRequestHeaders & ListenConversationRequestQuery & ListenConversationRequestParams\n\nexport type ListenConversationRequest = {\n  headers: ListenConversationRequestHeaders;\n  query: ListenConversationRequestQuery;\n  params: ListenConversationRequestParams;\n  body: ListenConversationRequestBody;\n}\n\nexport const parseReq = (input: ListenConversationInput): ListenConversationRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/listen`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListenConversationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListConversationMessagesRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface ListConversationMessagesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListConversationMessagesRequestParams {\n  id: string;\n}\n\nexport interface ListConversationMessagesRequestBody {}\n\nexport type ListConversationMessagesInput = ListConversationMessagesRequestBody & ListConversationMessagesRequestHeaders & ListConversationMessagesRequestQuery & ListConversationMessagesRequestParams\n\nexport type ListConversationMessagesRequest = {\n  headers: ListConversationMessagesRequestHeaders;\n  query: ListConversationMessagesRequestQuery;\n  params: ListConversationMessagesRequestParams;\n  body: ListConversationMessagesRequestBody;\n}\n\nexport const parseReq = (input: ListConversationMessagesInput): ListConversationMessagesRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/messages`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListConversationMessagesResponse {\n  messages: {\n    /**\n     * Id of the [Message](#schema_message)\n     */\n    id: string;\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the message.\n     */\n    payload:\n      | {\n          audioUrl: string;\n          fileId?: string;\n          type: \"audio\";\n          [k: string]: any;\n        }\n      | {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          type: \"card\";\n          [k: string]: any;\n        }\n      | {\n          items: {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            [k: string]: any;\n          }[];\n          type: \"carousel\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"choice\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"dropdown\";\n          [k: string]: any;\n        }\n      | {\n          fileUrl: string;\n          title?: string;\n          fileId?: string;\n          type: \"file\";\n          [k: string]: any;\n        }\n      | {\n          imageUrl: string;\n          fileId?: string;\n          type: \"image\";\n          [k: string]: any;\n        }\n      | {\n          latitude: number;\n          longitude: number;\n          address?: string;\n          title?: string;\n          type: \"location\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          value?: string;\n          type: \"text\";\n          [k: string]: any;\n        }\n      | {\n          videoUrl: string;\n          fileId?: string;\n          type: \"video\";\n          [k: string]: any;\n        }\n      | {\n          items: (\n            | {\n                type: \"text\";\n                payload: {\n                  text: string;\n                  value?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"markdown\";\n                payload: {\n                  markdown: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"image\";\n                payload: {\n                  imageUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"audio\";\n                payload: {\n                  audioUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"video\";\n                payload: {\n                  videoUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"file\";\n                payload: {\n                  fileUrl: string;\n                  title?: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"location\";\n                payload: {\n                  latitude: number;\n                  longitude: number;\n                  address?: string;\n                  title?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n          )[];\n          type: \"bloc\";\n          [k: string]: any;\n        }\n      | {\n          markdown: string;\n          type: \"markdown\";\n          [k: string]: any;\n        }\n      | {\n          url: string;\n          name: string;\n          data?: any | null;\n          type: \"custom\";\n          [k: string]: any;\n        };\n    /**\n     * ID of the [User](#schema_user)\n     */\n    userId: string;\n    /**\n     * ID of the [Conversation](#schema_conversation)\n     */\n    conversationId: string;\n    /**\n     * Metadata of the message\n     */\n    metadata?: {\n      [k: string]: any | null;\n    };\n    /**\n     * ID of the message this message is replying to\n     */\n    replyTo?: string;\n    /**\n     * ID of the user who selected this message. Undefined if not selected.\n     */\n    selectedBy?: string;\n    /**\n     * Feedback of the message\n     */\n    feedback?: {\n      value: \"positive\" | \"negative\";\n      comment?: string;\n    };\n  }[];\n  meta: {\n    /**\n     * The token to use to retrieve the next page of results, passed as a query string parameter (value should be URL-encoded) to this API endpoint.\n     */\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface AddParticipantRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface AddParticipantRequestQuery {}\n\nexport interface AddParticipantRequestParams {\n  id: string;\n}\n\nexport interface AddParticipantRequestBody {\n  /**\n   * User id\n   */\n  userId: string;\n}\n\nexport type AddParticipantInput = AddParticipantRequestBody & AddParticipantRequestHeaders & AddParticipantRequestQuery & AddParticipantRequestParams\n\nexport type AddParticipantRequest = {\n  headers: AddParticipantRequestHeaders;\n  query: AddParticipantRequestQuery;\n  params: AddParticipantRequestParams;\n  body: AddParticipantRequestBody;\n}\n\nexport const parseReq = (input: AddParticipantInput): AddParticipantRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'userId': input['userId'] },\n  }\n}\n\nexport interface AddParticipantResponse {\n  /**\n   * The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\n   */\n  participant: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RemoveParticipantRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface RemoveParticipantRequestQuery {}\n\nexport interface RemoveParticipantRequestParams {\n  id: string;\n  userId: string;\n}\n\nexport interface RemoveParticipantRequestBody {}\n\nexport type RemoveParticipantInput = RemoveParticipantRequestBody & RemoveParticipantRequestHeaders & RemoveParticipantRequestQuery & RemoveParticipantRequestParams\n\nexport type RemoveParticipantRequest = {\n  headers: RemoveParticipantRequestHeaders;\n  query: RemoveParticipantRequestQuery;\n  params: RemoveParticipantRequestParams;\n  body: RemoveParticipantRequestBody;\n}\n\nexport const parseReq = (input: RemoveParticipantInput): RemoveParticipantRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'], 'userId': input['userId'] },\n    body: {  },\n  }\n}\n\nexport interface RemoveParticipantResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetParticipantRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface GetParticipantRequestQuery {}\n\nexport interface GetParticipantRequestParams {\n  id: string;\n  userId: string;\n}\n\nexport interface GetParticipantRequestBody {}\n\nexport type GetParticipantInput = GetParticipantRequestBody & GetParticipantRequestHeaders & GetParticipantRequestQuery & GetParticipantRequestParams\n\nexport type GetParticipantRequest = {\n  headers: GetParticipantRequestHeaders;\n  query: GetParticipantRequestQuery;\n  params: GetParticipantRequestParams;\n  body: GetParticipantRequestBody;\n}\n\nexport const parseReq = (input: GetParticipantInput): GetParticipantRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'], 'userId': input['userId'] },\n    body: {  },\n  }\n}\n\nexport interface GetParticipantResponse {\n  /**\n   * The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\n   */\n  participant: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListParticipantsRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface ListParticipantsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListParticipantsRequestParams {\n  id: string;\n}\n\nexport interface ListParticipantsRequestBody {}\n\nexport type ListParticipantsInput = ListParticipantsRequestBody & ListParticipantsRequestHeaders & ListParticipantsRequestQuery & ListParticipantsRequestParams\n\nexport type ListParticipantsRequest = {\n  headers: ListParticipantsRequestHeaders;\n  query: ListParticipantsRequestQuery;\n  params: ListParticipantsRequestParams;\n  body: ListParticipantsRequestBody;\n}\n\nexport const parseReq = (input: ListParticipantsInput): ListParticipantsRequest & { path: string } => {\n  return {\n    path: `/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListParticipantsResponse {\n  participants: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  }[];\n  meta: {\n    /**\n     * The token to use to retrieve the next page of results, passed as a query string parameter (value should be URL-encoded) to this API endpoint.\n     */\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetMessageRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface GetMessageRequestQuery {}\n\nexport interface GetMessageRequestParams {\n  id: string;\n}\n\nexport interface GetMessageRequestBody {}\n\nexport type GetMessageInput = GetMessageRequestBody & GetMessageRequestHeaders & GetMessageRequestQuery & GetMessageRequestParams\n\nexport type GetMessageRequest = {\n  headers: GetMessageRequestHeaders;\n  query: GetMessageRequestQuery;\n  params: GetMessageRequestParams;\n  body: GetMessageRequestBody;\n}\n\nexport const parseReq = (input: GetMessageInput): GetMessageRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetMessageResponse {\n  /**\n   * The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\n   */\n  message: {\n    /**\n     * Id of the [Message](#schema_message)\n     */\n    id: string;\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the message.\n     */\n    payload:\n      | {\n          audioUrl: string;\n          fileId?: string;\n          type: \"audio\";\n          [k: string]: any;\n        }\n      | {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          type: \"card\";\n          [k: string]: any;\n        }\n      | {\n          items: {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            [k: string]: any;\n          }[];\n          type: \"carousel\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"choice\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"dropdown\";\n          [k: string]: any;\n        }\n      | {\n          fileUrl: string;\n          title?: string;\n          fileId?: string;\n          type: \"file\";\n          [k: string]: any;\n        }\n      | {\n          imageUrl: string;\n          fileId?: string;\n          type: \"image\";\n          [k: string]: any;\n        }\n      | {\n          latitude: number;\n          longitude: number;\n          address?: string;\n          title?: string;\n          type: \"location\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          value?: string;\n          type: \"text\";\n          [k: string]: any;\n        }\n      | {\n          videoUrl: string;\n          fileId?: string;\n          type: \"video\";\n          [k: string]: any;\n        }\n      | {\n          items: (\n            | {\n                type: \"text\";\n                payload: {\n                  text: string;\n                  value?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"markdown\";\n                payload: {\n                  markdown: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"image\";\n                payload: {\n                  imageUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"audio\";\n                payload: {\n                  audioUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"video\";\n                payload: {\n                  videoUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"file\";\n                payload: {\n                  fileUrl: string;\n                  title?: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"location\";\n                payload: {\n                  latitude: number;\n                  longitude: number;\n                  address?: string;\n                  title?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n          )[];\n          type: \"bloc\";\n          [k: string]: any;\n        }\n      | {\n          markdown: string;\n          type: \"markdown\";\n          [k: string]: any;\n        }\n      | {\n          url: string;\n          name: string;\n          data?: any;\n          type: \"custom\";\n          [k: string]: any;\n        };\n    /**\n     * ID of the [User](#schema_user)\n     */\n    userId: string;\n    /**\n     * ID of the [Conversation](#schema_conversation)\n     */\n    conversationId: string;\n    /**\n     * Metadata of the message\n     */\n    metadata?: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the message this message is replying to\n     */\n    replyTo?: string;\n    /**\n     * ID of the user who selected this message. Undefined if not selected.\n     */\n    selectedBy?: string;\n    /**\n     * Feedback of the message\n     */\n    feedback?: {\n      value: \"positive\" | \"negative\";\n      comment?: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateMessageRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface CreateMessageRequestQuery {}\n\nexport interface CreateMessageRequestParams {}\n\nexport interface CreateMessageRequestBody {\n  /**\n   * Payload is the content of the message.\n   */\n  payload:\n    | {\n        audioUrl: string;\n        fileId?: string;\n        type: \"audio\";\n        [k: string]: any;\n      }\n    | {\n        title: string;\n        subtitle?: string;\n        imageUrl?: string;\n        actions: {\n          action: \"postback\" | \"url\" | \"say\";\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        type: \"card\";\n        [k: string]: any;\n      }\n    | {\n        items: {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          [k: string]: any;\n        }[];\n        type: \"carousel\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        options: {\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        disableFreeText?: boolean;\n        type: \"choice\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        options: {\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        disableFreeText?: boolean;\n        type: \"dropdown\";\n        [k: string]: any;\n      }\n    | {\n        fileUrl: string;\n        title?: string;\n        fileId?: string;\n        type: \"file\";\n        [k: string]: any;\n      }\n    | {\n        imageUrl: string;\n        fileId?: string;\n        type: \"image\";\n        [k: string]: any;\n      }\n    | {\n        latitude: number;\n        longitude: number;\n        address?: string;\n        title?: string;\n        type: \"location\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        value?: string;\n        type: \"text\";\n        [k: string]: any;\n      }\n    | {\n        videoUrl: string;\n        fileId?: string;\n        type: \"video\";\n        [k: string]: any;\n      }\n    | {\n        items: (\n          | {\n              type: \"text\";\n              payload: {\n                text: string;\n                value?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"markdown\";\n              payload: {\n                markdown: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"image\";\n              payload: {\n                imageUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"audio\";\n              payload: {\n                audioUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"video\";\n              payload: {\n                videoUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"file\";\n              payload: {\n                fileUrl: string;\n                title?: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"location\";\n              payload: {\n                latitude: number;\n                longitude: number;\n                address?: string;\n                title?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n        )[];\n        type: \"bloc\";\n        [k: string]: any;\n      }\n    | {\n        markdown: string;\n        type: \"markdown\";\n        [k: string]: any;\n      }\n    | {\n        url: string;\n        name: string;\n        data?: any;\n        type: \"custom\";\n        [k: string]: any;\n      };\n  /**\n   * ID of the [Conversation](#schema_conversation)\n   */\n  conversationId: string;\n  /**\n   * Metadata of the message\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n  /**\n   * ID of the message this message is replying to\n   */\n  replyTo?: string;\n}\n\nexport type CreateMessageInput = CreateMessageRequestBody & CreateMessageRequestHeaders & CreateMessageRequestQuery & CreateMessageRequestParams\n\nexport type CreateMessageRequest = {\n  headers: CreateMessageRequestHeaders;\n  query: CreateMessageRequestQuery;\n  params: CreateMessageRequestParams;\n  body: CreateMessageRequestBody;\n}\n\nexport const parseReq = (input: CreateMessageInput): CreateMessageRequest & { path: string } => {\n  return {\n    path: `/messages`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'conversationId': input['conversationId'], 'metadata': input['metadata'], 'replyTo': input['replyTo'] },\n  }\n}\n\nexport interface CreateMessageResponse {\n  /**\n   * The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\n   */\n  message: {\n    /**\n     * Id of the [Message](#schema_message)\n     */\n    id: string;\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the message.\n     */\n    payload:\n      | {\n          audioUrl: string;\n          fileId?: string;\n          type: \"audio\";\n          [k: string]: any;\n        }\n      | {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          type: \"card\";\n          [k: string]: any;\n        }\n      | {\n          items: {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            [k: string]: any;\n          }[];\n          type: \"carousel\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"choice\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"dropdown\";\n          [k: string]: any;\n        }\n      | {\n          fileUrl: string;\n          title?: string;\n          fileId?: string;\n          type: \"file\";\n          [k: string]: any;\n        }\n      | {\n          imageUrl: string;\n          fileId?: string;\n          type: \"image\";\n          [k: string]: any;\n        }\n      | {\n          latitude: number;\n          longitude: number;\n          address?: string;\n          title?: string;\n          type: \"location\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          value?: string;\n          type: \"text\";\n          [k: string]: any;\n        }\n      | {\n          videoUrl: string;\n          fileId?: string;\n          type: \"video\";\n          [k: string]: any;\n        }\n      | {\n          items: (\n            | {\n                type: \"text\";\n                payload: {\n                  text: string;\n                  value?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"markdown\";\n                payload: {\n                  markdown: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"image\";\n                payload: {\n                  imageUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"audio\";\n                payload: {\n                  audioUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"video\";\n                payload: {\n                  videoUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"file\";\n                payload: {\n                  fileUrl: string;\n                  title?: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"location\";\n                payload: {\n                  latitude: number;\n                  longitude: number;\n                  address?: string;\n                  title?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n          )[];\n          type: \"bloc\";\n          [k: string]: any;\n        }\n      | {\n          markdown: string;\n          type: \"markdown\";\n          [k: string]: any;\n        }\n      | {\n          url: string;\n          name: string;\n          data?: any;\n          type: \"custom\";\n          [k: string]: any;\n        };\n    /**\n     * ID of the [User](#schema_user)\n     */\n    userId: string;\n    /**\n     * ID of the [Conversation](#schema_conversation)\n     */\n    conversationId: string;\n    /**\n     * Metadata of the message\n     */\n    metadata?: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the message this message is replying to\n     */\n    replyTo?: string;\n    /**\n     * ID of the user who selected this message. Undefined if not selected.\n     */\n    selectedBy?: string;\n    /**\n     * Feedback of the message\n     */\n    feedback?: {\n      value: \"positive\" | \"negative\";\n      comment?: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateMessageRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface UpdateMessageRequestQuery {}\n\nexport interface UpdateMessageRequestParams {\n  id: string;\n}\n\nexport interface UpdateMessageRequestBody {\n  /**\n   * Payload is the content of the message.\n   */\n  payload?:\n    | {\n        audioUrl: string;\n        fileId?: string;\n        type: \"audio\";\n        [k: string]: any;\n      }\n    | {\n        title: string;\n        subtitle?: string;\n        imageUrl?: string;\n        actions: {\n          action: \"postback\" | \"url\" | \"say\";\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        type: \"card\";\n        [k: string]: any;\n      }\n    | {\n        items: {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          [k: string]: any;\n        }[];\n        type: \"carousel\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        options: {\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        disableFreeText?: boolean;\n        type: \"choice\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        options: {\n          label: string;\n          value: string;\n          [k: string]: any;\n        }[];\n        disableFreeText?: boolean;\n        type: \"dropdown\";\n        [k: string]: any;\n      }\n    | {\n        fileUrl: string;\n        title?: string;\n        fileId?: string;\n        type: \"file\";\n        [k: string]: any;\n      }\n    | {\n        imageUrl: string;\n        fileId?: string;\n        type: \"image\";\n        [k: string]: any;\n      }\n    | {\n        latitude: number;\n        longitude: number;\n        address?: string;\n        title?: string;\n        type: \"location\";\n        [k: string]: any;\n      }\n    | {\n        text: string;\n        value?: string;\n        type: \"text\";\n        [k: string]: any;\n      }\n    | {\n        videoUrl: string;\n        fileId?: string;\n        type: \"video\";\n        [k: string]: any;\n      }\n    | {\n        items: (\n          | {\n              type: \"text\";\n              payload: {\n                text: string;\n                value?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"markdown\";\n              payload: {\n                markdown: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"image\";\n              payload: {\n                imageUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"audio\";\n              payload: {\n                audioUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"video\";\n              payload: {\n                videoUrl: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"file\";\n              payload: {\n                fileUrl: string;\n                title?: string;\n                fileId?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n          | {\n              type: \"location\";\n              payload: {\n                latitude: number;\n                longitude: number;\n                address?: string;\n                title?: string;\n                [k: string]: any;\n              };\n              [k: string]: any;\n            }\n        )[];\n        type: \"bloc\";\n        [k: string]: any;\n      }\n    | {\n        markdown: string;\n        type: \"markdown\";\n        [k: string]: any;\n      }\n    | {\n        url: string;\n        name: string;\n        data?: any;\n        type: \"custom\";\n        [k: string]: any;\n      };\n  /**\n   * Metadata of the message\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n}\n\nexport type UpdateMessageInput = UpdateMessageRequestBody & UpdateMessageRequestHeaders & UpdateMessageRequestQuery & UpdateMessageRequestParams\n\nexport type UpdateMessageRequest = {\n  headers: UpdateMessageRequestHeaders;\n  query: UpdateMessageRequestQuery;\n  params: UpdateMessageRequestParams;\n  body: UpdateMessageRequestBody;\n}\n\nexport const parseReq = (input: UpdateMessageInput): UpdateMessageRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'payload': input['payload'], 'metadata': input['metadata'] },\n  }\n}\n\nexport interface UpdateMessageResponse {\n  /**\n   * The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\n   */\n  message: {\n    /**\n     * Id of the [Message](#schema_message)\n     */\n    id: string;\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the message.\n     */\n    payload:\n      | {\n          audioUrl: string;\n          fileId?: string;\n          type: \"audio\";\n          [k: string]: any;\n        }\n      | {\n          title: string;\n          subtitle?: string;\n          imageUrl?: string;\n          actions: {\n            action: \"postback\" | \"url\" | \"say\";\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          type: \"card\";\n          [k: string]: any;\n        }\n      | {\n          items: {\n            title: string;\n            subtitle?: string;\n            imageUrl?: string;\n            actions: {\n              action: \"postback\" | \"url\" | \"say\";\n              label: string;\n              value: string;\n              [k: string]: any;\n            }[];\n            [k: string]: any;\n          }[];\n          type: \"carousel\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"choice\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          options: {\n            label: string;\n            value: string;\n            [k: string]: any;\n          }[];\n          disableFreeText?: boolean;\n          type: \"dropdown\";\n          [k: string]: any;\n        }\n      | {\n          fileUrl: string;\n          title?: string;\n          fileId?: string;\n          type: \"file\";\n          [k: string]: any;\n        }\n      | {\n          imageUrl: string;\n          fileId?: string;\n          type: \"image\";\n          [k: string]: any;\n        }\n      | {\n          latitude: number;\n          longitude: number;\n          address?: string;\n          title?: string;\n          type: \"location\";\n          [k: string]: any;\n        }\n      | {\n          text: string;\n          value?: string;\n          type: \"text\";\n          [k: string]: any;\n        }\n      | {\n          videoUrl: string;\n          fileId?: string;\n          type: \"video\";\n          [k: string]: any;\n        }\n      | {\n          items: (\n            | {\n                type: \"text\";\n                payload: {\n                  text: string;\n                  value?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"markdown\";\n                payload: {\n                  markdown: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"image\";\n                payload: {\n                  imageUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"audio\";\n                payload: {\n                  audioUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"video\";\n                payload: {\n                  videoUrl: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"file\";\n                payload: {\n                  fileUrl: string;\n                  title?: string;\n                  fileId?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n            | {\n                type: \"location\";\n                payload: {\n                  latitude: number;\n                  longitude: number;\n                  address?: string;\n                  title?: string;\n                  [k: string]: any;\n                };\n                [k: string]: any;\n              }\n          )[];\n          type: \"bloc\";\n          [k: string]: any;\n        }\n      | {\n          markdown: string;\n          type: \"markdown\";\n          [k: string]: any;\n        }\n      | {\n          url: string;\n          name: string;\n          data?: any;\n          type: \"custom\";\n          [k: string]: any;\n        };\n    /**\n     * ID of the [User](#schema_user)\n     */\n    userId: string;\n    /**\n     * ID of the [Conversation](#schema_conversation)\n     */\n    conversationId: string;\n    /**\n     * Metadata of the message\n     */\n    metadata?: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the message this message is replying to\n     */\n    replyTo?: string;\n    /**\n     * ID of the user who selected this message. Undefined if not selected.\n     */\n    selectedBy?: string;\n    /**\n     * Feedback of the message\n     */\n    feedback?: {\n      value: \"positive\" | \"negative\";\n      comment?: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SelectMessageRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface SelectMessageRequestQuery {}\n\nexport interface SelectMessageRequestParams {\n  id: string;\n}\n\nexport interface SelectMessageRequestBody {}\n\nexport type SelectMessageInput = SelectMessageRequestBody & SelectMessageRequestHeaders & SelectMessageRequestQuery & SelectMessageRequestParams\n\nexport type SelectMessageRequest = {\n  headers: SelectMessageRequestHeaders;\n  query: SelectMessageRequestQuery;\n  params: SelectMessageRequestParams;\n  body: SelectMessageRequestBody;\n}\n\nexport const parseReq = (input: SelectMessageInput): SelectMessageRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}/select`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface SelectMessageResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteMessageRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface DeleteMessageRequestQuery {}\n\nexport interface DeleteMessageRequestParams {\n  id: string;\n}\n\nexport interface DeleteMessageRequestBody {}\n\nexport type DeleteMessageInput = DeleteMessageRequestBody & DeleteMessageRequestHeaders & DeleteMessageRequestQuery & DeleteMessageRequestParams\n\nexport type DeleteMessageRequest = {\n  headers: DeleteMessageRequestHeaders;\n  query: DeleteMessageRequestQuery;\n  params: DeleteMessageRequestParams;\n  body: DeleteMessageRequestBody;\n}\n\nexport const parseReq = (input: DeleteMessageInput): DeleteMessageRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteMessageResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface AddMessageFeedbackRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface AddMessageFeedbackRequestQuery {}\n\nexport interface AddMessageFeedbackRequestParams {\n  id: string;\n}\n\nexport interface AddMessageFeedbackRequestBody {\n  value: \"positive\" | \"negative\";\n  comment?: string;\n}\n\nexport type AddMessageFeedbackInput = AddMessageFeedbackRequestBody & AddMessageFeedbackRequestHeaders & AddMessageFeedbackRequestQuery & AddMessageFeedbackRequestParams\n\nexport type AddMessageFeedbackRequest = {\n  headers: AddMessageFeedbackRequestHeaders;\n  query: AddMessageFeedbackRequestQuery;\n  params: AddMessageFeedbackRequestParams;\n  body: AddMessageFeedbackRequestBody;\n}\n\nexport const parseReq = (input: AddMessageFeedbackInput): AddMessageFeedbackRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}/feedback`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'value': input['value'], 'comment': input['comment'] },\n  }\n}\n\nexport interface AddMessageFeedbackResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RemoveMessageFeedbackRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface RemoveMessageFeedbackRequestQuery {}\n\nexport interface RemoveMessageFeedbackRequestParams {\n  id: string;\n}\n\nexport interface RemoveMessageFeedbackRequestBody {}\n\nexport type RemoveMessageFeedbackInput = RemoveMessageFeedbackRequestBody & RemoveMessageFeedbackRequestHeaders & RemoveMessageFeedbackRequestQuery & RemoveMessageFeedbackRequestParams\n\nexport type RemoveMessageFeedbackRequest = {\n  headers: RemoveMessageFeedbackRequestHeaders;\n  query: RemoveMessageFeedbackRequestQuery;\n  params: RemoveMessageFeedbackRequestParams;\n  body: RemoveMessageFeedbackRequestBody;\n}\n\nexport const parseReq = (input: RemoveMessageFeedbackInput): RemoveMessageFeedbackRequest & { path: string } => {\n  return {\n    path: `/messages/${encodeURIComponent(input['id'])}/feedback`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface RemoveMessageFeedbackResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUserRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface GetUserRequestQuery {}\n\nexport interface GetUserRequestParams {}\n\nexport interface GetUserRequestBody {}\n\nexport type GetUserInput = GetUserRequestBody & GetUserRequestHeaders & GetUserRequestQuery & GetUserRequestParams\n\nexport type GetUserRequest = {\n  headers: GetUserRequestHeaders;\n  query: GetUserRequestQuery;\n  params: GetUserRequestParams;\n  body: GetUserRequestBody;\n}\n\nexport const parseReq = (input: GetUserInput): GetUserRequest & { path: string } => {\n  return {\n    path: `/users/me`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetUserResponse {\n  /**\n   * The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\n   */\n  user: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateUserRequestHeaders {\n  \"x-admin-secret\"?: string;\n}\n\nexport interface CreateUserRequestQuery {}\n\nexport interface CreateUserRequestParams {}\n\nexport interface CreateUserRequestBody {\n  /**\n   * Name of the [User](#schema_user) (not a unique identifier)\n   */\n  name?: string;\n  /**\n   * Picture url of the [User](#schema_user)\n   */\n  pictureUrl?: string;\n  /**\n   * User data. An object or a signed JWT token\n   */\n  userData?:\n    | {\n        [k: string]: any;\n      }\n    | string;\n  /**\n   * Custom attributes for the user as key-value pairs. Can be an object or a signed JWT token.\n   */\n  attributes?:\n    | {\n        [k: string]: string;\n      }\n    | string;\n}\n\nexport type CreateUserInput = CreateUserRequestBody & CreateUserRequestHeaders & CreateUserRequestQuery & CreateUserRequestParams\n\nexport type CreateUserRequest = {\n  headers: CreateUserRequestHeaders;\n  query: CreateUserRequestQuery;\n  params: CreateUserRequestParams;\n  body: CreateUserRequestBody;\n}\n\nexport const parseReq = (input: CreateUserInput): CreateUserRequest & { path: string } => {\n  return {\n    path: `/users`,\n    headers: { 'x-admin-secret': input['x-admin-secret'] },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'pictureUrl': input['pictureUrl'], 'userData': input['userData'], 'attributes': input['attributes'] },\n  }\n}\n\nexport interface CreateUserResponse {\n  /**\n   * The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\n   */\n  user: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  };\n  key: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GenerateUserKeyRequestHeaders {\n  \"x-admin-secret\"?: string;\n}\n\nexport interface GenerateUserKeyRequestQuery {}\n\nexport interface GenerateUserKeyRequestParams {}\n\nexport interface GenerateUserKeyRequestBody {\n  /**\n   * The ID of the user to generate a key for\n   */\n  id: string;\n  /**\n   * The expiration date of the key in milliseconds since midnight, January 1, 1970 UTC. If not provided, the key will never expire.\n   */\n  expiresAt?: number;\n}\n\nexport type GenerateUserKeyInput = GenerateUserKeyRequestBody & GenerateUserKeyRequestHeaders & GenerateUserKeyRequestQuery & GenerateUserKeyRequestParams\n\nexport type GenerateUserKeyRequest = {\n  headers: GenerateUserKeyRequestHeaders;\n  query: GenerateUserKeyRequestQuery;\n  params: GenerateUserKeyRequestParams;\n  body: GenerateUserKeyRequestBody;\n}\n\nexport const parseReq = (input: GenerateUserKeyInput): GenerateUserKeyRequest & { path: string } => {\n  return {\n    path: `/users/key`,\n    headers: { 'x-admin-secret': input['x-admin-secret'] },\n    query: {  },\n    params: {  },\n    body: { 'id': input['id'], 'expiresAt': input['expiresAt'] },\n  }\n}\n\nexport interface GenerateUserKeyResponse {\n  key: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateUserRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface UpdateUserRequestQuery {}\n\nexport interface UpdateUserRequestParams {}\n\nexport interface UpdateUserRequestBody {\n  /**\n   * Name of the [User](#schema_user) (not a unique identifier)\n   */\n  name?: string;\n  /**\n   * Picture url of the [User](#schema_user)\n   */\n  pictureUrl?: string;\n  /**\n   * User data. An object or a signed JWT token\n   */\n  userData?:\n    | (\n        | {\n            [k: string]: any;\n          }\n        | string\n      )\n    | null;\n  /**\n   * Custom attributes for the user as key-value pairs. Can be an object or a signed JWT token. Set a key to null to delete it.\n   */\n  attributes?:\n    | {\n        [k: string]: string | null;\n      }\n    | string;\n}\n\nexport type UpdateUserInput = UpdateUserRequestBody & UpdateUserRequestHeaders & UpdateUserRequestQuery & UpdateUserRequestParams\n\nexport type UpdateUserRequest = {\n  headers: UpdateUserRequestHeaders;\n  query: UpdateUserRequestQuery;\n  params: UpdateUserRequestParams;\n  body: UpdateUserRequestBody;\n}\n\nexport const parseReq = (input: UpdateUserInput): UpdateUserRequest & { path: string } => {\n  return {\n    path: `/users/me`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'pictureUrl': input['pictureUrl'], 'userData': input['userData'], 'attributes': input['attributes'] },\n  }\n}\n\nexport interface UpdateUserResponse {\n  /**\n   * The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\n   */\n  user: {\n    /**\n     * Name of the [User](#schema_user)\n     */\n    name?: string;\n    /**\n     * Picture url of the [User](#schema_user)\n     */\n    pictureUrl?: string;\n    /**\n     * User data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Custom attributes of the user\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Id of the [User](#schema_user)\n     */\n    id: string;\n    /**\n     * Creation date of the [User](#schema_user) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [User](#schema_user) in ISO 8601 format\n     */\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteUserRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface DeleteUserRequestQuery {}\n\nexport interface DeleteUserRequestParams {}\n\nexport interface DeleteUserRequestBody {}\n\nexport type DeleteUserInput = DeleteUserRequestBody & DeleteUserRequestHeaders & DeleteUserRequestQuery & DeleteUserRequestParams\n\nexport type DeleteUserRequest = {\n  headers: DeleteUserRequestHeaders;\n  query: DeleteUserRequestQuery;\n  params: DeleteUserRequestParams;\n  body: DeleteUserRequestBody;\n}\n\nexport const parseReq = (input: DeleteUserInput): DeleteUserRequest & { path: string } => {\n  return {\n    path: `/users/me`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface DeleteUserResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetEventRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface GetEventRequestQuery {}\n\nexport interface GetEventRequestParams {\n  id: string;\n}\n\nexport interface GetEventRequestBody {}\n\nexport type GetEventInput = GetEventRequestBody & GetEventRequestHeaders & GetEventRequestQuery & GetEventRequestParams\n\nexport type GetEventRequest = {\n  headers: GetEventRequestHeaders;\n  query: GetEventRequestQuery;\n  params: GetEventRequestParams;\n  body: GetEventRequestBody;\n}\n\nexport const parseReq = (input: GetEventInput): GetEventRequest & { path: string } => {\n  return {\n    path: `/events/${encodeURIComponent(input['id'])}`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetEventResponse {\n  event: {\n    /**\n     * ID of the [Event](#schema_event).\n     */\n    id: string;\n    /**\n     * Creation date of the [Event](#schema_event) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the event.\n     */\n    payload:\n      | {\n          type: \"custom\";\n          data: {\n            [k: string]: any;\n          };\n          [k: string]: any;\n        }\n      | {\n          type: \"conversation_started\";\n          data: {\n            [k: string]: {\n              [k: string]: any;\n            };\n          };\n          [k: string]: any;\n        };\n    /**\n     * ID of the [Conversation](#schema_conversation).\n     */\n    conversationId: string;\n    /**\n     * ID of the [User](#schema_user).\n     */\n    userId: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateEventRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface CreateEventRequestQuery {}\n\nexport interface CreateEventRequestParams {}\n\nexport interface CreateEventRequestBody {\n  /**\n   * Payload is the content type of the event.\n   */\n  payload:\n    | {\n        type: \"custom\";\n        data: {\n          [k: string]: any;\n        };\n        [k: string]: any;\n      }\n    | {\n        type: \"conversation_started\";\n        data: {\n          [k: string]: {\n            [k: string]: any;\n          };\n        };\n        [k: string]: any;\n      };\n  /**\n   * ID of the [Conversation](#schema_conversation)\n   */\n  conversationId: string;\n  /**\n   * Whether to bind the event to the conversation. Defaults to true\n   */\n  bindConversation?: boolean;\n  /**\n   * Whether to bind the event to the user. Defaults to true\n   */\n  bindUser?: boolean;\n}\n\nexport type CreateEventInput = CreateEventRequestBody & CreateEventRequestHeaders & CreateEventRequestQuery & CreateEventRequestParams\n\nexport type CreateEventRequest = {\n  headers: CreateEventRequestHeaders;\n  query: CreateEventRequestQuery;\n  params: CreateEventRequestParams;\n  body: CreateEventRequestBody;\n}\n\nexport const parseReq = (input: CreateEventInput): CreateEventRequest & { path: string } => {\n  return {\n    path: `/events`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'conversationId': input['conversationId'], 'bindConversation': input['bindConversation'], 'bindUser': input['bindUser'] },\n  }\n}\n\nexport interface CreateEventResponse {\n  event: {\n    /**\n     * ID of the [Event](#schema_event).\n     */\n    id: string;\n    /**\n     * Creation date of the [Event](#schema_event) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Payload is the content of the event.\n     */\n    payload:\n      | {\n          type: \"custom\";\n          data: {\n            [k: string]: any;\n          };\n          [k: string]: any;\n        }\n      | {\n          type: \"conversation_started\";\n          data: {\n            [k: string]: {\n              [k: string]: any;\n            };\n          };\n          [k: string]: any;\n        };\n    /**\n     * ID of the [Conversation](#schema_conversation).\n     */\n    conversationId: string;\n    /**\n     * ID of the [User](#schema_user).\n     */\n    userId: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateFileRequestHeaders {\n  \"x-user-key\": string;\n}\n\nexport interface CreateFileRequestQuery {}\n\nexport interface CreateFileRequestParams {}\n\nexport interface CreateFileRequestBody {\n  /**\n   * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n   */\n  key: string;\n  /**\n   * File size in bytes. This will count against your File Storage quota. If the index parameter is set to true, this will also count against your Vector DB Storage quota.\n   */\n  size: number;\n  /**\n   * File access policies. Add \"public_content\" to allow public access to the file content. Add \"integrations\" to allow read, search and list operations for any integration installed in the bot.\n   */\n  accessPolicies?: (\"integrations\" | \"public_content\")[];\n  /**\n   * Whether the file should be indexed. If true, the file content will be searchable in the Vector DB. This will count against your Vector DB Storage quota.\n   */\n  index?: boolean;\n  /**\n   * File content type. If omitted, the content type will be inferred from the file extension (if any) specified in key. If a content type cannot be inferred, the default is \"application/octet-stream\".\n   */\n  contentType?: string;\n  /**\n   * File tags. These are used for search and filtering operations.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * The timestamp (in ISO 8601 format) when the file will be automatically deleted from the file API.\n   */\n  expiresAt?: string;\n}\n\nexport type CreateFileInput = CreateFileRequestBody & CreateFileRequestHeaders & CreateFileRequestQuery & CreateFileRequestParams\n\nexport type CreateFileRequest = {\n  headers: CreateFileRequestHeaders;\n  query: CreateFileRequestQuery;\n  params: CreateFileRequestParams;\n  body: CreateFileRequestBody;\n}\n\nexport const parseReq = (input: CreateFileInput): CreateFileRequest & { path: string } => {\n  return {\n    path: `/files`,\n    headers: { 'x-user-key': input['x-user-key'] },\n    query: {  },\n    params: {  },\n    body: { 'key': input['key'], 'size': input['size'], 'accessPolicies': input['accessPolicies'], 'index': input['index'], 'contentType': input['contentType'], 'tags': input['tags'], 'expiresAt': input['expiresAt'] },\n  }\n}\n\nexport interface CreateFileResponse {\n  file: {\n    id: string;\n    botId: string;\n    key: string;\n    size: number | null;\n    contentType: string;\n    tags: {\n      [k: string]: string;\n    };\n    createdAt: string;\n    updatedAt: string;\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    index: boolean;\n    url: string;\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    failedStatusReason?: string;\n    uploadUrl: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface InitializeConversationRequestHeaders {\n  \"x-user-key\"?: string;\n  \"x-admin-secret\"?: string;\n}\n\nexport interface InitializeConversationRequestQuery {\n  userId?: string;\n  conversationId?: string;\n}\n\nexport interface InitializeConversationRequestParams {}\n\nexport interface InitializeConversationRequestBody {}\n\nexport type InitializeConversationInput = InitializeConversationRequestBody & InitializeConversationRequestHeaders & InitializeConversationRequestQuery & InitializeConversationRequestParams\n\nexport type InitializeConversationRequest = {\n  headers: InitializeConversationRequestHeaders;\n  query: InitializeConversationRequestQuery;\n  params: InitializeConversationRequestParams;\n  body: InitializeConversationRequestBody;\n}\n\nexport const parseReq = (input: InitializeConversationInput): InitializeConversationRequest & { path: string } => {\n  return {\n    path: `/initialize`,\n    headers: { 'x-user-key': input['x-user-key'], 'x-admin-secret': input['x-admin-secret'] },\n    query: { 'userId': input['userId'], 'conversationId': input['conversationId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface InitializeConversationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SendPerfMetricsRequestHeaders {}\n\nexport interface SendPerfMetricsRequestQuery {}\n\nexport interface SendPerfMetricsRequestParams {}\n\nexport interface SendPerfMetricsRequestBody {\n  duration: number;\n  event: string;\n  properties: {\n    [k: string]: any;\n  };\n}\n\nexport type SendPerfMetricsInput = SendPerfMetricsRequestBody & SendPerfMetricsRequestHeaders & SendPerfMetricsRequestQuery & SendPerfMetricsRequestParams\n\nexport type SendPerfMetricsRequest = {\n  headers: SendPerfMetricsRequestHeaders;\n  query: SendPerfMetricsRequestQuery;\n  params: SendPerfMetricsRequestParams;\n  body: SendPerfMetricsRequestBody;\n}\n\nexport const parseReq = (input: SendPerfMetricsInput): SendPerfMetricsRequest & { path: string } => {\n  return {\n    path: `/p`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'duration': input['duration'], 'event': input['event'], 'properties': input['properties'] },\n  }\n}\n\nexport interface SendPerfMetricsResponse {}\n\n", "export type ListenStatus = 'keep-listening' | 'stop-listening'\n\nexport class EventEmitter<E extends object> {\n  private listeners: {\n    [K in keyof E]?: ((event: E[K]) => void)[]\n  } = {}\n\n  public emit<K extends keyof E>(type: K, event: E[K]) {\n    const listeners = this.listeners[type]\n    if (!listeners) {\n      return\n    }\n    for (const listener of [...listeners]) {\n      listener(event)\n    }\n  }\n\n  public onceOrMore<K extends keyof E>(type: K, listener: (event: E[K]) => ListenStatus) {\n    const wrapped = (event: E[K]) => {\n      const status = listener(event)\n      if (status === 'stop-listening') {\n        this.off(type, wrapped)\n      }\n    }\n    this.on(type, wrapped)\n  }\n\n  public once<K extends keyof E>(type: K, listener: (event: E[K]) => void) {\n    const wrapped = (event: E[K]) => {\n      this.off(type, wrapped)\n      listener(event)\n    }\n    this.on(type, wrapped)\n  }\n\n  public on<K extends keyof E>(type: K, listener: (event: E[K]) => void) {\n    if (!this.listeners[type]) {\n      this.listeners[type] = []\n    }\n    this.listeners[type]!.push(listener)\n  }\n\n  public off<K extends keyof E>(type: K, listener: (event: E[K]) => void) {\n    const listeners = this.listeners[type]\n    if (!listeners) {\n      return\n    }\n    const index = listeners.indexOf(listener)\n    if (index !== -1) {\n      listeners.splice(index, 1)\n    }\n  }\n\n  public cleanup() {\n    this.listeners = {}\n  }\n}\n", "import EventSource from 'event-source-polyfill'\nimport { EventEmitter } from './event-emitter'\n\ntype OnOpen = NonNullable<EventSource.EventSourcePolyfill['onopen']>\ntype OnMessage = NonNullable<EventSource.EventSourcePolyfill['onmessage']>\ntype OnError = NonNullable<EventSource.EventSourcePolyfill['onerror']>\n\nexport type OpenEvent = Parameters<OnOpen>[0]\nexport type MessageEvent = Parameters<OnMessage>[0]\nexport type ErrorEvent = Parameters<OnError>[0]\n\nexport type Events = {\n  open: OpenEvent\n  message: MessageEvent\n  error: ErrorEvent\n}\n\nexport type Props = {\n  headers?: Record<string, string>\n  timeout?: number\n}\n\nconst makeEventSource = (url: string, props: Props) => {\n  const source = new EventSource.EventSourcePolyfill(url, {\n    headers: props.headers,\n    heartbeatTimeout: props.timeout,\n  })\n  const emitter = new EventEmitter<Events>()\n  source.onopen = (ev) => emitter.emit('open', ev)\n  source.onmessage = (ev) => emitter.emit('message', ev)\n  source.onerror = (ev) => emitter.emit('error', ev)\n  return {\n    emitter,\n    source,\n  }\n}\n\nexport type EvSource = {\n  on: EventEmitter<Events>['on']\n  close: () => void\n}\n\nexport const listenEventSource = async (url: string, props: Props = {}): Promise<EvSource> => {\n  const { emitter, source } = makeEventSource(url, props)\n\n  await new Promise<void>((resolve, reject) => {\n    emitter.on('open', () => {\n      resolve()\n    })\n    emitter.on('error', (thrown) => {\n      reject(thrown)\n    })\n  }).finally(() => emitter.cleanup())\n\n  return {\n    on: emitter.on.bind(emitter),\n    close: () => {\n      emitter.cleanup()\n      source.close()\n    },\n  }\n}\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"message_created\"),\n    data: z\n      .object({\n        id: z.string().describe(\"Id of the [Message](#schema_message)\"),\n        createdAt: z\n          .string()\n          .datetime()\n          .describe(\n            \"Creation date of the [Message](#schema_message) in ISO 8601 format\"\n          ),\n        payload: z\n          .union([\n            z.object({\n              audioUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"audio\"),\n            }),\n            z.object({\n              title: z.string().min(1),\n              subtitle: z.string().min(1).optional(),\n              imageUrl: z.string().min(1).optional(),\n              actions: z.array(\n                z.object({\n                  action: z.enum([\"postback\", \"url\", \"say\"]),\n                  label: z.string().min(1),\n                  value: z.string().min(1),\n                })\n              ),\n              type: z.literal(\"card\"),\n            }),\n            z.object({\n              items: z.array(\n                z.object({\n                  title: z.string().min(1),\n                  subtitle: z.string().min(1).optional(),\n                  imageUrl: z.string().min(1).optional(),\n                  actions: z.array(\n                    z.object({\n                      action: z.enum([\"postback\", \"url\", \"say\"]),\n                      label: z.string().min(1),\n                      value: z.string().min(1),\n                    })\n                  ),\n                })\n              ),\n              type: z.literal(\"carousel\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              options: z.array(\n                z.object({ label: z.string().min(1), value: z.string().min(1) })\n              ),\n              disableFreeText: z.boolean().optional(),\n              type: z.literal(\"choice\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              options: z.array(\n                z.object({ label: z.string().min(1), value: z.string().min(1) })\n              ),\n              disableFreeText: z.boolean().optional(),\n              type: z.literal(\"dropdown\"),\n            }),\n            z.object({\n              fileUrl: z.string().min(1),\n              title: z.string().min(1).optional(),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"file\"),\n            }),\n            z.object({\n              imageUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"image\"),\n            }),\n            z.object({\n              latitude: z.number(),\n              longitude: z.number(),\n              address: z.string().optional(),\n              title: z.string().optional(),\n              type: z.literal(\"location\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              value: z.string().optional(),\n              type: z.literal(\"text\"),\n            }),\n            z.object({\n              videoUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"video\"),\n            }),\n            z.object({\n              items: z.array(\n                z.union([\n                  z.object({\n                    type: z.literal(\"text\"),\n                    payload: z.object({\n                      text: z.string().min(1),\n                      value: z.string().optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"markdown\"),\n                    payload: z.object({ markdown: z.string().min(1) }),\n                  }),\n                  z.object({\n                    type: z.literal(\"image\"),\n                    payload: z.object({\n                      imageUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"audio\"),\n                    payload: z.object({\n                      audioUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"video\"),\n                    payload: z.object({\n                      videoUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"file\"),\n                    payload: z.object({\n                      fileUrl: z.string().min(1),\n                      title: z.string().min(1).optional(),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"location\"),\n                    payload: z.object({\n                      latitude: z.number(),\n                      longitude: z.number(),\n                      address: z.string().optional(),\n                      title: z.string().optional(),\n                    }),\n                  }),\n                ])\n              ),\n              type: z.literal(\"bloc\"),\n            }),\n            z.object({\n              markdown: z.string().min(1),\n              type: z.literal(\"markdown\"),\n            }),\n            z.object({\n              url: z.string(),\n              name: z.string(),\n              data: z.union([z.any(), z.null()]).optional(),\n              type: z.literal(\"custom\"),\n            }),\n          ])\n          .describe(\"Payload is the content of the message.\"),\n        userId: z.string().describe(\"ID of the [User](#schema_user)\"),\n        conversationId: z\n          .string()\n          .describe(\"ID of the [Conversation](#schema_conversation)\"),\n        metadata: z\n          .record(z.union([z.any(), z.null()]))\n          .describe(\"Metadata of the message\")\n          .optional(),\n        replyTo: z\n          .string()\n          .describe(\"ID of the message this message is replying to\")\n          .optional(),\n        selectedBy: z\n          .string()\n          .describe(\n            \"ID of the user who selected this message. Undefined if not selected.\"\n          )\n          .optional(),\n        feedback: z\n          .object({\n            value: z.enum([\"positive\", \"negative\"]),\n            comment: z.string().optional(),\n          })\n          \n          .describe(\"Feedback of the message\")\n          .optional(),\n      })\n      \n      .describe(\n        \"The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\"\n      ),\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"message_updated\"),\n    data: z\n      .object({\n        id: z.string().describe(\"Id of the [Message](#schema_message)\"),\n        createdAt: z\n          .string()\n          .datetime()\n          .describe(\n            \"Creation date of the [Message](#schema_message) in ISO 8601 format\"\n          ),\n        payload: z\n          .union([\n            z.object({\n              audioUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"audio\"),\n            }),\n            z.object({\n              title: z.string().min(1),\n              subtitle: z.string().min(1).optional(),\n              imageUrl: z.string().min(1).optional(),\n              actions: z.array(\n                z.object({\n                  action: z.enum([\"postback\", \"url\", \"say\"]),\n                  label: z.string().min(1),\n                  value: z.string().min(1),\n                })\n              ),\n              type: z.literal(\"card\"),\n            }),\n            z.object({\n              items: z.array(\n                z.object({\n                  title: z.string().min(1),\n                  subtitle: z.string().min(1).optional(),\n                  imageUrl: z.string().min(1).optional(),\n                  actions: z.array(\n                    z.object({\n                      action: z.enum([\"postback\", \"url\", \"say\"]),\n                      label: z.string().min(1),\n                      value: z.string().min(1),\n                    })\n                  ),\n                })\n              ),\n              type: z.literal(\"carousel\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              options: z.array(\n                z.object({ label: z.string().min(1), value: z.string().min(1) })\n              ),\n              disableFreeText: z.boolean().optional(),\n              type: z.literal(\"choice\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              options: z.array(\n                z.object({ label: z.string().min(1), value: z.string().min(1) })\n              ),\n              disableFreeText: z.boolean().optional(),\n              type: z.literal(\"dropdown\"),\n            }),\n            z.object({\n              fileUrl: z.string().min(1),\n              title: z.string().min(1).optional(),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"file\"),\n            }),\n            z.object({\n              imageUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"image\"),\n            }),\n            z.object({\n              latitude: z.number(),\n              longitude: z.number(),\n              address: z.string().optional(),\n              title: z.string().optional(),\n              type: z.literal(\"location\"),\n            }),\n            z.object({\n              text: z.string().min(1),\n              value: z.string().optional(),\n              type: z.literal(\"text\"),\n            }),\n            z.object({\n              videoUrl: z.string().min(1),\n              fileId: z.string().min(1).optional(),\n              type: z.literal(\"video\"),\n            }),\n            z.object({\n              items: z.array(\n                z.union([\n                  z.object({\n                    type: z.literal(\"text\"),\n                    payload: z.object({\n                      text: z.string().min(1),\n                      value: z.string().optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"markdown\"),\n                    payload: z.object({ markdown: z.string().min(1) }),\n                  }),\n                  z.object({\n                    type: z.literal(\"image\"),\n                    payload: z.object({\n                      imageUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"audio\"),\n                    payload: z.object({\n                      audioUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"video\"),\n                    payload: z.object({\n                      videoUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"file\"),\n                    payload: z.object({\n                      fileUrl: z.string().min(1),\n                      title: z.string().min(1).optional(),\n                      fileId: z.string().min(1).optional(),\n                    }),\n                  }),\n                  z.object({\n                    type: z.literal(\"location\"),\n                    payload: z.object({\n                      latitude: z.number(),\n                      longitude: z.number(),\n                      address: z.string().optional(),\n                      title: z.string().optional(),\n                    }),\n                  }),\n                ])\n              ),\n              type: z.literal(\"bloc\"),\n            }),\n            z.object({\n              markdown: z.string().min(1),\n              type: z.literal(\"markdown\"),\n            }),\n            z.object({\n              url: z.string(),\n              name: z.string(),\n              data: z.union([z.any(), z.null()]).optional(),\n              type: z.literal(\"custom\"),\n            }),\n          ])\n          .describe(\"Payload is the content of the message.\"),\n        userId: z.string().describe(\"ID of the [User](#schema_user)\"),\n        conversationId: z\n          .string()\n          .describe(\"ID of the [Conversation](#schema_conversation)\"),\n        metadata: z\n          .record(z.union([z.any(), z.null()]))\n          .describe(\"Metadata of the message\")\n          .optional(),\n        replyTo: z\n          .string()\n          .describe(\"ID of the message this message is replying to\")\n          .optional(),\n        selectedBy: z\n          .string()\n          .describe(\n            \"ID of the user who selected this message. Undefined if not selected.\"\n          )\n          .optional(),\n        feedback: z\n          .object({\n            value: z.enum([\"positive\", \"negative\"]),\n            comment: z.string().optional(),\n          })\n          \n          .describe(\"Feedback of the message\")\n          .optional(),\n      })\n      \n      .describe(\n        \"The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\"\n      ),\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"webchat_visibility\"),\n    data: z\n      .object({\n        visibility: z.union([\n          z.literal(\"show\"),\n          z.literal(\"hide\"),\n          z.literal(\"toggle\"),\n        ]),\n      })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"webchat_config\"),\n    data: z\n      .object({ config: z.record(z.union([z.any(), z.null()])) })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"custom\"),\n    data: z\n      .object({ event: z.record(z.union([z.any(), z.null()])) })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"typing_started\"),\n    data: z.object({ timeout: z.number().optional() }),\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({ type: z.literal(\"typing_stopped\"), data: z.record(z.never()) })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"participant_added\"),\n    data: z\n      .object({\n        conversationId: z.string(),\n        participant: z\n          .object({\n            name: z\n              .string()\n              .describe(\"Name of the [User](#schema_user)\")\n              .optional(),\n            pictureUrl: z\n              .string()\n              .describe(\"Picture url of the [User](#schema_user)\")\n              .optional(),\n            data: z.record(z.any()).describe(\"User data\").optional(),\n            attributes: z\n              .record(z.string())\n              .describe(\"Custom attributes of the user\")\n              .optional(),\n            id: z.string().describe(\"Id of the [User](#schema_user)\"),\n            createdAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Creation date of the [User](#schema_user) in ISO 8601 format\"\n              ),\n            updatedAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Updating date of the [User](#schema_user) in ISO 8601 format\"\n              ),\n          })\n          \n          .describe(\n            \"The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\"\n          ),\n      })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"participant_removed\"),\n    data: z\n      .object({ conversationId: z.string(), participantId: z.string() })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"message_status_changed\"),\n    data: z\n      .object({\n        message: z\n          .object({\n            id: z.string().describe(\"Id of the [Message](#schema_message)\"),\n            createdAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Creation date of the [Message](#schema_message) in ISO 8601 format\"\n              ),\n            payload: z\n              .union([\n                z.object({\n                  audioUrl: z.string().min(1),\n                  fileId: z.string().min(1).optional(),\n                  type: z.literal(\"audio\"),\n                }),\n                z.object({\n                  title: z.string().min(1),\n                  subtitle: z.string().min(1).optional(),\n                  imageUrl: z.string().min(1).optional(),\n                  actions: z.array(\n                    z.object({\n                      action: z.enum([\"postback\", \"url\", \"say\"]),\n                      label: z.string().min(1),\n                      value: z.string().min(1),\n                    })\n                  ),\n                  type: z.literal(\"card\"),\n                }),\n                z.object({\n                  items: z.array(\n                    z.object({\n                      title: z.string().min(1),\n                      subtitle: z.string().min(1).optional(),\n                      imageUrl: z.string().min(1).optional(),\n                      actions: z.array(\n                        z.object({\n                          action: z.enum([\"postback\", \"url\", \"say\"]),\n                          label: z.string().min(1),\n                          value: z.string().min(1),\n                        })\n                      ),\n                    })\n                  ),\n                  type: z.literal(\"carousel\"),\n                }),\n                z.object({\n                  text: z.string().min(1),\n                  options: z.array(\n                    z.object({\n                      label: z.string().min(1),\n                      value: z.string().min(1),\n                    })\n                  ),\n                  disableFreeText: z.boolean().optional(),\n                  type: z.literal(\"choice\"),\n                }),\n                z.object({\n                  text: z.string().min(1),\n                  options: z.array(\n                    z.object({\n                      label: z.string().min(1),\n                      value: z.string().min(1),\n                    })\n                  ),\n                  disableFreeText: z.boolean().optional(),\n                  type: z.literal(\"dropdown\"),\n                }),\n                z.object({\n                  fileUrl: z.string().min(1),\n                  title: z.string().min(1).optional(),\n                  fileId: z.string().min(1).optional(),\n                  type: z.literal(\"file\"),\n                }),\n                z.object({\n                  imageUrl: z.string().min(1),\n                  fileId: z.string().min(1).optional(),\n                  type: z.literal(\"image\"),\n                }),\n                z.object({\n                  latitude: z.number(),\n                  longitude: z.number(),\n                  address: z.string().optional(),\n                  title: z.string().optional(),\n                  type: z.literal(\"location\"),\n                }),\n                z.object({\n                  text: z.string().min(1),\n                  value: z.string().optional(),\n                  type: z.literal(\"text\"),\n                }),\n                z.object({\n                  videoUrl: z.string().min(1),\n                  fileId: z.string().min(1).optional(),\n                  type: z.literal(\"video\"),\n                }),\n                z.object({\n                  items: z.array(\n                    z.union([\n                      z.object({\n                        type: z.literal(\"text\"),\n                        payload: z.object({\n                          text: z.string().min(1),\n                          value: z.string().optional(),\n                        }),\n                      }),\n                      z.object({\n                        type: z.literal(\"markdown\"),\n                        payload: z.object({ markdown: z.string().min(1) }),\n                      }),\n                      z.object({\n                        type: z.literal(\"image\"),\n                        payload: z.object({\n                          imageUrl: z.string().min(1),\n                          fileId: z.string().min(1).optional(),\n                        }),\n                      }),\n                      z.object({\n                        type: z.literal(\"audio\"),\n                        payload: z.object({\n                          audioUrl: z.string().min(1),\n                          fileId: z.string().min(1).optional(),\n                        }),\n                      }),\n                      z.object({\n                        type: z.literal(\"video\"),\n                        payload: z.object({\n                          videoUrl: z.string().min(1),\n                          fileId: z.string().min(1).optional(),\n                        }),\n                      }),\n                      z.object({\n                        type: z.literal(\"file\"),\n                        payload: z.object({\n                          fileUrl: z.string().min(1),\n                          title: z.string().min(1).optional(),\n                          fileId: z.string().min(1).optional(),\n                        }),\n                      }),\n                      z.object({\n                        type: z.literal(\"location\"),\n                        payload: z.object({\n                          latitude: z.number(),\n                          longitude: z.number(),\n                          address: z.string().optional(),\n                          title: z.string().optional(),\n                        }),\n                      }),\n                    ])\n                  ),\n                  type: z.literal(\"bloc\"),\n                }),\n                z.object({\n                  markdown: z.string().min(1),\n                  type: z.literal(\"markdown\"),\n                }),\n                z.object({\n                  url: z.string(),\n                  name: z.string(),\n                  data: z.union([z.any(), z.null()]).optional(),\n                  type: z.literal(\"custom\"),\n                }),\n              ])\n              .describe(\"Payload is the content of the message.\"),\n            userId: z.string().describe(\"ID of the [User](#schema_user)\"),\n            conversationId: z\n              .string()\n              .describe(\"ID of the [Conversation](#schema_conversation)\"),\n            metadata: z\n              .record(z.union([z.any(), z.null()]))\n              .describe(\"Metadata of the message\")\n              .optional(),\n            replyTo: z\n              .string()\n              .describe(\"ID of the message this message is replying to\")\n              .optional(),\n            selectedBy: z\n              .string()\n              .describe(\n                \"ID of the user who selected this message. Undefined if not selected.\"\n              )\n              .optional(),\n            feedback: z\n              .object({\n                value: z.enum([\"positive\", \"negative\"]),\n                comment: z.string().optional(),\n              })\n              \n              .describe(\"Feedback of the message\")\n              .optional(),\n          })\n          \n          .describe(\n            \"The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\"\n          ),\n        oldStatus: z\n          .enum([\n            \"scheduled\",\n            \"pending\",\n            \"processing\",\n            \"processed\",\n            \"failed\",\n            \"skipped\",\n          ])\n          .optional(),\n        newStatus: z.enum([\n          \"scheduled\",\n          \"pending\",\n          \"processing\",\n          \"processed\",\n          \"failed\",\n          \"skipped\",\n        ]),\n        failureReason: z.string().optional(),\n      })\n      ,\n  })\n  ;\n", "import { z } from \"zod\";\n\nexport default z\n  .object({\n    type: z.literal(\"init\"),\n    data: z\n      .object({\n        conversation: z\n          .object({\n            id: z\n              .string()\n              .describe(\"Id of the [Conversation](#schema_conversation)\"),\n            createdAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Creation date of the [Conversation](#schema_conversation) in ISO 8601 format\"\n              ),\n            updatedAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Updating date of the [Conversation](#schema_conversation) in ISO 8601 format\"\n              ),\n            lastMessage: z\n              .object({\n                id: z.string().describe(\"Id of the [Message](#schema_message)\"),\n                createdAt: z\n                  .string()\n                  .datetime()\n                  .describe(\n                    \"Creation date of the [Message](#schema_message) in ISO 8601 format\"\n                  ),\n                payload: z\n                  .union([\n                    z.object({\n                      audioUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                      type: z.literal(\"audio\"),\n                    }),\n                    z.object({\n                      title: z.string().min(1),\n                      subtitle: z.string().min(1).optional(),\n                      imageUrl: z.string().min(1).optional(),\n                      actions: z.array(\n                        z.object({\n                          action: z.enum([\"postback\", \"url\", \"say\"]),\n                          label: z.string().min(1),\n                          value: z.string().min(1),\n                        })\n                      ),\n                      type: z.literal(\"card\"),\n                    }),\n                    z.object({\n                      items: z.array(\n                        z.object({\n                          title: z.string().min(1),\n                          subtitle: z.string().min(1).optional(),\n                          imageUrl: z.string().min(1).optional(),\n                          actions: z.array(\n                            z.object({\n                              action: z.enum([\"postback\", \"url\", \"say\"]),\n                              label: z.string().min(1),\n                              value: z.string().min(1),\n                            })\n                          ),\n                        })\n                      ),\n                      type: z.literal(\"carousel\"),\n                    }),\n                    z.object({\n                      text: z.string().min(1),\n                      options: z.array(\n                        z.object({\n                          label: z.string().min(1),\n                          value: z.string().min(1),\n                        })\n                      ),\n                      disableFreeText: z.boolean().optional(),\n                      type: z.literal(\"choice\"),\n                    }),\n                    z.object({\n                      text: z.string().min(1),\n                      options: z.array(\n                        z.object({\n                          label: z.string().min(1),\n                          value: z.string().min(1),\n                        })\n                      ),\n                      disableFreeText: z.boolean().optional(),\n                      type: z.literal(\"dropdown\"),\n                    }),\n                    z.object({\n                      fileUrl: z.string().min(1),\n                      title: z.string().min(1).optional(),\n                      fileId: z.string().min(1).optional(),\n                      type: z.literal(\"file\"),\n                    }),\n                    z.object({\n                      imageUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                      type: z.literal(\"image\"),\n                    }),\n                    z.object({\n                      latitude: z.number(),\n                      longitude: z.number(),\n                      address: z.string().optional(),\n                      title: z.string().optional(),\n                      type: z.literal(\"location\"),\n                    }),\n                    z.object({\n                      text: z.string().min(1),\n                      value: z.string().optional(),\n                      type: z.literal(\"text\"),\n                    }),\n                    z.object({\n                      videoUrl: z.string().min(1),\n                      fileId: z.string().min(1).optional(),\n                      type: z.literal(\"video\"),\n                    }),\n                    z.object({\n                      items: z.array(\n                        z.union([\n                          z.object({\n                            type: z.literal(\"text\"),\n                            payload: z.object({\n                              text: z.string().min(1),\n                              value: z.string().optional(),\n                            }),\n                          }),\n                          z.object({\n                            type: z.literal(\"markdown\"),\n                            payload: z.object({ markdown: z.string().min(1) }),\n                          }),\n                          z.object({\n                            type: z.literal(\"image\"),\n                            payload: z.object({\n                              imageUrl: z.string().min(1),\n                              fileId: z.string().min(1).optional(),\n                            }),\n                          }),\n                          z.object({\n                            type: z.literal(\"audio\"),\n                            payload: z.object({\n                              audioUrl: z.string().min(1),\n                              fileId: z.string().min(1).optional(),\n                            }),\n                          }),\n                          z.object({\n                            type: z.literal(\"video\"),\n                            payload: z.object({\n                              videoUrl: z.string().min(1),\n                              fileId: z.string().min(1).optional(),\n                            }),\n                          }),\n                          z.object({\n                            type: z.literal(\"file\"),\n                            payload: z.object({\n                              fileUrl: z.string().min(1),\n                              title: z.string().min(1).optional(),\n                              fileId: z.string().min(1).optional(),\n                            }),\n                          }),\n                          z.object({\n                            type: z.literal(\"location\"),\n                            payload: z.object({\n                              latitude: z.number(),\n                              longitude: z.number(),\n                              address: z.string().optional(),\n                              title: z.string().optional(),\n                            }),\n                          }),\n                        ])\n                      ),\n                      type: z.literal(\"bloc\"),\n                    }),\n                    z.object({\n                      markdown: z.string().min(1),\n                      type: z.literal(\"markdown\"),\n                    }),\n                    z.object({\n                      url: z.string(),\n                      name: z.string(),\n                      data: z.union([z.any(), z.null()]).optional(),\n                      type: z.literal(\"custom\"),\n                    }),\n                  ])\n                  .describe(\"Payload is the content of the message.\"),\n                userId: z.string().describe(\"ID of the [User](#schema_user)\"),\n                conversationId: z\n                  .string()\n                  .describe(\"ID of the [Conversation](#schema_conversation)\"),\n                metadata: z\n                  .record(z.union([z.any(), z.null()]))\n                  .describe(\"Metadata of the message\")\n                  .optional(),\n                replyTo: z\n                  .string()\n                  .describe(\"ID of the message this message is replying to\")\n                  .optional(),\n                selectedBy: z\n                  .string()\n                  .describe(\n                    \"ID of the user who selected this message. Undefined if not selected.\"\n                  )\n                  .optional(),\n                feedback: z\n                  .object({\n                    value: z.enum([\"positive\", \"negative\"]),\n                    comment: z.string().optional(),\n                  })\n                  \n                  .describe(\"Feedback of the message\")\n                  .optional(),\n              })\n              \n              .describe(\n                \"The last [Message](#schema_message) sent in the [Conversation](#schema_conversation)\"\n              )\n              .optional(),\n          })\n          ,\n        messages: z.array(\n          z\n            .object({\n              id: z.string().describe(\"Id of the [Message](#schema_message)\"),\n              createdAt: z\n                .string()\n                .datetime()\n                .describe(\n                  \"Creation date of the [Message](#schema_message) in ISO 8601 format\"\n                ),\n              payload: z\n                .union([\n                  z.object({\n                    audioUrl: z.string().min(1),\n                    fileId: z.string().min(1).optional(),\n                    type: z.literal(\"audio\"),\n                  }),\n                  z.object({\n                    title: z.string().min(1),\n                    subtitle: z.string().min(1).optional(),\n                    imageUrl: z.string().min(1).optional(),\n                    actions: z.array(\n                      z.object({\n                        action: z.enum([\"postback\", \"url\", \"say\"]),\n                        label: z.string().min(1),\n                        value: z.string().min(1),\n                      })\n                    ),\n                    type: z.literal(\"card\"),\n                  }),\n                  z.object({\n                    items: z.array(\n                      z.object({\n                        title: z.string().min(1),\n                        subtitle: z.string().min(1).optional(),\n                        imageUrl: z.string().min(1).optional(),\n                        actions: z.array(\n                          z.object({\n                            action: z.enum([\"postback\", \"url\", \"say\"]),\n                            label: z.string().min(1),\n                            value: z.string().min(1),\n                          })\n                        ),\n                      })\n                    ),\n                    type: z.literal(\"carousel\"),\n                  }),\n                  z.object({\n                    text: z.string().min(1),\n                    options: z.array(\n                      z.object({\n                        label: z.string().min(1),\n                        value: z.string().min(1),\n                      })\n                    ),\n                    disableFreeText: z.boolean().optional(),\n                    type: z.literal(\"choice\"),\n                  }),\n                  z.object({\n                    text: z.string().min(1),\n                    options: z.array(\n                      z.object({\n                        label: z.string().min(1),\n                        value: z.string().min(1),\n                      })\n                    ),\n                    disableFreeText: z.boolean().optional(),\n                    type: z.literal(\"dropdown\"),\n                  }),\n                  z.object({\n                    fileUrl: z.string().min(1),\n                    title: z.string().min(1).optional(),\n                    fileId: z.string().min(1).optional(),\n                    type: z.literal(\"file\"),\n                  }),\n                  z.object({\n                    imageUrl: z.string().min(1),\n                    fileId: z.string().min(1).optional(),\n                    type: z.literal(\"image\"),\n                  }),\n                  z.object({\n                    latitude: z.number(),\n                    longitude: z.number(),\n                    address: z.string().optional(),\n                    title: z.string().optional(),\n                    type: z.literal(\"location\"),\n                  }),\n                  z.object({\n                    text: z.string().min(1),\n                    value: z.string().optional(),\n                    type: z.literal(\"text\"),\n                  }),\n                  z.object({\n                    videoUrl: z.string().min(1),\n                    fileId: z.string().min(1).optional(),\n                    type: z.literal(\"video\"),\n                  }),\n                  z.object({\n                    items: z.array(\n                      z.union([\n                        z.object({\n                          type: z.literal(\"text\"),\n                          payload: z.object({\n                            text: z.string().min(1),\n                            value: z.string().optional(),\n                          }),\n                        }),\n                        z.object({\n                          type: z.literal(\"markdown\"),\n                          payload: z.object({ markdown: z.string().min(1) }),\n                        }),\n                        z.object({\n                          type: z.literal(\"image\"),\n                          payload: z.object({\n                            imageUrl: z.string().min(1),\n                            fileId: z.string().min(1).optional(),\n                          }),\n                        }),\n                        z.object({\n                          type: z.literal(\"audio\"),\n                          payload: z.object({\n                            audioUrl: z.string().min(1),\n                            fileId: z.string().min(1).optional(),\n                          }),\n                        }),\n                        z.object({\n                          type: z.literal(\"video\"),\n                          payload: z.object({\n                            videoUrl: z.string().min(1),\n                            fileId: z.string().min(1).optional(),\n                          }),\n                        }),\n                        z.object({\n                          type: z.literal(\"file\"),\n                          payload: z.object({\n                            fileUrl: z.string().min(1),\n                            title: z.string().min(1).optional(),\n                            fileId: z.string().min(1).optional(),\n                          }),\n                        }),\n                        z.object({\n                          type: z.literal(\"location\"),\n                          payload: z.object({\n                            latitude: z.number(),\n                            longitude: z.number(),\n                            address: z.string().optional(),\n                            title: z.string().optional(),\n                          }),\n                        }),\n                      ])\n                    ),\n                    type: z.literal(\"bloc\"),\n                  }),\n                  z.object({\n                    markdown: z.string().min(1),\n                    type: z.literal(\"markdown\"),\n                  }),\n                  z.object({\n                    url: z.string(),\n                    name: z.string(),\n                    data: z.union([z.any(), z.null()]).optional(),\n                    type: z.literal(\"custom\"),\n                  }),\n                ])\n                .describe(\"Payload is the content of the message.\"),\n              userId: z.string().describe(\"ID of the [User](#schema_user)\"),\n              conversationId: z\n                .string()\n                .describe(\"ID of the [Conversation](#schema_conversation)\"),\n              metadata: z\n                .record(z.union([z.any(), z.null()]))\n                .describe(\"Metadata of the message\")\n                .optional(),\n              replyTo: z\n                .string()\n                .describe(\"ID of the message this message is replying to\")\n                .optional(),\n              selectedBy: z\n                .string()\n                .describe(\n                  \"ID of the user who selected this message. Undefined if not selected.\"\n                )\n                .optional(),\n              feedback: z\n                .object({\n                  value: z.enum([\"positive\", \"negative\"]),\n                  comment: z.string().optional(),\n                })\n                .describe(\"Feedback of the message\")\n                .optional(),\n            })\n            .describe(\n              \"The Message object represents a message in a [Conversation](#schema_conversation) for a specific [User](#schema_user).\"\n            )\n        ),\n        participants: z.array(\n          z\n            .object({\n              name: z\n                .string()\n                .describe(\"Name of the [User](#schema_user)\")\n                .optional(),\n              pictureUrl: z\n                .string()\n                .describe(\"Picture url of the [User](#schema_user)\")\n                .optional(),\n              data: z.record(z.any()).describe(\"User data\").optional(),\n              attributes: z\n                .record(z.string())\n                .describe(\"Custom attributes of the user\")\n                .optional(),\n              id: z.string().describe(\"Id of the [User](#schema_user)\"),\n              createdAt: z\n                .string()\n                .datetime()\n                .describe(\n                  \"Creation date of the [User](#schema_user) in ISO 8601 format\"\n                ),\n              updatedAt: z\n                .string()\n                .datetime()\n                .describe(\n                  \"Updating date of the [User](#schema_user) in ISO 8601 format\"\n                ),\n            })\n            .describe(\n              \"The user object represents someone interacting with the bot within a specific integration. The same person interacting with a bot in slack and messenger will be represented with two different users.\"\n            )\n        ),\n        user: z\n          .object({\n            name: z\n              .string()\n              .describe(\"Name of the [User](#schema_user)\")\n              .optional(),\n            pictureUrl: z\n              .string()\n              .describe(\"Picture url of the [User](#schema_user)\")\n              .optional(),\n            data: z.record(z.any()).describe(\"User data\").optional(),\n            attributes: z\n              .record(z.string())\n              .describe(\"Custom attributes of the user\")\n              .optional(),\n            id: z.string().describe(\"Id of the [User](#schema_user)\"),\n            createdAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Creation date of the [User](#schema_user) in ISO 8601 format\"\n              ),\n            updatedAt: z\n              .string()\n              .datetime()\n              .describe(\n                \"Updating date of the [User](#schema_user) in ISO 8601 format\"\n              ),\n            userKey: z.string(),\n          })\n          ,\n      })\n      ,\n  })\n  ;\n", "import json_messageCreated from './messageCreated.j'\nimport json_messageUpdated from './messageUpdated.j'\nimport json_webchatVisibility from './webchatVisibility.j'\nimport json_webchatConfig from './webchatConfig.j'\nimport json_custom from './custom.j'\nimport json_typingStarted from './typingStarted.j'\nimport json_typingStopped from './typingStopped.j'\nimport json_participantAdded from './participantAdded.j'\nimport json_participantRemoved from './participantRemoved.j'\nimport json_messageStatusChanged from './messageStatusChanged.j'\nimport json_initialized from './initialized.j'\nimport zod_messageCreated from './messageCreated.z'\nimport zod_messageUpdated from './messageUpdated.z'\nimport zod_webchatVisibility from './webchatVisibility.z'\nimport zod_webchatConfig from './webchatConfig.z'\nimport zod_custom from './custom.z'\nimport zod_typingStarted from './typingStarted.z'\nimport zod_typingStopped from './typingStopped.z'\nimport zod_participantAdded from './participantAdded.z'\nimport zod_participantRemoved from './participantRemoved.z'\nimport zod_messageStatusChanged from './messageStatusChanged.z'\nimport zod_initialized from './initialized.z'\nimport type { MessageCreated } from './messageCreated.t'\nimport type { MessageUpdated } from './messageUpdated.t'\nimport type { WebchatVisibility } from './webchatVisibility.t'\nimport type { WebchatConfig } from './webchatConfig.t'\nimport type { Custom } from './custom.t'\nimport type { TypingStarted } from './typingStarted.t'\nimport type { TypingStopped } from './typingStopped.t'\nimport type { ParticipantAdded } from './participantAdded.t'\nimport type { ParticipantRemoved } from './participantRemoved.t'\nimport type { MessageStatusChanged } from './messageStatusChanged.t'\nimport type { Initialized } from './initialized.t'\n\nexport const json = {\n  messageCreated: json_messageCreated,\n  messageUpdated: json_messageUpdated,\n  webchatVisibility: json_webchatVisibility,\n  webchatConfig: json_webchatConfig,\n  custom: json_custom,\n  typingStarted: json_typingStarted,\n  typingStopped: json_typingStopped,\n  participantAdded: json_participantAdded,\n  participantRemoved: json_participantRemoved,\n  messageStatusChanged: json_messageStatusChanged,\n  initialized: json_initialized,\n}\n\nexport const zod = {\n  messageCreated: zod_messageCreated,\n  messageUpdated: zod_messageUpdated,\n  webchatVisibility: zod_webchatVisibility,\n  webchatConfig: zod_webchatConfig,\n  custom: zod_custom,\n  typingStarted: zod_typingStarted,\n  typingStopped: zod_typingStopped,\n  participantAdded: zod_participantAdded,\n  participantRemoved: zod_participantRemoved,\n  messageStatusChanged: zod_messageStatusChanged,\n  initialized: zod_initialized,\n}\n\nexport type Types = {\n  messageCreated: MessageCreated\n  messageUpdated: MessageUpdated\n  webchatVisibility: WebchatVisibility\n  webchatConfig: WebchatConfig\n  custom: Custom\n  typingStarted: TypingStarted\n  typingStopped: TypingStopped\n  participantAdded: ParticipantAdded\n  participantRemoved: ParticipantRemoved\n  messageStatusChanged: MessageStatusChanged\n  initialized: Initialized\n}", "import { EventEmitter } from './event-emitter'\nimport { listenEventSource, EvSource, MessageEvent, ErrorEvent } from './eventsource'\nimport { zod as signals, Types } from './gen/signals'\n\nconst DEFAULT_ERROR_MESSAGE = 'unknown error'\n\ntype ValueOf<T> = T[keyof T]\n\ntype Signals = Types & {\n  unknown: {\n    type: 'unknown'\n    data: unknown\n  }\n}\n\ntype SignalMap = {\n  [K in keyof Signals as Signals[K]['type']]: Signals[K]['data']\n}\n\nexport type Events = SignalMap & {\n  error: Error\n}\n\ntype SignalListenerState =\n  | {\n      status: 'disconnected'\n    }\n  | {\n      status: 'connecting'\n      connectionPromise: Promise<EvSource>\n    }\n  | {\n      status: 'connected'\n      source: EvSource\n    }\n\nexport type SignalListenerStatus = SignalListenerState['status']\n\ntype ListenProps = {\n  url: string\n  userKey: string\n  conversationId: string\n  timeout?: number\n}\n\ntype InitializeProps = {\n  url: string\n  userKey?: string\n  conversationId?: string\n  timeout?: number\n}\n\ntype SignalListenerProps = {\n  url: URL\n  headers: Record<string, string> | undefined\n  timeout?: number\n}\n\nexport class SignalListener extends EventEmitter<Events> {\n  private _state: SignalListenerState = { status: 'disconnected' }\n\n  private constructor(private _props: SignalListenerProps) {\n    super()\n  }\n\n  public static listen = async (props: ListenProps): Promise<SignalListener> => {\n    const url = new URL(`${props.url}/conversations/${props.conversationId}/listen`)\n    const headers = { 'x-user-key': props.userKey }\n\n    const inst = new SignalListener({ url, headers })\n    await inst.connect()\n    return inst\n  }\n\n  public static initialize = async (props: InitializeProps): Promise<SignalListener> => {\n    const url = new URL(`${props.url}/initialize`)\n    if (props.conversationId) {\n      url.searchParams.set('conversationId', props.conversationId)\n    }\n    const headers = props.userKey ? { 'x-user-key': props.userKey } : undefined\n\n    const inst = new SignalListener({ url, headers })\n    await inst.connect()\n    return inst\n  }\n\n  public get status(): SignalListenerStatus {\n    return this._state.status\n  }\n\n  public readonly connect = async (): Promise<void> => {\n    if (this._state.status === 'connected') {\n      return\n    }\n\n    if (this._state.status === 'connecting') {\n      await this._state.connectionPromise\n      return\n    }\n\n    const connectionPromise = this._connect()\n\n    this._state = { status: 'connecting', connectionPromise }\n\n    await connectionPromise\n  }\n\n  public readonly disconnect = async (): Promise<void> => {\n    if (this._state.status === 'disconnected') {\n      return\n    }\n\n    let source: EvSource\n    if (this._state.status === 'connecting') {\n      source = await this._state.connectionPromise\n    } else {\n      source = this._state.source\n    }\n\n    this._disconnectSync(source)\n  }\n\n  private _connect = async (): Promise<EvSource> => {\n    const source = await listenEventSource(this._props.url.toString(), {\n      headers: this._props.headers,\n      timeout: this._props.timeout,\n    })\n\n    source.on('message', this._handleMessage)\n    source.on('error', this._handleError(source))\n\n    this._state = { status: 'connected', source }\n    return source\n  }\n\n  private _disconnectSync = (source: EvSource): void => {\n    source.close()\n    this._state = { status: 'disconnected' }\n  }\n\n  private _handleMessage = (ev: MessageEvent) => {\n    const signal = this._parseSignal(ev.data)\n    this.emit(signal.type, signal.data)\n  }\n\n  private _handleError = (source: EvSource) => (ev: ErrorEvent) => {\n    this._disconnectSync(source)\n    const err = this._toError(ev)\n    this.emit('error', err)\n  }\n\n  private _parseSignal = (data: unknown): ValueOf<Signals> => {\n    for (const schema of Object.values(signals)) {\n      const parsedData = this._safeJsonParse(data)\n      const parseResult = schema.safeParse(parsedData)\n      if (parseResult.success) {\n        return parseResult.data\n      }\n    }\n    return {\n      type: 'unknown',\n      data,\n    }\n  }\n\n  private _safeJsonParse = (x: any) => {\n    try {\n      return JSON.parse(x)\n    } catch {\n      return x\n    }\n  }\n\n  private _toError = (thrown: unknown): Error => {\n    if (thrown instanceof Error) {\n      return thrown\n    }\n    if (typeof thrown === 'string') {\n      return new Error(thrown)\n    }\n    if (thrown === null) {\n      return new Error(DEFAULT_ERROR_MESSAGE)\n    }\n    if (typeof thrown === 'object' && 'message' in thrown) {\n      return this._toError(thrown.message)\n    }\n    try {\n      const json = JSON.stringify(thrown)\n      return new Error(json)\n    } catch {\n      return new Error(DEFAULT_ERROR_MESSAGE)\n    }\n  }\n}\n"],
  "mappings": "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",
  "names": ["Client", "import_axios", "crypto", "qs", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "parseReq", "axios", "EventSource", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "import_zod", "Client", "axios"]
}
