{
  "version": 3,
  "sources": ["../../../node_modules/.pnpm/is-retry-allowed@2.2.0/node_modules/is-retry-allowed/index.js", "../../../node_modules/.pnpm/es-object-atoms@1.0.0/node_modules/es-object-atoms/index.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/index.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/eval.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/range.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/ref.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/syntax.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/type.js", "../../../node_modules/.pnpm/es-errors@1.3.0/node_modules/es-errors/uri.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/abs.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/floor.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/max.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/min.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/pow.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/round.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/isNaN.js", "../../../node_modules/.pnpm/math-intrinsics@1.1.0/node_modules/math-intrinsics/sign.js", "../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/gOPD.js", "../../../node_modules/.pnpm/gopd@1.2.0/node_modules/gopd/index.js", "../../../node_modules/.pnpm/es-define-property@1.0.1/node_modules/es-define-property/index.js", "../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/shams.js", "../../../node_modules/.pnpm/has-symbols@1.1.0/node_modules/has-symbols/index.js", "../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Reflect.getPrototypeOf.js", "../../../node_modules/.pnpm/es-object-atoms@1.1.1/node_modules/es-object-atoms/index.js", "../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/Object.getPrototypeOf.js", "../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/implementation.js", "../../../node_modules/.pnpm/function-bind@1.1.2/node_modules/function-bind/index.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.1/node_modules/call-bind-apply-helpers/functionCall.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.1/node_modules/call-bind-apply-helpers/functionApply.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.1/node_modules/call-bind-apply-helpers/reflectApply.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.1/node_modules/call-bind-apply-helpers/actualApply.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.1/node_modules/call-bind-apply-helpers/index.js", "../../../node_modules/.pnpm/dunder-proto@1.0.1/node_modules/dunder-proto/get.js", "../../../node_modules/.pnpm/get-proto@1.0.1/node_modules/get-proto/index.js", "../../../node_modules/.pnpm/hasown@2.0.2/node_modules/hasown/index.js", "../../../node_modules/.pnpm/get-intrinsic@1.2.7/node_modules/get-intrinsic/index.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionApply.js", "../../../node_modules/.pnpm/call-bind-apply-helpers@1.0.2/node_modules/call-bind-apply-helpers/functionCall.js", "../../../node_modules/.pnpm/get-intrinsic@1.3.0/node_modules/get-intrinsic/index.js", "../../../node_modules/.pnpm/define-data-property@1.1.4/node_modules/define-data-property/index.js", "../../../node_modules/.pnpm/has-property-descriptors@1.0.2/node_modules/has-property-descriptors/index.js", "../../../node_modules/.pnpm/set-function-length@1.2.2/node_modules/set-function-length/index.js", "../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/index.js", "../../../node_modules/.pnpm/call-bind@1.0.7/node_modules/call-bind/callBound.js", "../../../node_modules/.pnpm/object-inspect@1.13.3/node_modules/object-inspect/util.inspect.js", "../../../node_modules/.pnpm/object-inspect@1.13.3/node_modules/object-inspect/index.js", "../../../node_modules/.pnpm/side-channel@1.0.4/node_modules/side-channel/index.js", "../../../node_modules/.pnpm/qs@6.11.0/node_modules/qs/lib/formats.js", "../../../node_modules/.pnpm/qs@6.11.0/node_modules/qs/lib/utils.js", "../../../node_modules/.pnpm/qs@6.11.0/node_modules/qs/lib/stringify.js", "../../../node_modules/.pnpm/qs@6.11.0/node_modules/qs/lib/parse.js", "../../../node_modules/.pnpm/qs@6.11.0/node_modules/qs/lib/index.js", "../src/index.ts", "../../../node_modules/.pnpm/axios-retry@4.5.0_axios@1.6.1/node_modules/axios-retry/dist/esm/index.js", "../src/runtime/index.ts", "../src/common/consts.ts", "../src/common/config.ts", "../src/common/listing.ts", "../src/common/axios.ts", "../src/common/debug-interceptors.ts", "../src/common/errors.ts", "../src/gen/public/errors.ts", "../src/errors.ts", "../src/gen/runtime/index.ts", "../src/gen/runtime/errors.ts", "../src/gen/runtime/to-axios.ts", "../src/gen/runtime/operations/createConversation.ts", "../src/gen/runtime/operations/getConversation.ts", "../src/gen/runtime/operations/listConversations.ts", "../src/gen/runtime/operations/getOrCreateConversation.ts", "../src/gen/runtime/operations/updateConversation.ts", "../src/gen/runtime/operations/deleteConversation.ts", "../src/gen/runtime/operations/listParticipants.ts", "../src/gen/runtime/operations/addParticipant.ts", "../src/gen/runtime/operations/getParticipant.ts", "../src/gen/runtime/operations/removeParticipant.ts", "../src/gen/runtime/operations/createEvent.ts", "../src/gen/runtime/operations/getEvent.ts", "../src/gen/runtime/operations/listEvents.ts", "../src/gen/runtime/operations/cancelScheduledEvent.ts", "../src/gen/runtime/operations/createMessage.ts", "../src/gen/runtime/operations/getOrCreateMessage.ts", "../src/gen/runtime/operations/getMessage.ts", "../src/gen/runtime/operations/updateMessage.ts", "../src/gen/runtime/operations/listMessages.ts", "../src/gen/runtime/operations/deleteMessage.ts", "../src/gen/runtime/operations/initializeIncomingMessage.ts", "../src/gen/runtime/operations/importMessages.ts", "../src/gen/runtime/operations/createUser.ts", "../src/gen/runtime/operations/getUser.ts", "../src/gen/runtime/operations/listUsers.ts", "../src/gen/runtime/operations/getOrCreateUser.ts", "../src/gen/runtime/operations/updateUser.ts", "../src/gen/runtime/operations/deleteUser.ts", "../src/gen/runtime/operations/setStateExpiry.ts", "../src/gen/runtime/operations/getState.ts", "../src/gen/runtime/operations/setState.ts", "../src/gen/runtime/operations/getOrSetState.ts", "../src/gen/runtime/operations/patchState.ts", "../src/gen/runtime/operations/callAction.ts", "../src/gen/runtime/operations/configureIntegration.ts", "../src/gen/runtime/operations/createWorkflow.ts", "../src/gen/runtime/operations/getWorkflow.ts", "../src/gen/runtime/operations/updateWorkflow.ts", "../src/gen/runtime/operations/deleteWorkflow.ts", "../src/gen/runtime/operations/listWorkflows.ts", "../src/gen/runtime/operations/getOrCreateWorkflow.ts", "../src/gen/runtime/operations/listTagValues.ts", "../src/gen/runtime/operations/trackAnalytics.ts", "../src/gen/runtime/operations/captureObservation.ts", "../src/admin/index.ts", "../src/gen/admin/index.ts", "../src/gen/admin/errors.ts", "../src/gen/admin/to-axios.ts", "../src/gen/admin/operations/runVrl.ts", "../src/gen/admin/operations/getAccount.ts", "../src/gen/admin/operations/updateAccount.ts", "../src/gen/admin/operations/deleteAccount.ts", "../src/gen/admin/operations/listPersonalAccessTokens.ts", "../src/gen/admin/operations/createPersonalAccessToken.ts", "../src/gen/admin/operations/deletePersonalAccessToken.ts", "../src/gen/admin/operations/setAccountPreference.ts", "../src/gen/admin/operations/getAccountPreference.ts", "../src/gen/admin/operations/listPublicIntegrations.ts", "../src/gen/admin/operations/getPublicIntegrationById.ts", "../src/gen/admin/operations/getPublicIntegration.ts", "../src/gen/admin/operations/listPublicPlugins.ts", "../src/gen/admin/operations/getPublicPluginById.ts", "../src/gen/admin/operations/getDereferencedPublicPluginById.ts", "../src/gen/admin/operations/getPublicPlugin.ts", "../src/gen/admin/operations/getPublicPluginCode.ts", "../src/gen/admin/operations/listPublicInterfaces.ts", "../src/gen/admin/operations/getPublicInterfaceById.ts", "../src/gen/admin/operations/getPublicInterface.ts", "../src/gen/admin/operations/createBot.ts", "../src/gen/admin/operations/updateBot.ts", "../src/gen/admin/operations/rotateBotSigningSecrets.ts", "../src/gen/admin/operations/transferBot.ts", "../src/gen/admin/operations/listBots.ts", "../src/gen/admin/operations/getBot.ts", "../src/gen/admin/operations/deleteBot.ts", "../src/gen/admin/operations/getBotLogs.ts", "../src/gen/admin/operations/getBotWebchat.ts", "../src/gen/admin/operations/getBotAnalytics.ts", "../src/gen/admin/operations/listActionRuns.ts", "../src/gen/admin/operations/getBotIssue.ts", "../src/gen/admin/operations/listBotIssues.ts", "../src/gen/admin/operations/deleteBotIssue.ts", "../src/gen/admin/operations/listBotIssueEvents.ts", "../src/gen/admin/operations/listBotVersions.ts", "../src/gen/admin/operations/getBotVersion.ts", "../src/gen/admin/operations/getBotJson.ts", "../src/gen/admin/operations/publishFromBotJson.ts", "../src/gen/admin/operations/createBotVersion.ts", "../src/gen/admin/operations/deployBotVersion.ts", "../src/gen/admin/operations/createIntegrationShareableId.ts", "../src/gen/admin/operations/deleteIntegrationShareableId.ts", "../src/gen/admin/operations/getIntegrationShareableId.ts", "../src/gen/admin/operations/unlinkSandboxedConversations.ts", "../src/gen/admin/operations/listBotApiKeys.ts", "../src/gen/admin/operations/createBotApiKey.ts", "../src/gen/admin/operations/deleteBotApiKey.ts", "../src/gen/admin/operations/getBotAllowlist.ts", "../src/gen/admin/operations/updateBotAllowlist.ts", "../src/gen/admin/operations/listWorkspaceInvoices.ts", "../src/gen/admin/operations/getUpcomingInvoice.ts", "../src/gen/admin/operations/chargeWorkspaceUnpaidInvoices.ts", "../src/gen/admin/operations/createWorkspace.ts", "../src/gen/admin/operations/getPublicWorkspace.ts", "../src/gen/admin/operations/getWorkspace.ts", "../src/gen/admin/operations/listWorkspaceUsages.ts", "../src/gen/admin/operations/breakDownWorkspaceUsageByBot.ts", "../src/gen/admin/operations/getAllWorkspaceQuotaCompletion.ts", "../src/gen/admin/operations/getWorkspaceQuota.ts", "../src/gen/admin/operations/listWorkspaceQuotas.ts", "../src/gen/admin/operations/updateWorkspace.ts", "../src/gen/admin/operations/checkHandleAvailability.ts", "../src/gen/admin/operations/listWorkspaces.ts", "../src/gen/admin/operations/listPublicWorkspaces.ts", "../src/gen/admin/operations/deleteWorkspace.ts", "../src/gen/admin/operations/getAuditRecords.ts", "../src/gen/admin/operations/setWorkspacePreference.ts", "../src/gen/admin/operations/getWorkspacePreference.ts", "../src/gen/admin/operations/listWorkspaceMembers.ts", "../src/gen/admin/operations/getWorkspaceMember.ts", "../src/gen/admin/operations/deleteWorkspaceMember.ts", "../src/gen/admin/operations/createWorkspaceMember.ts", "../src/gen/admin/operations/updateWorkspaceMember.ts", "../src/gen/admin/operations/listIntegrationApiKeys.ts", "../src/gen/admin/operations/createIntegrationApiKey.ts", "../src/gen/admin/operations/deleteIntegrationApiKey.ts", "../src/gen/admin/operations/createIntegration.ts", "../src/gen/admin/operations/validateIntegrationCreation.ts", "../src/gen/admin/operations/updateIntegration.ts", "../src/gen/admin/operations/rotateIntegrationSigningSecrets.ts", "../src/gen/admin/operations/validateIntegrationUpdate.ts", "../src/gen/admin/operations/listIntegrations.ts", "../src/gen/admin/operations/getIntegration.ts", "../src/gen/admin/operations/getIntegrationLogs.ts", "../src/gen/admin/operations/getIntegrationByName.ts", "../src/gen/admin/operations/deleteIntegration.ts", "../src/gen/admin/operations/requestIntegrationVerification.ts", "../src/gen/admin/operations/createInterface.ts", "../src/gen/admin/operations/getInterface.ts", "../src/gen/admin/operations/getInterfaceByName.ts", "../src/gen/admin/operations/updateInterface.ts", "../src/gen/admin/operations/deleteInterface.ts", "../src/gen/admin/operations/listInterfaces.ts", "../src/gen/admin/operations/createPlugin.ts", "../src/gen/admin/operations/getPlugin.ts", "../src/gen/admin/operations/getDereferencedPlugin.ts", "../src/gen/admin/operations/getPluginByName.ts", "../src/gen/admin/operations/updatePlugin.ts", "../src/gen/admin/operations/deletePlugin.ts", "../src/gen/admin/operations/listPlugins.ts", "../src/gen/admin/operations/getPluginCode.ts", "../src/gen/admin/operations/getUsage.ts", "../src/gen/admin/operations/getMultipleUsages.ts", "../src/gen/admin/operations/listUsageHistory.ts", "../src/gen/admin/operations/listUsageActivity.ts", "../src/gen/admin/operations/listUsageActivityDaily.ts", "../src/gen/admin/operations/changeAISpendQuota.ts", "../src/gen/admin/operations/listActivities.ts", "../src/gen/admin/operations/introspect.ts", "../src/billing/index.ts", "../src/gen/billing/index.ts", "../src/gen/billing/errors.ts", "../src/gen/billing/to-axios.ts", "../src/gen/billing/operations/getBillingReadonly.ts", "../src/gen/billing/operations/getBillingAddress.ts", "../src/gen/billing/operations/setBillingAddress.ts", "../src/gen/billing/operations/getPlan.ts", "../src/gen/billing/operations/listPlans.ts", "../src/gen/billing/operations/getAddon.ts", "../src/gen/billing/operations/listAddons.ts", "../src/gen/billing/operations/getSubscription.ts", "../src/gen/billing/operations/previewSubscriptionUpdate.ts", "../src/gen/billing/operations/setPlan.ts", "../src/gen/billing/operations/setAddons.ts", "../src/gen/billing/operations/setCancelAtPeriodEnd.ts", "../src/gen/billing/operations/getAutoRechargeSettings.ts", "../src/gen/billing/operations/setAutoRechargeSettings.ts", "../src/gen/billing/operations/getTrials.ts", "../src/gen/billing/operations/createTrial.ts", "../src/gen/billing/operations/removeTrial.ts", "../src/gen/billing/operations/listInvoices.ts", "../src/gen/billing/operations/payInvoice.ts", "../src/gen/billing/operations/getPaymentMethod.ts", "../src/gen/billing/operations/setPaymentMethod.ts", "../src/gen/billing/operations/createPaymentMethodIntent.ts", "../src/gen/billing/operations/getQuotas.ts", "../src/files/index.ts", "../src/gen/files/index.ts", "../src/gen/files/errors.ts", "../src/gen/files/to-axios.ts", "../src/gen/files/operations/upsertFile.ts", "../src/gen/files/operations/deleteFile.ts", "../src/gen/files/operations/listFiles.ts", "../src/gen/files/operations/getFile.ts", "../src/gen/files/operations/updateFileMetadata.ts", "../src/gen/files/operations/copyFile.ts", "../src/gen/files/operations/searchFiles.ts", "../src/gen/files/operations/listFilePassages.ts", "../src/gen/files/operations/setFilePassages.ts", "../src/gen/files/operations/listFileTags.ts", "../src/gen/files/operations/listFileTagValues.ts", "../src/gen/files/operations/createKnowledgeBase.ts", "../src/gen/files/operations/deleteKnowledgeBase.ts", "../src/gen/files/operations/updateKnowledgeBase.ts", "../src/gen/files/operations/listKnowledgeBases.ts", "../src/files/upload-file.ts", "../src/tables/index.ts", "../src/gen/tables/index.ts", "../src/gen/tables/errors.ts", "../src/gen/tables/to-axios.ts", "../src/gen/tables/operations/listTables.ts", "../src/gen/tables/operations/getTable.ts", "../src/gen/tables/operations/getOrCreateTable.ts", "../src/gen/tables/operations/createTable.ts", "../src/gen/tables/operations/duplicateTable.ts", "../src/gen/tables/operations/exportTable.ts", "../src/gen/tables/operations/getTableJobs.ts", "../src/gen/tables/operations/importTable.ts", "../src/gen/tables/operations/updateTable.ts", "../src/gen/tables/operations/renameTableColumn.ts", "../src/gen/tables/operations/deleteTable.ts", "../src/gen/tables/operations/getTableRow.ts", "../src/gen/tables/operations/findTableRows.ts", "../src/gen/tables/operations/createTableRows.ts", "../src/gen/tables/operations/deleteTableRows.ts", "../src/gen/tables/operations/updateTableRows.ts", "../src/gen/tables/operations/upsertTableRows.ts", "../src/gen/public/index.ts", "../src/gen/public/to-axios.ts", "../src/gen/public/operations/createConversation.ts", "../src/gen/public/operations/getConversation.ts", "../src/gen/public/operations/listConversations.ts", "../src/gen/public/operations/getOrCreateConversation.ts", "../src/gen/public/operations/updateConversation.ts", "../src/gen/public/operations/deleteConversation.ts", "../src/gen/public/operations/listParticipants.ts", "../src/gen/public/operations/addParticipant.ts", "../src/gen/public/operations/getParticipant.ts", "../src/gen/public/operations/removeParticipant.ts", "../src/gen/public/operations/createEvent.ts", "../src/gen/public/operations/getEvent.ts", "../src/gen/public/operations/listEvents.ts", "../src/gen/public/operations/cancelScheduledEvent.ts", "../src/gen/public/operations/createMessage.ts", "../src/gen/public/operations/getOrCreateMessage.ts", "../src/gen/public/operations/getMessage.ts", "../src/gen/public/operations/updateMessage.ts", "../src/gen/public/operations/listMessages.ts", "../src/gen/public/operations/deleteMessage.ts", "../src/gen/public/operations/initializeIncomingMessage.ts", "../src/gen/public/operations/importMessages.ts", "../src/gen/public/operations/createUser.ts", "../src/gen/public/operations/getUser.ts", "../src/gen/public/operations/listUsers.ts", "../src/gen/public/operations/getOrCreateUser.ts", "../src/gen/public/operations/updateUser.ts", "../src/gen/public/operations/deleteUser.ts", "../src/gen/public/operations/setStateExpiry.ts", "../src/gen/public/operations/getState.ts", "../src/gen/public/operations/setState.ts", "../src/gen/public/operations/getOrSetState.ts", "../src/gen/public/operations/patchState.ts", "../src/gen/public/operations/callAction.ts", "../src/gen/public/operations/configureIntegration.ts", "../src/gen/public/operations/createWorkflow.ts", "../src/gen/public/operations/getWorkflow.ts", "../src/gen/public/operations/updateWorkflow.ts", "../src/gen/public/operations/deleteWorkflow.ts", "../src/gen/public/operations/listWorkflows.ts", "../src/gen/public/operations/getOrCreateWorkflow.ts", "../src/gen/public/operations/listTagValues.ts", "../src/gen/public/operations/trackAnalytics.ts", "../src/gen/public/operations/captureObservation.ts", "../src/gen/public/operations/runVrl.ts", "../src/gen/public/operations/getAccount.ts", "../src/gen/public/operations/updateAccount.ts", "../src/gen/public/operations/deleteAccount.ts", "../src/gen/public/operations/listPersonalAccessTokens.ts", "../src/gen/public/operations/createPersonalAccessToken.ts", "../src/gen/public/operations/deletePersonalAccessToken.ts", "../src/gen/public/operations/setAccountPreference.ts", "../src/gen/public/operations/getAccountPreference.ts", "../src/gen/public/operations/listPublicIntegrations.ts", "../src/gen/public/operations/getPublicIntegrationById.ts", "../src/gen/public/operations/getPublicIntegration.ts", "../src/gen/public/operations/listPublicPlugins.ts", "../src/gen/public/operations/getPublicPluginById.ts", "../src/gen/public/operations/getDereferencedPublicPluginById.ts", "../src/gen/public/operations/getPublicPlugin.ts", "../src/gen/public/operations/getPublicPluginCode.ts", "../src/gen/public/operations/listPublicInterfaces.ts", "../src/gen/public/operations/getPublicInterfaceById.ts", "../src/gen/public/operations/getPublicInterface.ts", "../src/gen/public/operations/createBot.ts", "../src/gen/public/operations/updateBot.ts", "../src/gen/public/operations/rotateBotSigningSecrets.ts", "../src/gen/public/operations/transferBot.ts", "../src/gen/public/operations/listBots.ts", "../src/gen/public/operations/getBot.ts", "../src/gen/public/operations/deleteBot.ts", "../src/gen/public/operations/getBotLogs.ts", "../src/gen/public/operations/getBotWebchat.ts", "../src/gen/public/operations/getBotAnalytics.ts", "../src/gen/public/operations/listActionRuns.ts", "../src/gen/public/operations/getBotIssue.ts", "../src/gen/public/operations/listBotIssues.ts", "../src/gen/public/operations/deleteBotIssue.ts", "../src/gen/public/operations/listBotIssueEvents.ts", "../src/gen/public/operations/listBotVersions.ts", "../src/gen/public/operations/getBotVersion.ts", "../src/gen/public/operations/getBotJson.ts", "../src/gen/public/operations/publishFromBotJson.ts", "../src/gen/public/operations/createBotVersion.ts", "../src/gen/public/operations/deployBotVersion.ts", "../src/gen/public/operations/createIntegrationShareableId.ts", "../src/gen/public/operations/deleteIntegrationShareableId.ts", "../src/gen/public/operations/getIntegrationShareableId.ts", "../src/gen/public/operations/unlinkSandboxedConversations.ts", "../src/gen/public/operations/listBotApiKeys.ts", "../src/gen/public/operations/createBotApiKey.ts", "../src/gen/public/operations/deleteBotApiKey.ts", "../src/gen/public/operations/getBotAllowlist.ts", "../src/gen/public/operations/updateBotAllowlist.ts", "../src/gen/public/operations/listWorkspaceInvoices.ts", "../src/gen/public/operations/getUpcomingInvoice.ts", "../src/gen/public/operations/chargeWorkspaceUnpaidInvoices.ts", "../src/gen/public/operations/createWorkspace.ts", "../src/gen/public/operations/getPublicWorkspace.ts", "../src/gen/public/operations/getWorkspace.ts", "../src/gen/public/operations/listWorkspaceUsages.ts", "../src/gen/public/operations/breakDownWorkspaceUsageByBot.ts", "../src/gen/public/operations/getAllWorkspaceQuotaCompletion.ts", "../src/gen/public/operations/getWorkspaceQuota.ts", "../src/gen/public/operations/listWorkspaceQuotas.ts", "../src/gen/public/operations/updateWorkspace.ts", "../src/gen/public/operations/checkHandleAvailability.ts", "../src/gen/public/operations/listWorkspaces.ts", "../src/gen/public/operations/listPublicWorkspaces.ts", "../src/gen/public/operations/deleteWorkspace.ts", "../src/gen/public/operations/getAuditRecords.ts", "../src/gen/public/operations/setWorkspacePreference.ts", "../src/gen/public/operations/getWorkspacePreference.ts", "../src/gen/public/operations/listWorkspaceMembers.ts", "../src/gen/public/operations/getWorkspaceMember.ts", "../src/gen/public/operations/deleteWorkspaceMember.ts", "../src/gen/public/operations/createWorkspaceMember.ts", "../src/gen/public/operations/updateWorkspaceMember.ts", "../src/gen/public/operations/listIntegrationApiKeys.ts", "../src/gen/public/operations/createIntegrationApiKey.ts", "../src/gen/public/operations/deleteIntegrationApiKey.ts", "../src/gen/public/operations/createIntegration.ts", "../src/gen/public/operations/validateIntegrationCreation.ts", "../src/gen/public/operations/updateIntegration.ts", "../src/gen/public/operations/rotateIntegrationSigningSecrets.ts", "../src/gen/public/operations/validateIntegrationUpdate.ts", "../src/gen/public/operations/listIntegrations.ts", "../src/gen/public/operations/getIntegration.ts", "../src/gen/public/operations/getIntegrationLogs.ts", "../src/gen/public/operations/getIntegrationByName.ts", "../src/gen/public/operations/deleteIntegration.ts", "../src/gen/public/operations/requestIntegrationVerification.ts", "../src/gen/public/operations/createInterface.ts", "../src/gen/public/operations/getInterface.ts", "../src/gen/public/operations/getInterfaceByName.ts", "../src/gen/public/operations/updateInterface.ts", "../src/gen/public/operations/deleteInterface.ts", "../src/gen/public/operations/listInterfaces.ts", "../src/gen/public/operations/createPlugin.ts", "../src/gen/public/operations/getPlugin.ts", "../src/gen/public/operations/getDereferencedPlugin.ts", "../src/gen/public/operations/getPluginByName.ts", "../src/gen/public/operations/updatePlugin.ts", "../src/gen/public/operations/deletePlugin.ts", "../src/gen/public/operations/listPlugins.ts", "../src/gen/public/operations/getPluginCode.ts", "../src/gen/public/operations/getUsage.ts", "../src/gen/public/operations/getMultipleUsages.ts", "../src/gen/public/operations/listUsageHistory.ts", "../src/gen/public/operations/listUsageActivity.ts", "../src/gen/public/operations/listUsageActivityDaily.ts", "../src/gen/public/operations/changeAISpendQuota.ts", "../src/gen/public/operations/listActivities.ts", "../src/gen/public/operations/introspect.ts", "../src/gen/public/operations/upsertFile.ts", "../src/gen/public/operations/deleteFile.ts", "../src/gen/public/operations/listFiles.ts", "../src/gen/public/operations/getFile.ts", "../src/gen/public/operations/updateFileMetadata.ts", "../src/gen/public/operations/copyFile.ts", "../src/gen/public/operations/searchFiles.ts", "../src/gen/public/operations/listFilePassages.ts", "../src/gen/public/operations/setFilePassages.ts", "../src/gen/public/operations/listFileTags.ts", "../src/gen/public/operations/listFileTagValues.ts", "../src/gen/public/operations/createKnowledgeBase.ts", "../src/gen/public/operations/deleteKnowledgeBase.ts", "../src/gen/public/operations/updateKnowledgeBase.ts", "../src/gen/public/operations/listKnowledgeBases.ts", "../src/gen/public/operations/listTables.ts", "../src/gen/public/operations/getTable.ts", "../src/gen/public/operations/getOrCreateTable.ts", "../src/gen/public/operations/createTable.ts", "../src/gen/public/operations/duplicateTable.ts", "../src/gen/public/operations/exportTable.ts", "../src/gen/public/operations/getTableJobs.ts", "../src/gen/public/operations/importTable.ts", "../src/gen/public/operations/updateTable.ts", "../src/gen/public/operations/renameTableColumn.ts", "../src/gen/public/operations/deleteTable.ts", "../src/gen/public/operations/getTableRow.ts", "../src/gen/public/operations/findTableRows.ts", "../src/gen/public/operations/createTableRows.ts", "../src/gen/public/operations/deleteTableRows.ts", "../src/gen/public/operations/updateTableRows.ts", "../src/gen/public/operations/upsertTableRows.ts", "../src/public/index.ts"],
  "sourcesContent": ["'use strict';\n\nconst denyList = new Set([\n\t'ENOTFOUND',\n\t'ENETUNREACH',\n\n\t// SSL errors from https://github.com/nodejs/node/blob/fc8e3e2cdc521978351de257030db0076d79e0ab/src/crypto/crypto_common.cc#L301-L328\n\t'UNABLE_TO_GET_ISSUER_CERT',\n\t'UNABLE_TO_GET_CRL',\n\t'UNABLE_TO_DECRYPT_CERT_SIGNATURE',\n\t'UNABLE_TO_DECRYPT_CRL_SIGNATURE',\n\t'UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY',\n\t'CERT_SIGNATURE_FAILURE',\n\t'CRL_SIGNATURE_FAILURE',\n\t'CERT_NOT_YET_VALID',\n\t'CERT_HAS_EXPIRED',\n\t'CRL_NOT_YET_VALID',\n\t'CRL_HAS_EXPIRED',\n\t'ERROR_IN_CERT_NOT_BEFORE_FIELD',\n\t'ERROR_IN_CERT_NOT_AFTER_FIELD',\n\t'ERROR_IN_CRL_LAST_UPDATE_FIELD',\n\t'ERROR_IN_CRL_NEXT_UPDATE_FIELD',\n\t'OUT_OF_MEM',\n\t'DEPTH_ZERO_SELF_SIGNED_CERT',\n\t'SELF_SIGNED_CERT_IN_CHAIN',\n\t'UNABLE_TO_GET_ISSUER_CERT_LOCALLY',\n\t'UNABLE_TO_VERIFY_LEAF_SIGNATURE',\n\t'CERT_CHAIN_TOO_LONG',\n\t'CERT_REVOKED',\n\t'INVALID_CA',\n\t'PATH_LENGTH_EXCEEDED',\n\t'INVALID_PURPOSE',\n\t'CERT_UNTRUSTED',\n\t'CERT_REJECTED',\n\t'HOSTNAME_MISMATCH'\n]);\n\n// TODO: Use `error?.code` when targeting Node.js 14\nmodule.exports = error => !denyList.has(error && error.code);\n", "'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n", "'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n", "'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n", "'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n", "'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n", "'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n", "'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n", "'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n", "'use strict';\n\n/** @type {import('./abs')} */\nmodule.exports = Math.abs;\n", "'use strict';\n\n/** @type {import('./floor')} */\nmodule.exports = Math.floor;\n", "'use strict';\n\n/** @type {import('./max')} */\nmodule.exports = Math.max;\n", "'use strict';\n\n/** @type {import('./min')} */\nmodule.exports = Math.min;\n", "'use strict';\n\n/** @type {import('./pow')} */\nmodule.exports = Math.pow;\n", "'use strict';\n\n/** @type {import('./round')} */\nmodule.exports = Math.round;\n", "'use strict';\n\n/** @type {import('./isNaN')} */\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n", "'use strict';\n\nvar $isNaN = require('./isNaN');\n\n/** @type {import('./sign')} */\nmodule.exports = function sign(number) {\n\tif ($isNaN(number) || number === 0) {\n\t\treturn number;\n\t}\n\treturn number < 0 ? -1 : +1;\n};\n", "'use strict';\n\n/** @type {import('./gOPD')} */\nmodule.exports = Object.getOwnPropertyDescriptor;\n", "'use strict';\n\n/** @type {import('.')} */\nvar $gOPD = require('./gOPD');\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n", "'use strict';\n\n/** @type {import('.')} */\nvar $defineProperty = Object.defineProperty || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n", "'use strict';\n\n/** @type {import('./shams')} */\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\t/** @type {{ [k in symbol]?: unknown }} */\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (var _ in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\t// eslint-disable-next-line no-extra-parens\n\t\tvar descriptor = /** @type {PropertyDescriptor} */ (Object.getOwnPropertyDescriptor(obj, sym));\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n", "'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n", "'use strict';\n\n/** @type {import('./Reflect.getPrototypeOf')} */\nmodule.exports = (typeof Reflect !== 'undefined' && Reflect.getPrototypeOf) || null;\n", "'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Object;\n", "'use strict';\n\nvar $Object = require('es-object-atoms');\n\n/** @type {import('./Object.getPrototypeOf')} */\nmodule.exports = $Object.getPrototypeOf || null;\n", "'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n    var arr = [];\n\n    for (var i = 0; i < a.length; i += 1) {\n        arr[i] = a[i];\n    }\n    for (var j = 0; j < b.length; j += 1) {\n        arr[j + a.length] = b[j];\n    }\n\n    return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n    var arr = [];\n    for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n        arr[j] = arrLike[i];\n    }\n    return arr;\n};\n\nvar joiny = function (arr, joiner) {\n    var str = '';\n    for (var i = 0; i < arr.length; i += 1) {\n        str += arr[i];\n        if (i + 1 < arr.length) {\n            str += joiner;\n        }\n    }\n    return str;\n};\n\nmodule.exports = function bind(that) {\n    var target = this;\n    if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n        throw new TypeError(ERROR_MESSAGE + target);\n    }\n    var args = slicy(arguments, 1);\n\n    var bound;\n    var binder = function () {\n        if (this instanceof bound) {\n            var result = target.apply(\n                this,\n                concatty(args, arguments)\n            );\n            if (Object(result) === result) {\n                return result;\n            }\n            return this;\n        }\n        return target.apply(\n            that,\n            concatty(args, arguments)\n        );\n\n    };\n\n    var boundLength = max(0, target.length - args.length);\n    var boundArgs = [];\n    for (var i = 0; i < boundLength; i++) {\n        boundArgs[i] = '$' + i;\n    }\n\n    bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n    if (target.prototype) {\n        var Empty = function Empty() {};\n        Empty.prototype = target.prototype;\n        bound.prototype = new Empty();\n        Empty.prototype = null;\n    }\n\n    return bound;\n};\n", "'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n", "'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n", "'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n", "'use strict';\n\n/** @type {import('./reflectApply')} */\nmodule.exports = typeof Reflect !== 'undefined' && Reflect && Reflect.apply;\n", "'use strict';\n\nvar bind = require('function-bind');\n\nvar $apply = require('./functionApply');\nvar $call = require('./functionCall');\nvar $reflectApply = require('./reflectApply');\n\n/** @type {import('./actualApply')} */\nmodule.exports = $reflectApply || bind.call($call, $apply);\n", "'use strict';\n\nvar bind = require('function-bind');\nvar $TypeError = require('es-errors/type');\n\nvar $call = require('./functionCall');\nvar $actualApply = require('./actualApply');\n\n/** @type {import('.')} */\nmodule.exports = function callBindBasic(args) {\n\tif (args.length < 1 || typeof args[0] !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\treturn $actualApply(bind, $call, args);\n};\n", "'use strict';\n\nvar callBind = require('call-bind-apply-helpers');\nvar gOPD = require('gopd');\n\nvar hasProtoAccessor;\ntry {\n\t// eslint-disable-next-line no-extra-parens, no-proto\n\thasProtoAccessor = /** @type {{ __proto__?: typeof Array.prototype }} */ ([]).__proto__ === Array.prototype;\n} catch (e) {\n\tif (!e || typeof e !== 'object' || !('code' in e) || e.code !== 'ERR_PROTO_ACCESS') {\n\t\tthrow e;\n\t}\n}\n\n// eslint-disable-next-line no-extra-parens\nvar desc = !!hasProtoAccessor && gOPD && gOPD(Object.prototype, /** @type {keyof typeof Object.prototype} */ ('__proto__'));\n\nvar $Object = Object;\nvar $getPrototypeOf = $Object.getPrototypeOf;\n\n/** @type {import('./get')} */\nmodule.exports = desc && typeof desc.get === 'function'\n\t? callBind([desc.get])\n\t: typeof $getPrototypeOf === 'function'\n\t\t? /** @type {import('./get')} */ function getDunder(value) {\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\treturn $getPrototypeOf(value == null ? value : $Object(value));\n\t\t}\n\t\t: false;\n", "'use strict';\n\nvar reflectGetProto = require('./Reflect.getPrototypeOf');\nvar originalGetProto = require('./Object.getPrototypeOf');\n\nvar getDunderProto = require('dunder-proto/get');\n\n/** @type {import('.')} */\nmodule.exports = reflectGetProto\n\t? function getProto(O) {\n\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\treturn reflectGetProto(O);\n\t}\n\t: originalGetProto\n\t\t? function getProto(O) {\n\t\t\tif (!O || (typeof O !== 'object' && typeof O !== 'function')) {\n\t\t\t\tthrow new TypeError('getProto: not an object');\n\t\t\t}\n\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\treturn originalGetProto(O);\n\t\t}\n\t\t: getDunderProto\n\t\t\t? function getProto(O) {\n\t\t\t\t// @ts-expect-error TS can't narrow inside a closure, for some reason\n\t\t\t\treturn getDunderProto(O);\n\t\t\t}\n\t\t\t: null;\n", "'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n", "'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n", "'use strict';\n\n/** @type {import('./functionApply')} */\nmodule.exports = Function.prototype.apply;\n", "'use strict';\n\n/** @type {import('./functionCall')} */\nmodule.exports = Function.prototype.call;\n", "'use strict';\n\nvar undefined;\n\nvar $Object = require('es-object-atoms');\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar abs = require('math-intrinsics/abs');\nvar floor = require('math-intrinsics/floor');\nvar max = require('math-intrinsics/max');\nvar min = require('math-intrinsics/min');\nvar pow = require('math-intrinsics/pow');\nvar round = require('math-intrinsics/round');\nvar sign = require('math-intrinsics/sign');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = require('gopd');\nvar $defineProperty = require('es-define-property');\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = require('get-proto');\nvar $ObjectGPO = require('get-proto/Object.getPrototypeOf');\nvar $ReflectGPO = require('get-proto/Reflect.getPrototypeOf');\n\nvar $apply = require('call-bind-apply-helpers/functionApply');\nvar $call = require('call-bind-apply-helpers/functionCall');\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float16Array%': typeof Float16Array === 'undefined' ? undefined : Float16Array,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': $Object,\n\t'%Object.getOwnPropertyDescriptor%': $gOPD,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet,\n\n\t'%Function.prototype.call%': $call,\n\t'%Function.prototype.apply%': $apply,\n\t'%Object.defineProperty%': $defineProperty,\n\t'%Object.getPrototypeOf%': $ObjectGPO,\n\t'%Math.abs%': abs,\n\t'%Math.floor%': floor,\n\t'%Math.max%': max,\n\t'%Math.min%': min,\n\t'%Math.pow%': pow,\n\t'%Math.round%': round,\n\t'%Math.sign%': sign,\n\t'%Reflect.getPrototypeOf%': $ReflectGPO\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call($call, Array.prototype.concat);\nvar $spliceApply = bind.call($apply, Array.prototype.splice);\nvar $replace = bind.call($call, String.prototype.replace);\nvar $strSlice = bind.call($call, String.prototype.slice);\nvar $exec = bind.call($call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n", "'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor<unknown>} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n", "'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters<define>[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n", "'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n", "module.exports = require('util').inspect;\n", "var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n    ? Symbol.toStringTag\n    : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n    [].__proto__ === Array.prototype // eslint-disable-line no-proto\n        ? function (O) {\n            return O.__proto__; // eslint-disable-line no-proto\n        }\n        : null\n);\n\nfunction addNumericSeparator(num, str) {\n    if (\n        num === Infinity\n        || num === -Infinity\n        || num !== num\n        || (num && num > -1000 && num < 1000)\n        || $test.call(/e/, str)\n    ) {\n        return str;\n    }\n    var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n    if (typeof num === 'number') {\n        var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n        if (int !== num) {\n            var intStr = String(int);\n            var dec = $slice.call(str, intStr.length + 1);\n            return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n        }\n    }\n    return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nvar quotes = {\n    __proto__: null,\n    'double': '\"',\n    single: \"'\"\n};\nvar quoteREs = {\n    __proto__: null,\n    'double': /([\"\\\\])/g,\n    single: /(['\\\\])/g\n};\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n    var opts = options || {};\n\n    if (has(opts, 'quoteStyle') && !has(quotes, opts.quoteStyle)) {\n        throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n    }\n    if (\n        has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n            ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n            : opts.maxStringLength !== null\n        )\n    ) {\n        throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n    }\n    var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n    if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n        throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n    }\n\n    if (\n        has(opts, 'indent')\n        && opts.indent !== null\n        && opts.indent !== '\\t'\n        && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n    ) {\n        throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n    }\n    if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n        throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n    }\n    var numericSeparator = opts.numericSeparator;\n\n    if (typeof obj === 'undefined') {\n        return 'undefined';\n    }\n    if (obj === null) {\n        return 'null';\n    }\n    if (typeof obj === 'boolean') {\n        return obj ? 'true' : 'false';\n    }\n\n    if (typeof obj === 'string') {\n        return inspectString(obj, opts);\n    }\n    if (typeof obj === 'number') {\n        if (obj === 0) {\n            return Infinity / obj > 0 ? '0' : '-0';\n        }\n        var str = String(obj);\n        return numericSeparator ? addNumericSeparator(obj, str) : str;\n    }\n    if (typeof obj === 'bigint') {\n        var bigIntStr = String(obj) + 'n';\n        return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n    }\n\n    var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n    if (typeof depth === 'undefined') { depth = 0; }\n    if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n        return isArray(obj) ? '[Array]' : '[Object]';\n    }\n\n    var indent = getIndent(opts, depth);\n\n    if (typeof seen === 'undefined') {\n        seen = [];\n    } else if (indexOf(seen, obj) >= 0) {\n        return '[Circular]';\n    }\n\n    function inspect(value, from, noIndent) {\n        if (from) {\n            seen = $arrSlice.call(seen);\n            seen.push(from);\n        }\n        if (noIndent) {\n            var newOpts = {\n                depth: opts.depth\n            };\n            if (has(opts, 'quoteStyle')) {\n                newOpts.quoteStyle = opts.quoteStyle;\n            }\n            return inspect_(value, newOpts, depth + 1, seen);\n        }\n        return inspect_(value, opts, depth + 1, seen);\n    }\n\n    if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n        var name = nameOf(obj);\n        var keys = arrObjKeys(obj, inspect);\n        return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n    }\n    if (isSymbol(obj)) {\n        var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n        return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n    }\n    if (isElement(obj)) {\n        var s = '<' + $toLowerCase.call(String(obj.nodeName));\n        var attrs = obj.attributes || [];\n        for (var i = 0; i < attrs.length; i++) {\n            s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n        }\n        s += '>';\n        if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n        s += '</' + $toLowerCase.call(String(obj.nodeName)) + '>';\n        return s;\n    }\n    if (isArray(obj)) {\n        if (obj.length === 0) { return '[]'; }\n        var xs = arrObjKeys(obj, inspect);\n        if (indent && !singleLineValues(xs)) {\n            return '[' + indentedJoin(xs, indent) + ']';\n        }\n        return '[ ' + $join.call(xs, ', ') + ' ]';\n    }\n    if (isError(obj)) {\n        var parts = arrObjKeys(obj, inspect);\n        if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n            return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n        }\n        if (parts.length === 0) { return '[' + String(obj) + ']'; }\n        return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n    }\n    if (typeof obj === 'object' && customInspect) {\n        if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n            return utilInspect(obj, { depth: maxDepth - depth });\n        } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n            return obj.inspect();\n        }\n    }\n    if (isMap(obj)) {\n        var mapParts = [];\n        if (mapForEach) {\n            mapForEach.call(obj, function (value, key) {\n                mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n            });\n        }\n        return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n    }\n    if (isSet(obj)) {\n        var setParts = [];\n        if (setForEach) {\n            setForEach.call(obj, function (value) {\n                setParts.push(inspect(value, obj));\n            });\n        }\n        return collectionOf('Set', setSize.call(obj), setParts, indent);\n    }\n    if (isWeakMap(obj)) {\n        return weakCollectionOf('WeakMap');\n    }\n    if (isWeakSet(obj)) {\n        return weakCollectionOf('WeakSet');\n    }\n    if (isWeakRef(obj)) {\n        return weakCollectionOf('WeakRef');\n    }\n    if (isNumber(obj)) {\n        return markBoxed(inspect(Number(obj)));\n    }\n    if (isBigInt(obj)) {\n        return markBoxed(inspect(bigIntValueOf.call(obj)));\n    }\n    if (isBoolean(obj)) {\n        return markBoxed(booleanValueOf.call(obj));\n    }\n    if (isString(obj)) {\n        return markBoxed(inspect(String(obj)));\n    }\n    // note: in IE 8, sometimes `global !== window` but both are the prototypes of each other\n    /* eslint-env browser */\n    if (typeof window !== 'undefined' && obj === window) {\n        return '{ [object Window] }';\n    }\n    if (\n        (typeof globalThis !== 'undefined' && obj === globalThis)\n        || (typeof global !== 'undefined' && obj === global)\n    ) {\n        return '{ [object globalThis] }';\n    }\n    if (!isDate(obj) && !isRegExp(obj)) {\n        var ys = arrObjKeys(obj, inspect);\n        var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n        var protoTag = obj instanceof Object ? '' : 'null prototype';\n        var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n        var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n        var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n        if (ys.length === 0) { return tag + '{}'; }\n        if (indent) {\n            return tag + '{' + indentedJoin(ys, indent) + '}';\n        }\n        return tag + '{ ' + $join.call(ys, ', ') + ' }';\n    }\n    return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n    var style = opts.quoteStyle || defaultStyle;\n    var quoteChar = quotes[style];\n    return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n    return $replace.call(String(s), /\"/g, '&quot;');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n    if (hasShammedSymbols) {\n        return obj && typeof obj === 'object' && obj instanceof Symbol;\n    }\n    if (typeof obj === 'symbol') {\n        return true;\n    }\n    if (!obj || typeof obj !== 'object' || !symToString) {\n        return false;\n    }\n    try {\n        symToString.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isBigInt(obj) {\n    if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n        return false;\n    }\n    try {\n        bigIntValueOf.call(obj);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n    return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n    return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n    if (f.name) { return f.name; }\n    var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n    if (m) { return m[1]; }\n    return null;\n}\n\nfunction indexOf(xs, x) {\n    if (xs.indexOf) { return xs.indexOf(x); }\n    for (var i = 0, l = xs.length; i < l; i++) {\n        if (xs[i] === x) { return i; }\n    }\n    return -1;\n}\n\nfunction isMap(x) {\n    if (!mapSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        mapSize.call(x);\n        try {\n            setSize.call(x);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof Map; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakMap(x) {\n    if (!weakMapHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakMapHas.call(x, weakMapHas);\n        try {\n            weakSetHas.call(x, weakSetHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakRef(x) {\n    if (!weakRefDeref || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakRefDeref.call(x);\n        return true;\n    } catch (e) {}\n    return false;\n}\n\nfunction isSet(x) {\n    if (!setSize || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        setSize.call(x);\n        try {\n            mapSize.call(x);\n        } catch (m) {\n            return true;\n        }\n        return x instanceof Set; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isWeakSet(x) {\n    if (!weakSetHas || !x || typeof x !== 'object') {\n        return false;\n    }\n    try {\n        weakSetHas.call(x, weakSetHas);\n        try {\n            weakMapHas.call(x, weakMapHas);\n        } catch (s) {\n            return true;\n        }\n        return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n    } catch (e) {}\n    return false;\n}\n\nfunction isElement(x) {\n    if (!x || typeof x !== 'object') { return false; }\n    if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n        return true;\n    }\n    return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n    if (str.length > opts.maxStringLength) {\n        var remaining = str.length - opts.maxStringLength;\n        var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n        return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n    }\n    var quoteRE = quoteREs[opts.quoteStyle || 'single'];\n    quoteRE.lastIndex = 0;\n    // eslint-disable-next-line no-control-regex\n    var s = $replace.call($replace.call(str, quoteRE, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n    return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n    var n = c.charCodeAt(0);\n    var x = {\n        8: 'b',\n        9: 't',\n        10: 'n',\n        12: 'f',\n        13: 'r'\n    }[n];\n    if (x) { return '\\\\' + x; }\n    return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n    return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n    return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n    var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n    return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n    for (var i = 0; i < xs.length; i++) {\n        if (indexOf(xs[i], '\\n') >= 0) {\n            return false;\n        }\n    }\n    return true;\n}\n\nfunction getIndent(opts, depth) {\n    var baseIndent;\n    if (opts.indent === '\\t') {\n        baseIndent = '\\t';\n    } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n        baseIndent = $join.call(Array(opts.indent + 1), ' ');\n    } else {\n        return null;\n    }\n    return {\n        base: baseIndent,\n        prev: $join.call(Array(depth + 1), baseIndent)\n    };\n}\n\nfunction indentedJoin(xs, indent) {\n    if (xs.length === 0) { return ''; }\n    var lineJoiner = '\\n' + indent.prev + indent.base;\n    return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n    var isArr = isArray(obj);\n    var xs = [];\n    if (isArr) {\n        xs.length = obj.length;\n        for (var i = 0; i < obj.length; i++) {\n            xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n        }\n    }\n    var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n    var symMap;\n    if (hasShammedSymbols) {\n        symMap = {};\n        for (var k = 0; k < syms.length; k++) {\n            symMap['$' + syms[k]] = syms[k];\n        }\n    }\n\n    for (var key in obj) { // eslint-disable-line no-restricted-syntax\n        if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n        if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n            // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n            continue; // eslint-disable-line no-restricted-syntax, no-continue\n        } else if ($test.call(/[^\\w$]/, key)) {\n            xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n        } else {\n            xs.push(key + ': ' + inspect(obj[key], obj));\n        }\n    }\n    if (typeof gOPS === 'function') {\n        for (var j = 0; j < syms.length; j++) {\n            if (isEnumerable.call(obj, syms[j])) {\n                xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n            }\n        }\n    }\n    return xs;\n}\n", "'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n", "'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n    RFC1738: 'RFC1738',\n    RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n    'default': Format.RFC3986,\n    formatters: {\n        RFC1738: function (value) {\n            return replace.call(value, percentTwenties, '+');\n        },\n        RFC3986: function (value) {\n            return String(value);\n        }\n    },\n    RFC1738: Format.RFC1738,\n    RFC3986: Format.RFC3986\n};\n", "'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n    var array = [];\n    for (var i = 0; i < 256; ++i) {\n        array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n    }\n\n    return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n    while (queue.length > 1) {\n        var item = queue.pop();\n        var obj = item.obj[item.prop];\n\n        if (isArray(obj)) {\n            var compacted = [];\n\n            for (var j = 0; j < obj.length; ++j) {\n                if (typeof obj[j] !== 'undefined') {\n                    compacted.push(obj[j]);\n                }\n            }\n\n            item.obj[item.prop] = compacted;\n        }\n    }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n    var obj = options && options.plainObjects ? Object.create(null) : {};\n    for (var i = 0; i < source.length; ++i) {\n        if (typeof source[i] !== 'undefined') {\n            obj[i] = source[i];\n        }\n    }\n\n    return obj;\n};\n\nvar merge = function merge(target, source, options) {\n    /* eslint no-param-reassign: 0 */\n    if (!source) {\n        return target;\n    }\n\n    if (typeof source !== 'object') {\n        if (isArray(target)) {\n            target.push(source);\n        } else if (target && typeof target === 'object') {\n            if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n                target[source] = true;\n            }\n        } else {\n            return [target, source];\n        }\n\n        return target;\n    }\n\n    if (!target || typeof target !== 'object') {\n        return [target].concat(source);\n    }\n\n    var mergeTarget = target;\n    if (isArray(target) && !isArray(source)) {\n        mergeTarget = arrayToObject(target, options);\n    }\n\n    if (isArray(target) && isArray(source)) {\n        source.forEach(function (item, i) {\n            if (has.call(target, i)) {\n                var targetItem = target[i];\n                if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n                    target[i] = merge(targetItem, item, options);\n                } else {\n                    target.push(item);\n                }\n            } else {\n                target[i] = item;\n            }\n        });\n        return target;\n    }\n\n    return Object.keys(source).reduce(function (acc, key) {\n        var value = source[key];\n\n        if (has.call(acc, key)) {\n            acc[key] = merge(acc[key], value, options);\n        } else {\n            acc[key] = value;\n        }\n        return acc;\n    }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n    return Object.keys(source).reduce(function (acc, key) {\n        acc[key] = source[key];\n        return acc;\n    }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n    var strWithoutPlus = str.replace(/\\+/g, ' ');\n    if (charset === 'iso-8859-1') {\n        // unescape never throws, no try...catch needed:\n        return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n    }\n    // utf-8\n    try {\n        return decodeURIComponent(strWithoutPlus);\n    } catch (e) {\n        return strWithoutPlus;\n    }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n    // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n    // It has been adapted here for stricter adherence to RFC 3986\n    if (str.length === 0) {\n        return str;\n    }\n\n    var string = str;\n    if (typeof str === 'symbol') {\n        string = Symbol.prototype.toString.call(str);\n    } else if (typeof str !== 'string') {\n        string = String(str);\n    }\n\n    if (charset === 'iso-8859-1') {\n        return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n            return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n        });\n    }\n\n    var out = '';\n    for (var i = 0; i < string.length; ++i) {\n        var c = string.charCodeAt(i);\n\n        if (\n            c === 0x2D // -\n            || c === 0x2E // .\n            || c === 0x5F // _\n            || c === 0x7E // ~\n            || (c >= 0x30 && c <= 0x39) // 0-9\n            || (c >= 0x41 && c <= 0x5A) // a-z\n            || (c >= 0x61 && c <= 0x7A) // A-Z\n            || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n        ) {\n            out += string.charAt(i);\n            continue;\n        }\n\n        if (c < 0x80) {\n            out = out + hexTable[c];\n            continue;\n        }\n\n        if (c < 0x800) {\n            out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        if (c < 0xD800 || c >= 0xE000) {\n            out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n            continue;\n        }\n\n        i += 1;\n        c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n        /* eslint operator-linebreak: [2, \"before\"] */\n        out += hexTable[0xF0 | (c >> 18)]\n            + hexTable[0x80 | ((c >> 12) & 0x3F)]\n            + hexTable[0x80 | ((c >> 6) & 0x3F)]\n            + hexTable[0x80 | (c & 0x3F)];\n    }\n\n    return out;\n};\n\nvar compact = function compact(value) {\n    var queue = [{ obj: { o: value }, prop: 'o' }];\n    var refs = [];\n\n    for (var i = 0; i < queue.length; ++i) {\n        var item = queue[i];\n        var obj = item.obj[item.prop];\n\n        var keys = Object.keys(obj);\n        for (var j = 0; j < keys.length; ++j) {\n            var key = keys[j];\n            var val = obj[key];\n            if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n                queue.push({ obj: obj, prop: key });\n                refs.push(val);\n            }\n        }\n    }\n\n    compactQueue(queue);\n\n    return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n    return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n    if (!obj || typeof obj !== 'object') {\n        return false;\n    }\n\n    return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n    return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n    if (isArray(val)) {\n        var mapped = [];\n        for (var i = 0; i < val.length; i += 1) {\n            mapped.push(fn(val[i]));\n        }\n        return mapped;\n    }\n    return fn(val);\n};\n\nmodule.exports = {\n    arrayToObject: arrayToObject,\n    assign: assign,\n    combine: combine,\n    compact: compact,\n    decode: decode,\n    encode: encode,\n    isBuffer: isBuffer,\n    isRegExp: isRegExp,\n    maybeMap: maybeMap,\n    merge: merge\n};\n", "'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n    brackets: function brackets(prefix) {\n        return prefix + '[]';\n    },\n    comma: 'comma',\n    indices: function indices(prefix, key) {\n        return prefix + '[' + key + ']';\n    },\n    repeat: function repeat(prefix) {\n        return prefix;\n    }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n    push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n    addQueryPrefix: false,\n    allowDots: false,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    delimiter: '&',\n    encode: true,\n    encoder: utils.encode,\n    encodeValuesOnly: false,\n    format: defaultFormat,\n    formatter: formats.formatters[defaultFormat],\n    // deprecated\n    indices: false,\n    serializeDate: function serializeDate(date) {\n        return toISO.call(date);\n    },\n    skipNulls: false,\n    strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n    return typeof v === 'string'\n        || typeof v === 'number'\n        || typeof v === 'boolean'\n        || typeof v === 'symbol'\n        || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n    object,\n    prefix,\n    generateArrayPrefix,\n    commaRoundTrip,\n    strictNullHandling,\n    skipNulls,\n    encoder,\n    filter,\n    sort,\n    allowDots,\n    serializeDate,\n    format,\n    formatter,\n    encodeValuesOnly,\n    charset,\n    sideChannel\n) {\n    var obj = object;\n\n    var tmpSc = sideChannel;\n    var step = 0;\n    var findFlag = false;\n    while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n        // Where object last appeared in the ref tree\n        var pos = tmpSc.get(object);\n        step += 1;\n        if (typeof pos !== 'undefined') {\n            if (pos === step) {\n                throw new RangeError('Cyclic object value');\n            } else {\n                findFlag = true; // Break while\n            }\n        }\n        if (typeof tmpSc.get(sentinel) === 'undefined') {\n            step = 0;\n        }\n    }\n\n    if (typeof filter === 'function') {\n        obj = filter(prefix, obj);\n    } else if (obj instanceof Date) {\n        obj = serializeDate(obj);\n    } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        obj = utils.maybeMap(obj, function (value) {\n            if (value instanceof Date) {\n                return serializeDate(value);\n            }\n            return value;\n        });\n    }\n\n    if (obj === null) {\n        if (strictNullHandling) {\n            return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n        }\n\n        obj = '';\n    }\n\n    if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n        if (encoder) {\n            var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n            if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n                var valuesArray = split.call(String(obj), ',');\n                var valuesJoined = '';\n                for (var i = 0; i < valuesArray.length; ++i) {\n                    valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n                }\n                return [formatter(keyValue) + (commaRoundTrip && isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];\n            }\n            return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n        }\n        return [formatter(prefix) + '=' + formatter(String(obj))];\n    }\n\n    var values = [];\n\n    if (typeof obj === 'undefined') {\n        return values;\n    }\n\n    var objKeys;\n    if (generateArrayPrefix === 'comma' && isArray(obj)) {\n        // we need to join elements in\n        objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n    } else if (isArray(filter)) {\n        objKeys = filter;\n    } else {\n        var keys = Object.keys(obj);\n        objKeys = sort ? keys.sort(sort) : keys;\n    }\n\n    var adjustedPrefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n    for (var j = 0; j < objKeys.length; ++j) {\n        var key = objKeys[j];\n        var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n        if (skipNulls && value === null) {\n            continue;\n        }\n\n        var keyPrefix = isArray(obj)\n            ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n            : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n        sideChannel.set(object, step);\n        var valueSideChannel = getSideChannel();\n        valueSideChannel.set(sentinel, sideChannel);\n        pushToArray(values, stringify(\n            value,\n            keyPrefix,\n            generateArrayPrefix,\n            commaRoundTrip,\n            strictNullHandling,\n            skipNulls,\n            encoder,\n            filter,\n            sort,\n            allowDots,\n            serializeDate,\n            format,\n            formatter,\n            encodeValuesOnly,\n            charset,\n            valueSideChannel\n        ));\n    }\n\n    return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n        throw new TypeError('Encoder has to be a function.');\n    }\n\n    var charset = opts.charset || defaults.charset;\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n\n    var format = formats['default'];\n    if (typeof opts.format !== 'undefined') {\n        if (!has.call(formats.formatters, opts.format)) {\n            throw new TypeError('Unknown format option provided.');\n        }\n        format = opts.format;\n    }\n    var formatter = formats.formatters[format];\n\n    var filter = defaults.filter;\n    if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n        filter = opts.filter;\n    }\n\n    return {\n        addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n        allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n        encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n        encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n        encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n        filter: filter,\n        format: format,\n        formatter: formatter,\n        serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n        skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n        sort: typeof opts.sort === 'function' ? opts.sort : null,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (object, opts) {\n    var obj = object;\n    var options = normalizeStringifyOptions(opts);\n\n    var objKeys;\n    var filter;\n\n    if (typeof options.filter === 'function') {\n        filter = options.filter;\n        obj = filter('', obj);\n    } else if (isArray(options.filter)) {\n        filter = options.filter;\n        objKeys = filter;\n    }\n\n    var keys = [];\n\n    if (typeof obj !== 'object' || obj === null) {\n        return '';\n    }\n\n    var arrayFormat;\n    if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n        arrayFormat = opts.arrayFormat;\n    } else if (opts && 'indices' in opts) {\n        arrayFormat = opts.indices ? 'indices' : 'repeat';\n    } else {\n        arrayFormat = 'indices';\n    }\n\n    var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n    if (opts && 'commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {\n        throw new TypeError('`commaRoundTrip` must be a boolean, or absent');\n    }\n    var commaRoundTrip = generateArrayPrefix === 'comma' && opts && opts.commaRoundTrip;\n\n    if (!objKeys) {\n        objKeys = Object.keys(obj);\n    }\n\n    if (options.sort) {\n        objKeys.sort(options.sort);\n    }\n\n    var sideChannel = getSideChannel();\n    for (var i = 0; i < objKeys.length; ++i) {\n        var key = objKeys[i];\n\n        if (options.skipNulls && obj[key] === null) {\n            continue;\n        }\n        pushToArray(keys, stringify(\n            obj[key],\n            key,\n            generateArrayPrefix,\n            commaRoundTrip,\n            options.strictNullHandling,\n            options.skipNulls,\n            options.encode ? options.encoder : null,\n            options.filter,\n            options.sort,\n            options.allowDots,\n            options.serializeDate,\n            options.format,\n            options.formatter,\n            options.encodeValuesOnly,\n            options.charset,\n            sideChannel\n        ));\n    }\n\n    var joined = keys.join(options.delimiter);\n    var prefix = options.addQueryPrefix === true ? '?' : '';\n\n    if (options.charsetSentinel) {\n        if (options.charset === 'iso-8859-1') {\n            // encodeURIComponent('&#10003;'), the \"numeric entity\" representation of a checkmark\n            prefix += 'utf8=%26%2310003%3B&';\n        } else {\n            // encodeURIComponent('\u2713')\n            prefix += 'utf8=%E2%9C%93&';\n        }\n    }\n\n    return joined.length > 0 ? prefix + joined : '';\n};\n", "'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n    allowDots: false,\n    allowPrototypes: false,\n    allowSparse: false,\n    arrayLimit: 20,\n    charset: 'utf-8',\n    charsetSentinel: false,\n    comma: false,\n    decoder: utils.decode,\n    delimiter: '&',\n    depth: 5,\n    ignoreQueryPrefix: false,\n    interpretNumericEntities: false,\n    parameterLimit: 1000,\n    parseArrays: true,\n    plainObjects: false,\n    strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n    return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n        return String.fromCharCode(parseInt(numberStr, 10));\n    });\n};\n\nvar parseArrayValue = function (val, options) {\n    if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n        return val.split(',');\n    }\n\n    return val;\n};\n\n// This is what browsers will submit when the \u2713 character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the \u2713 character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('&#10003;')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('\u2713')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n    var obj = {};\n    var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n    var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n    var parts = cleanStr.split(options.delimiter, limit);\n    var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n    var i;\n\n    var charset = options.charset;\n    if (options.charsetSentinel) {\n        for (i = 0; i < parts.length; ++i) {\n            if (parts[i].indexOf('utf8=') === 0) {\n                if (parts[i] === charsetSentinel) {\n                    charset = 'utf-8';\n                } else if (parts[i] === isoSentinel) {\n                    charset = 'iso-8859-1';\n                }\n                skipIndex = i;\n                i = parts.length; // The eslint settings do not allow break;\n            }\n        }\n    }\n\n    for (i = 0; i < parts.length; ++i) {\n        if (i === skipIndex) {\n            continue;\n        }\n        var part = parts[i];\n\n        var bracketEqualsPos = part.indexOf(']=');\n        var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n        var key, val;\n        if (pos === -1) {\n            key = options.decoder(part, defaults.decoder, charset, 'key');\n            val = options.strictNullHandling ? null : '';\n        } else {\n            key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n            val = utils.maybeMap(\n                parseArrayValue(part.slice(pos + 1), options),\n                function (encodedVal) {\n                    return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n                }\n            );\n        }\n\n        if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n            val = interpretNumericEntities(val);\n        }\n\n        if (part.indexOf('[]=') > -1) {\n            val = isArray(val) ? [val] : val;\n        }\n\n        if (has.call(obj, key)) {\n            obj[key] = utils.combine(obj[key], val);\n        } else {\n            obj[key] = val;\n        }\n    }\n\n    return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n    var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n    for (var i = chain.length - 1; i >= 0; --i) {\n        var obj;\n        var root = chain[i];\n\n        if (root === '[]' && options.parseArrays) {\n            obj = [].concat(leaf);\n        } else {\n            obj = options.plainObjects ? Object.create(null) : {};\n            var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n            var index = parseInt(cleanRoot, 10);\n            if (!options.parseArrays && cleanRoot === '') {\n                obj = { 0: leaf };\n            } else if (\n                !isNaN(index)\n                && root !== cleanRoot\n                && String(index) === cleanRoot\n                && index >= 0\n                && (options.parseArrays && index <= options.arrayLimit)\n            ) {\n                obj = [];\n                obj[index] = leaf;\n            } else if (cleanRoot !== '__proto__') {\n                obj[cleanRoot] = leaf;\n            }\n        }\n\n        leaf = obj;\n    }\n\n    return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n    if (!givenKey) {\n        return;\n    }\n\n    // Transform dot notation to bracket notation\n    var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n    // The regex chunks\n\n    var brackets = /(\\[[^[\\]]*])/;\n    var child = /(\\[[^[\\]]*])/g;\n\n    // Get the parent\n\n    var segment = options.depth > 0 && brackets.exec(key);\n    var parent = segment ? key.slice(0, segment.index) : key;\n\n    // Stash the parent if it exists\n\n    var keys = [];\n    if (parent) {\n        // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n        if (!options.plainObjects && has.call(Object.prototype, parent)) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n\n        keys.push(parent);\n    }\n\n    // Loop through children appending to the array until we hit depth\n\n    var i = 0;\n    while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n        i += 1;\n        if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n            if (!options.allowPrototypes) {\n                return;\n            }\n        }\n        keys.push(segment[1]);\n    }\n\n    // If there's a remainder, just add whatever is left\n\n    if (segment) {\n        keys.push('[' + key.slice(segment.index) + ']');\n    }\n\n    return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n    if (!opts) {\n        return defaults;\n    }\n\n    if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n        throw new TypeError('Decoder has to be a function.');\n    }\n\n    if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n        throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n    }\n    var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n    return {\n        allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n        allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n        allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n        arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n        charset: charset,\n        charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n        comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n        decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n        delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n        // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n        depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n        ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n        interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n        parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n        parseArrays: opts.parseArrays !== false,\n        plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n        strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n    };\n};\n\nmodule.exports = function (str, opts) {\n    var options = normalizeParseOptions(opts);\n\n    if (str === '' || str === null || typeof str === 'undefined') {\n        return options.plainObjects ? Object.create(null) : {};\n    }\n\n    var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n    var obj = options.plainObjects ? Object.create(null) : {};\n\n    // Iterate over the keys and setup the new object\n\n    var keys = Object.keys(tempObj);\n    for (var i = 0; i < keys.length; ++i) {\n        var key = keys[i];\n        var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n        obj = utils.merge(obj, newObj, options);\n    }\n\n    if (options.allowSparse === true) {\n        return obj;\n    }\n\n    return utils.compact(obj);\n};\n", "'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n    formats: formats,\n    parse: parse,\n    stringify: stringify\n};\n", "export * as axios from 'axios'\nexport * as axiosRetry from 'axios-retry'\nexport * as runtime from './runtime'\nexport * as admin from './admin'\nexport * as billing from './billing'\nexport * as files from './files'\nexport * as tables from './tables'\nexport * from './public'\nexport * from './errors'\nexport * from './types'\nexport * from './gen/public/models'\n", "import isRetryAllowed from 'is-retry-allowed';\nexport const namespace = 'axios-retry';\nexport function isNetworkError(error) {\n    const CODE_EXCLUDE_LIST = ['ERR_CANCELED', 'ECONNABORTED'];\n    if (error.response) {\n        return false;\n    }\n    if (!error.code) {\n        return false;\n    }\n    // Prevents retrying timed out & cancelled requests\n    if (CODE_EXCLUDE_LIST.includes(error.code)) {\n        return false;\n    }\n    // Prevents retrying unsafe errors\n    return isRetryAllowed(error);\n}\nconst SAFE_HTTP_METHODS = ['get', 'head', 'options'];\nconst IDEMPOTENT_HTTP_METHODS = SAFE_HTTP_METHODS.concat(['put', 'delete']);\nexport function isRetryableError(error) {\n    return (error.code !== 'ECONNABORTED' &&\n        (!error.response ||\n            error.response.status === 429 ||\n            (error.response.status >= 500 && error.response.status <= 599)));\n}\nexport function isSafeRequestError(error) {\n    if (!error.config?.method) {\n        // Cannot determine if the request can be retried\n        return false;\n    }\n    return isRetryableError(error) && SAFE_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isIdempotentRequestError(error) {\n    if (!error.config?.method) {\n        // Cannot determine if the request can be retried\n        return false;\n    }\n    return isRetryableError(error) && IDEMPOTENT_HTTP_METHODS.indexOf(error.config.method) !== -1;\n}\nexport function isNetworkOrIdempotentRequestError(error) {\n    return isNetworkError(error) || isIdempotentRequestError(error);\n}\nexport function retryAfter(error = undefined) {\n    const retryAfterHeader = error?.response?.headers['retry-after'];\n    if (!retryAfterHeader) {\n        return 0;\n    }\n    // if the retry after header is a number, convert it to milliseconds\n    let retryAfterMs = (Number(retryAfterHeader) || 0) * 1000;\n    // If the retry after header is a date, get the number of milliseconds until that date\n    if (retryAfterMs === 0) {\n        retryAfterMs = (new Date(retryAfterHeader).valueOf() || 0) - Date.now();\n    }\n    return Math.max(0, retryAfterMs);\n}\nfunction noDelay(_retryNumber = 0, error = undefined) {\n    return Math.max(0, retryAfter(error));\n}\nexport function exponentialDelay(retryNumber = 0, error = undefined, delayFactor = 100) {\n    const calculatedDelay = 2 ** retryNumber * delayFactor;\n    const delay = Math.max(calculatedDelay, retryAfter(error));\n    const randomSum = delay * 0.2 * Math.random(); // 0-20% of the delay\n    return delay + randomSum;\n}\n/**\n * Linear delay\n * @param {number | undefined} delayFactor - delay factor in milliseconds (default: 100)\n * @returns {function} (retryNumber: number, error: AxiosError | undefined) => number\n */\nexport function linearDelay(delayFactor = 100) {\n    return (retryNumber = 0, error = undefined) => {\n        const delay = retryNumber * delayFactor;\n        return Math.max(delay, retryAfter(error));\n    };\n}\nexport const DEFAULT_OPTIONS = {\n    retries: 3,\n    retryCondition: isNetworkOrIdempotentRequestError,\n    retryDelay: noDelay,\n    shouldResetTimeout: false,\n    onRetry: () => { },\n    onMaxRetryTimesExceeded: () => { },\n    validateResponse: null\n};\nfunction getRequestOptions(config, defaultOptions) {\n    return { ...DEFAULT_OPTIONS, ...defaultOptions, ...config[namespace] };\n}\nfunction setCurrentState(config, defaultOptions, resetLastRequestTime = false) {\n    const currentState = getRequestOptions(config, defaultOptions || {});\n    currentState.retryCount = currentState.retryCount || 0;\n    if (!currentState.lastRequestTime || resetLastRequestTime) {\n        currentState.lastRequestTime = Date.now();\n    }\n    config[namespace] = currentState;\n    return currentState;\n}\nfunction fixConfig(axiosInstance, config) {\n    // @ts-ignore\n    if (axiosInstance.defaults.agent === config.agent) {\n        // @ts-ignore\n        delete config.agent;\n    }\n    if (axiosInstance.defaults.httpAgent === config.httpAgent) {\n        delete config.httpAgent;\n    }\n    if (axiosInstance.defaults.httpsAgent === config.httpsAgent) {\n        delete config.httpsAgent;\n    }\n}\nasync function shouldRetry(currentState, error) {\n    const { retries, retryCondition } = currentState;\n    const shouldRetryOrPromise = (currentState.retryCount || 0) < retries && retryCondition(error);\n    // This could be a promise\n    if (typeof shouldRetryOrPromise === 'object') {\n        try {\n            const shouldRetryPromiseResult = await shouldRetryOrPromise;\n            // keep return true unless shouldRetryPromiseResult return false for compatibility\n            return shouldRetryPromiseResult !== false;\n        }\n        catch (_err) {\n            return false;\n        }\n    }\n    return shouldRetryOrPromise;\n}\nasync function handleRetry(axiosInstance, currentState, error, config) {\n    currentState.retryCount += 1;\n    const { retryDelay, shouldResetTimeout, onRetry } = currentState;\n    const delay = retryDelay(currentState.retryCount, error);\n    // Axios fails merging this configuration to the default configuration because it has an issue\n    // with circular structures: https://github.com/mzabriskie/axios/issues/370\n    fixConfig(axiosInstance, config);\n    if (!shouldResetTimeout && config.timeout && currentState.lastRequestTime) {\n        const lastRequestDuration = Date.now() - currentState.lastRequestTime;\n        const timeout = config.timeout - lastRequestDuration - delay;\n        if (timeout <= 0) {\n            return Promise.reject(error);\n        }\n        config.timeout = timeout;\n    }\n    config.transformRequest = [(data) => data];\n    await onRetry(currentState.retryCount, error, config);\n    if (config.signal?.aborted) {\n        return Promise.resolve(axiosInstance(config));\n    }\n    return new Promise((resolve) => {\n        const abortListener = () => {\n            clearTimeout(timeout);\n            resolve(axiosInstance(config));\n        };\n        const timeout = setTimeout(() => {\n            resolve(axiosInstance(config));\n            if (config.signal?.removeEventListener) {\n                config.signal.removeEventListener('abort', abortListener);\n            }\n        }, delay);\n        if (config.signal?.addEventListener) {\n            config.signal.addEventListener('abort', abortListener, { once: true });\n        }\n    });\n}\nasync function handleMaxRetryTimesExceeded(currentState, error) {\n    if (currentState.retryCount >= currentState.retries)\n        await currentState.onMaxRetryTimesExceeded(error, currentState.retryCount);\n}\nconst axiosRetry = (axiosInstance, defaultOptions) => {\n    const requestInterceptorId = axiosInstance.interceptors.request.use((config) => {\n        setCurrentState(config, defaultOptions, true);\n        if (config[namespace]?.validateResponse) {\n            // by setting this, all HTTP responses will be go through the error interceptor first\n            config.validateStatus = () => false;\n        }\n        return config;\n    });\n    const responseInterceptorId = axiosInstance.interceptors.response.use(null, async (error) => {\n        const { config } = error;\n        // If we have no information to retry the request\n        if (!config) {\n            return Promise.reject(error);\n        }\n        const currentState = setCurrentState(config, defaultOptions);\n        if (error.response && currentState.validateResponse?.(error.response)) {\n            // no issue with response\n            return error.response;\n        }\n        if (await shouldRetry(currentState, error)) {\n            return handleRetry(axiosInstance, currentState, error, config);\n        }\n        await handleMaxRetryTimesExceeded(currentState, error);\n        return Promise.reject(error);\n    });\n    return { requestInterceptorId, responseInterceptorId };\n};\n// Compatibility with CommonJS\naxiosRetry.isNetworkError = isNetworkError;\naxiosRetry.isSafeRequestError = isSafeRequestError;\naxiosRetry.isIdempotentRequestError = isIdempotentRequestError;\naxiosRetry.isNetworkOrIdempotentRequestError = isNetworkOrIdempotentRequestError;\naxiosRetry.exponentialDelay = exponentialDelay;\naxiosRetry.linearDelay = linearDelay;\naxiosRetry.isRetryableError = isRetryableError;\nexport default axiosRetry;\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as gen from '../gen/runtime'\nimport * as types from '../types'\n\ntype IClient = common.types.Simplify<gen.Client>\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  token: string\n  botId: string\n  integrationId?: string\n  integrationAlias?: string\n}\n\nexport class Client extends gen.Client {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\n  }\n\n  public get list() {\n    type ListInputs = common.types.ListInputs<IClient>\n    return {\n      conversations: (props: ListInputs['listConversations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listConversations({ nextToken, ...props }).then((r) => ({ ...r, items: r.conversations }))\n        ),\n      participants: (props: ListInputs['listParticipants']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listParticipants({ nextToken, ...props }).then((r) => ({ ...r, items: r.participants }))\n        ),\n      events: (props: ListInputs['listEvents']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listEvents({ nextToken, ...props }).then((r) => ({ ...r, items: r.events }))\n        ),\n      messages: (props: ListInputs['listMessages']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listMessages({ nextToken, ...props }).then((r) => ({ ...r, items: r.messages }))\n        ),\n      users: (props: ListInputs['listUsers']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsers({ nextToken, ...props }).then((r) => ({ ...r, items: r.users }))\n        ),\n    }\n  }\n}\n", "import { isNode } from 'browser-or-node'\nimport http from 'http'\nimport https from 'https'\n\nconst _100mb = 100 * 1024 * 1024\n\nexport const maxBodyLength = _100mb\nexport const maxContentLength = _100mb\nexport const httpAgent = isNode && http && http.Agent ? new http.Agent({ keepAlive: true }) : undefined\nexport const httpsAgent = isNode && https && https.Agent ? new https.Agent({ keepAlive: true }) : undefined\n", "import { isBrowser, isNode } from 'browser-or-node'\nimport * as types from './types'\n\nconst defaultApiUrl = 'https://api.botpress.cloud'\nconst defaultTimeout = 60_000\nconst defaultDebug = false\n\nconst apiUrlEnvName = 'BP_API_URL'\nconst botIdEnvName = 'BP_BOT_ID'\nconst integrationIdEnvName = 'BP_INTEGRATION_ID'\nconst workspaceIdEnvName = 'BP_WORKSPACE_ID'\nconst tokenEnvName = 'BP_TOKEN'\n\ntype AnyClientProps = types.CommonClientProps & {\n  integrationId?: string\n  integrationAlias?: string\n  workspaceId?: string\n  botId?: string\n  token?: string\n}\n\nexport function getClientConfig(clientProps: AnyClientProps): types.ClientConfig {\n  const props = readEnvConfig(clientProps)\n\n  let headers: Record<string, string | string[]> = {}\n\n  if (props.workspaceId) {\n    headers['x-workspace-id'] = props.workspaceId\n  }\n\n  if (props.botId) {\n    headers['x-bot-id'] = props.botId\n  }\n\n  if (props.integrationId) {\n    headers['x-integration-id'] = props.integrationId\n  }\n\n  if (props.integrationAlias) {\n    headers['x-integration-alias'] = props.integrationAlias\n  }\n\n  if (props.token) {\n    headers.Authorization = `Bearer ${props.token}`\n  }\n\n  headers = {\n    ...headers,\n    ...props.headers,\n  }\n\n  const apiUrl = props.apiUrl ?? defaultApiUrl\n  const timeout = props.timeout ?? defaultTimeout\n  const debug = props.debug ?? defaultDebug\n\n  return {\n    apiUrl,\n    timeout,\n    withCredentials: isBrowser,\n    headers,\n    debug,\n  }\n}\n\nfunction readEnvConfig(props: AnyClientProps): AnyClientProps {\n  if (isBrowser) {\n    return getBrowserConfig(props)\n  }\n\n  if (isNode) {\n    return getNodeConfig(props)\n  }\n\n  return props\n}\n\nfunction getNodeConfig(props: AnyClientProps): AnyClientProps {\n  const config: AnyClientProps = {\n    ...props,\n    apiUrl: props.apiUrl ?? process.env[apiUrlEnvName],\n    botId: props.botId ?? process.env[botIdEnvName],\n    integrationId: props.integrationId ?? process.env[integrationIdEnvName],\n    integrationAlias: props.integrationAlias,\n    workspaceId: props.workspaceId ?? process.env[workspaceIdEnvName],\n  }\n\n  const token = config.token ?? process.env[tokenEnvName]\n\n  if (token) {\n    config.token = token\n  }\n\n  return config\n}\n\nfunction getBrowserConfig(props: AnyClientProps): AnyClientProps {\n  return props\n}\n", "export type PageLister<R> = (t: { nextToken?: string }) => Promise<{ items: R[]; meta: { nextToken?: string } }>\nexport class AsyncCollection<T> {\n  public constructor(private _list: PageLister<T>) {}\n\n  public async *[Symbol.asyncIterator]() {\n    let nextToken: string | undefined\n    do {\n      const { items, meta } = await this._list({ nextToken })\n      nextToken = meta.nextToken\n      for (const item of items) {\n        yield item\n      }\n    } while (nextToken)\n  }\n\n  public async collect(props: { limit?: number } = {}) {\n    const limit = props.limit ?? Number.POSITIVE_INFINITY\n    const arr: T[] = []\n    let count = 0\n    for await (const item of this) {\n      arr.push(item)\n      count++\n      if (count >= limit) {\n        break\n      }\n    }\n    return arr\n  }\n}\n", "import * as axios from 'axios'\nimport * as consts from './consts'\nimport * as interceptors from './debug-interceptors'\nimport * as types from './types'\n\nconst createAxios = (config: types.ClientConfig): axios.AxiosRequestConfig => ({\n  baseURL: config.apiUrl,\n  headers: config.headers,\n  withCredentials: config.withCredentials,\n  timeout: config.timeout,\n  maxBodyLength: consts.maxBodyLength,\n  maxContentLength: consts.maxContentLength,\n  httpAgent: consts.httpAgent,\n  httpsAgent: consts.httpsAgent,\n})\n\nexport const createAxiosInstance = (config: types.ClientConfig): axios.AxiosInstance => {\n  const axiosConfig = createAxios(config)\n  const axiosInstance = axios.default.create(axiosConfig)\n\n  if (config.debug) {\n    interceptors.addDebugInterceptors(axiosInstance)\n  }\n\n  return axiosInstance\n}\n", "import * as axios from 'axios'\nimport { isNode } from 'browser-or-node'\nlet randomUUID: () => string\nif (isNode) {\n  randomUUID = require('crypto').randomUUID\n} else if (typeof crypto !== 'undefined' && crypto.randomUUID) {\n  randomUUID = () => crypto.randomUUID()\n} else {\n  randomUUID = () => Math.random().toString(36).substring(2, 15)\n}\n\ntype AxiosRequestConfigWithMetadata<T = unknown> = {\n  headers: axios.AxiosRequestHeaders\n  metadata?: {\n    id?: string\n    startTime?: number\n  }\n} & axios.AxiosRequestConfig<T>\n\ntype AxiosResponseWithMetadata<T = unknown, D = unknown> = {\n  config: AxiosRequestConfigWithMetadata<D>\n} & axios.AxiosResponse<T, D>\n\ntype AxiosErrorWithMetadata<T = unknown, D = unknown> = {\n  config: AxiosRequestConfigWithMetadata<D>\n} & axios.AxiosError<T, D>\n\nexport const addDebugInterceptors = (axiosInstance: axios.AxiosInstance) => {\n  axiosInstance.interceptors.request.use((config: AxiosRequestConfigWithMetadata) => {\n    config.metadata = { startTime: new Date().getTime(), id: randomUUID() }\n    console.debug(_formatRequestLog(config))\n    return config\n  })\n\n  axiosInstance.interceptors.response.use(\n    (response) => {\n      console.debug(_formatResponseLog(response))\n      return response\n    },\n\n    (error) => {\n      console.debug(_formatErrorLog(error))\n      return Promise.reject(error)\n    }\n  )\n}\n\nconst _formatRequestLog = (config: AxiosRequestConfigWithMetadata): string => {\n  const { method, url, headers, data } = config\n\n  const fullUrl = config.baseURL ? new URL(url!, config.baseURL).toString() : url\n\n  return (\n    'REQUEST: ' +\n    JSON.stringify({\n      method: method?.toUpperCase(),\n      url: fullUrl,\n      timestamp: new Date().toISOString(),\n      requestId: config.metadata?.id,\n      headers,\n      body: data,\n    }) +\n    '\\n'\n  )\n}\n\nconst _formatResponseLog = (response: AxiosResponseWithMetadata): string => {\n  const { config, status, headers, data } = response\n  const duration = _formatDuration(response)\n  const fullUrl = config.baseURL ? new URL(response.config.url!, config.baseURL).toString() : response.config.url\n\n  return (\n    'RESPONSE: ' +\n    JSON.stringify({\n      method: config.method?.toUpperCase(),\n      status,\n      url: fullUrl,\n      timestamp: new Date().toISOString(),\n      requestId: config.metadata?.id,\n      duration,\n      headers,\n      body: data,\n    }) +\n    '\\n'\n  )\n}\n\nconst _formatErrorLog = (error: AxiosErrorWithMetadata): string => {\n  const duration = error ? _formatDuration(error) : 'N/A'\n  const fullUrl = error.config.baseURL ? new URL(error.config.url!, error.config.baseURL).toString() : error.config.url\n\n  return (\n    'ERROR: ' +\n    JSON.stringify({\n      status: error.code,\n      url: fullUrl,\n      timestamp: new Date().toISOString(),\n      requestId: error.config.metadata?.id ?? 'N/A',\n      duration,\n    })\n  )\n}\n\nconst _formatDuration = (response: AxiosResponseWithMetadata | AxiosErrorWithMetadata) => {\n  const startTime = response.config.metadata?.startTime\n  const endTime = new Date().getTime()\n  const duration = startTime ? `${endTime - startTime}ms` : 'N/A'\n  return duration\n}\n", "import axios from 'axios'\nimport * as errors from '../errors'\n\nexport const toApiError = (err: unknown): Error => {\n  if (axios.isAxiosError(err) && err.response?.data) {\n    return errors.errorFrom(err.response.data)\n  }\n  return errors.errorFrom(err)\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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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", "import { AxiosError } from 'axios'\nimport { UpsertFileResponse } from './gen/public/operations/upsertFile'\n\nexport * from './gen/public/errors'\n\nexport class UploadFileError extends Error {\n  public constructor(\n    message: string,\n    public readonly innerError?: AxiosError,\n    public readonly file?: UpsertFileResponse['file']\n  ) {\n    super(message)\n    this.name = 'FileUploadError'\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 createConversation from './operations/createConversation'\nimport * as getConversation from './operations/getConversation'\nimport * as listConversations from './operations/listConversations'\nimport * as getOrCreateConversation from './operations/getOrCreateConversation'\nimport * as updateConversation from './operations/updateConversation'\nimport * as deleteConversation from './operations/deleteConversation'\nimport * as listParticipants from './operations/listParticipants'\nimport * as addParticipant from './operations/addParticipant'\nimport * as getParticipant from './operations/getParticipant'\nimport * as removeParticipant from './operations/removeParticipant'\nimport * as createEvent from './operations/createEvent'\nimport * as getEvent from './operations/getEvent'\nimport * as listEvents from './operations/listEvents'\nimport * as cancelScheduledEvent from './operations/cancelScheduledEvent'\nimport * as createMessage from './operations/createMessage'\nimport * as getOrCreateMessage from './operations/getOrCreateMessage'\nimport * as getMessage from './operations/getMessage'\nimport * as updateMessage from './operations/updateMessage'\nimport * as listMessages from './operations/listMessages'\nimport * as deleteMessage from './operations/deleteMessage'\nimport * as initializeIncomingMessage from './operations/initializeIncomingMessage'\nimport * as importMessages from './operations/importMessages'\nimport * as createUser from './operations/createUser'\nimport * as getUser from './operations/getUser'\nimport * as listUsers from './operations/listUsers'\nimport * as getOrCreateUser from './operations/getOrCreateUser'\nimport * as updateUser from './operations/updateUser'\nimport * as deleteUser from './operations/deleteUser'\nimport * as setStateExpiry from './operations/setStateExpiry'\nimport * as getState from './operations/getState'\nimport * as setState from './operations/setState'\nimport * as getOrSetState from './operations/getOrSetState'\nimport * as patchState from './operations/patchState'\nimport * as callAction from './operations/callAction'\nimport * as configureIntegration from './operations/configureIntegration'\nimport * as createWorkflow from './operations/createWorkflow'\nimport * as getWorkflow from './operations/getWorkflow'\nimport * as updateWorkflow from './operations/updateWorkflow'\nimport * as deleteWorkflow from './operations/deleteWorkflow'\nimport * as listWorkflows from './operations/listWorkflows'\nimport * as getOrCreateWorkflow from './operations/getOrCreateWorkflow'\nimport * as listTagValues from './operations/listTagValues'\nimport * as trackAnalytics from './operations/trackAnalytics'\nimport * as captureObservation from './operations/captureObservation'\n\nexport * from './models'\n\nexport * as createConversation from './operations/createConversation'\nexport * as getConversation from './operations/getConversation'\nexport * as listConversations from './operations/listConversations'\nexport * as getOrCreateConversation from './operations/getOrCreateConversation'\nexport * as updateConversation from './operations/updateConversation'\nexport * as deleteConversation from './operations/deleteConversation'\nexport * as listParticipants from './operations/listParticipants'\nexport * as addParticipant from './operations/addParticipant'\nexport * as getParticipant from './operations/getParticipant'\nexport * as removeParticipant from './operations/removeParticipant'\nexport * as createEvent from './operations/createEvent'\nexport * as getEvent from './operations/getEvent'\nexport * as listEvents from './operations/listEvents'\nexport * as cancelScheduledEvent from './operations/cancelScheduledEvent'\nexport * as createMessage from './operations/createMessage'\nexport * as getOrCreateMessage from './operations/getOrCreateMessage'\nexport * as getMessage from './operations/getMessage'\nexport * as updateMessage from './operations/updateMessage'\nexport * as listMessages from './operations/listMessages'\nexport * as deleteMessage from './operations/deleteMessage'\nexport * as initializeIncomingMessage from './operations/initializeIncomingMessage'\nexport * as importMessages from './operations/importMessages'\nexport * as createUser from './operations/createUser'\nexport * as getUser from './operations/getUser'\nexport * as listUsers from './operations/listUsers'\nexport * as getOrCreateUser from './operations/getOrCreateUser'\nexport * as updateUser from './operations/updateUser'\nexport * as deleteUser from './operations/deleteUser'\nexport * as setStateExpiry from './operations/setStateExpiry'\nexport * as getState from './operations/getState'\nexport * as setState from './operations/setState'\nexport * as getOrSetState from './operations/getOrSetState'\nexport * as patchState from './operations/patchState'\nexport * as callAction from './operations/callAction'\nexport * as configureIntegration from './operations/configureIntegration'\nexport * as createWorkflow from './operations/createWorkflow'\nexport * as getWorkflow from './operations/getWorkflow'\nexport * as updateWorkflow from './operations/updateWorkflow'\nexport * as deleteWorkflow from './operations/deleteWorkflow'\nexport * as listWorkflows from './operations/listWorkflows'\nexport * as getOrCreateWorkflow from './operations/getOrCreateWorkflow'\nexport * as listTagValues from './operations/listTagValues'\nexport * as trackAnalytics from './operations/trackAnalytics'\nexport * as captureObservation from './operations/captureObservation'\n\nexport const apiVersion = '1.73.4'\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 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 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 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 getOrCreateConversation = async (input: getOrCreateConversation.GetOrCreateConversationInput): Promise<getOrCreateConversation.GetOrCreateConversationResponse> => {\n    const { path, headers, query, body } = getOrCreateConversation.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<getOrCreateConversation.GetOrCreateConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateConversation = async (input: updateConversation.UpdateConversationInput): Promise<updateConversation.UpdateConversationResponse> => {\n    const { path, headers, query, body } = updateConversation.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<updateConversation.UpdateConversationResponse>(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 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 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 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 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 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 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 listEvents = async (input: listEvents.ListEventsInput): Promise<listEvents.ListEventsResponse> => {\n    const { path, headers, query, body } = listEvents.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<listEvents.ListEventsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly cancelScheduledEvent = async (input: cancelScheduledEvent.CancelScheduledEventInput): Promise<cancelScheduledEvent.CancelScheduledEventResponse> => {\n    const { path, headers, query, body } = cancelScheduledEvent.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<cancelScheduledEvent.CancelScheduledEventResponse>(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 getOrCreateMessage = async (input: getOrCreateMessage.GetOrCreateMessageInput): Promise<getOrCreateMessage.GetOrCreateMessageResponse> => {\n    const { path, headers, query, body } = getOrCreateMessage.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<getOrCreateMessage.GetOrCreateMessageResponse>(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 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 listMessages = async (input: listMessages.ListMessagesInput): Promise<listMessages.ListMessagesResponse> => {\n    const { path, headers, query, body } = listMessages.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<listMessages.ListMessagesResponse>(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 initializeIncomingMessage = async (input: initializeIncomingMessage.InitializeIncomingMessageInput): Promise<initializeIncomingMessage.InitializeIncomingMessageResponse> => {\n    const { path, headers, query, body } = initializeIncomingMessage.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<initializeIncomingMessage.InitializeIncomingMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly importMessages = async (input: importMessages.ImportMessagesInput): Promise<importMessages.ImportMessagesResponse> => {\n    const { path, headers, query, body } = importMessages.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<importMessages.ImportMessagesResponse>(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 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 listUsers = async (input: listUsers.ListUsersInput): Promise<listUsers.ListUsersResponse> => {\n    const { path, headers, query, body } = listUsers.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<listUsers.ListUsersResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateUser = async (input: getOrCreateUser.GetOrCreateUserInput): Promise<getOrCreateUser.GetOrCreateUserResponse> => {\n    const { path, headers, query, body } = getOrCreateUser.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<getOrCreateUser.GetOrCreateUserResponse>(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 setStateExpiry = async (input: setStateExpiry.SetStateExpiryInput): Promise<setStateExpiry.SetStateExpiryResponse> => {\n    const { path, headers, query, body } = setStateExpiry.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<setStateExpiry.SetStateExpiryResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getState = async (input: getState.GetStateInput): Promise<getState.GetStateResponse> => {\n    const { path, headers, query, body } = getState.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<getState.GetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setState = async (input: setState.SetStateInput): Promise<setState.SetStateResponse> => {\n    const { path, headers, query, body } = setState.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<setState.SetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrSetState = async (input: getOrSetState.GetOrSetStateInput): Promise<getOrSetState.GetOrSetStateResponse> => {\n    const { path, headers, query, body } = getOrSetState.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<getOrSetState.GetOrSetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly patchState = async (input: patchState.PatchStateInput): Promise<patchState.PatchStateResponse> => {\n    const { path, headers, query, body } = patchState.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"patch\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<patchState.PatchStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly callAction = async (input: callAction.CallActionInput): Promise<callAction.CallActionResponse> => {\n    const { path, headers, query, body } = callAction.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<callAction.CallActionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly configureIntegration = async (input: configureIntegration.ConfigureIntegrationInput): Promise<configureIntegration.ConfigureIntegrationResponse> => {\n    const { path, headers, query, body } = configureIntegration.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<configureIntegration.ConfigureIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkflow = async (input: createWorkflow.CreateWorkflowInput): Promise<createWorkflow.CreateWorkflowResponse> => {\n    const { path, headers, query, body } = createWorkflow.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<createWorkflow.CreateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkflow = async (input: getWorkflow.GetWorkflowInput): Promise<getWorkflow.GetWorkflowResponse> => {\n    const { path, headers, query, body } = getWorkflow.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<getWorkflow.GetWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkflow = async (input: updateWorkflow.UpdateWorkflowInput): Promise<updateWorkflow.UpdateWorkflowResponse> => {\n    const { path, headers, query, body } = updateWorkflow.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<updateWorkflow.UpdateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkflow = async (input: deleteWorkflow.DeleteWorkflowInput): Promise<deleteWorkflow.DeleteWorkflowResponse> => {\n    const { path, headers, query, body } = deleteWorkflow.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<deleteWorkflow.DeleteWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkflows = async (input: listWorkflows.ListWorkflowsInput): Promise<listWorkflows.ListWorkflowsResponse> => {\n    const { path, headers, query, body } = listWorkflows.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<listWorkflows.ListWorkflowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateWorkflow = async (input: getOrCreateWorkflow.GetOrCreateWorkflowInput): Promise<getOrCreateWorkflow.GetOrCreateWorkflowResponse> => {\n    const { path, headers, query, body } = getOrCreateWorkflow.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<getOrCreateWorkflow.GetOrCreateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listTagValues = async (input: listTagValues.ListTagValuesInput): Promise<listTagValues.ListTagValuesResponse> => {\n    const { path, headers, query, body } = listTagValues.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<listTagValues.ListTagValuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly trackAnalytics = async (input: trackAnalytics.TrackAnalyticsInput): Promise<trackAnalytics.TrackAnalyticsResponse> => {\n    const { path, headers, query, body } = trackAnalytics.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<trackAnalytics.TrackAnalyticsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly captureObservation = async (input: captureObservation.CaptureObservationInput): Promise<captureObservation.CaptureObservationResponse> => {\n    const { path, headers, query, body } = captureObservation.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<captureObservation.CaptureObservationResponse>(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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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 CreateConversationRequestHeaders {}\n\nexport interface CreateConversationRequestQuery {}\n\nexport interface CreateConversationRequestParams {}\n\nexport interface CreateConversationRequestBody {\n  /**\n   * Channel name\n   */\n  channel: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n   */\n  integrationName?: 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: `/v1/chat/conversations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'channel': input['channel'], 'tags': input['tags'], 'integrationName': input['integrationName'] },\n  }\n}\n\nexport interface CreateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetConversationRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListConversationsRequestHeaders {}\n\nexport interface ListConversationsRequestQuery {\n  nextToken?: string;\n  sortField?: \"createdAt\" | \"updatedAt\";\n  sortDirection?: \"asc\" | \"desc\";\n  tags?: {\n    [k: string]: string;\n  };\n  participantIds?: string[];\n  integrationName?: string;\n  channel?: string;\n  afterDate?: string;\n  beforeDate?: 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: `/v1/chat/conversations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'], 'tags': input['tags'], 'participantIds': input['participantIds'], 'integrationName': input['integrationName'], 'channel': input['channel'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'] },\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     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: 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 GetOrCreateConversationRequestHeaders {}\n\nexport interface GetOrCreateConversationRequestQuery {}\n\nexport interface GetOrCreateConversationRequestParams {}\n\nexport interface GetOrCreateConversationRequestBody {\n  /**\n   * Channel name\n   */\n  channel: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing conversations. If provided, all specified tags must match exactly for a conversation to be considered a match. For example, with an existing conversation whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateConversationInput = GetOrCreateConversationRequestBody & GetOrCreateConversationRequestHeaders & GetOrCreateConversationRequestQuery & GetOrCreateConversationRequestParams\n\nexport type GetOrCreateConversationRequest = {\n  headers: GetOrCreateConversationRequestHeaders;\n  query: GetOrCreateConversationRequestQuery;\n  params: GetOrCreateConversationRequestParams;\n  body: GetOrCreateConversationRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateConversationInput): GetOrCreateConversationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/conversations/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'channel': input['channel'], 'tags': input['tags'], 'integrationName': input['integrationName'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateConversationRequestHeaders {}\n\nexport interface UpdateConversationRequestQuery {}\n\nexport interface UpdateConversationRequestParams {\n  id: string;\n}\n\nexport interface UpdateConversationRequestBody {\n  /**\n   * @deprecated\n   * Unused. This parameter will be ignored if provided and should not be used when updating a conversation.\n   */\n  currentTaskId?: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport type UpdateConversationInput = UpdateConversationRequestBody & UpdateConversationRequestHeaders & UpdateConversationRequestQuery & UpdateConversationRequestParams\n\nexport type UpdateConversationRequest = {\n  headers: UpdateConversationRequestHeaders;\n  query: UpdateConversationRequestQuery;\n  params: UpdateConversationRequestParams;\n  body: UpdateConversationRequestBody;\n}\n\nexport const parseReq = (input: UpdateConversationInput): UpdateConversationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'currentTaskId': input['currentTaskId'], 'tags': input['tags'] },\n  }\n}\n\nexport interface UpdateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteConversationRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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 ListParticipantsRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListParticipantsResponse {\n  participants: {\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: 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\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: {  },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetParticipantRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: {  },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RemoveParticipantRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: {  },\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 CreateEventRequestHeaders {}\n\nexport interface CreateEventRequestQuery {}\n\nexport interface CreateEventRequestParams {}\n\nexport interface CreateEventRequestBody {\n  /**\n   * Type of the [Event](#schema_event).\n   */\n  type: string;\n  /**\n   * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our API.\n   */\n  payload: {\n    [k: string]: any;\n  };\n  /**\n   * Schedule the Event to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Event](#schema_event) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Event](#schema_event)\n     */\n    delay?: number;\n  };\n  /**\n   * ID of the [Conversation](#schema_conversation) to link the event to.\n   */\n  conversationId?: string;\n  /**\n   * ID of the [User](#schema_user) to link the event to.\n   */\n  userId?: string;\n  /**\n   * ID of the [Workflow](#schema_workflow) to link the event to.\n   */\n  workflowId?: string;\n  /**\n   * ID of the [Message](#schema_message) to link the event to.\n   */\n  messageId?: string;\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: `/v1/chat/events`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'type': input['type'], 'payload': input['payload'], 'schedule': input['schedule'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'workflowId': input['workflowId'], 'messageId': input['messageId'] },\n  }\n}\n\nexport interface CreateEventResponse {\n  /**\n   * The event object represents an action or an occurrence.\n   */\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetEventRequestHeaders {}\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: `/v1/chat/events/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetEventResponse {\n  /**\n   * The event object represents an action or an occurrence.\n   */\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListEventsRequestHeaders {}\n\nexport interface ListEventsRequestQuery {\n  nextToken?: string;\n  type?: string;\n  conversationId?: string;\n  userId?: string;\n  messageId?: string;\n  workflowId?: string;\n  status?: \"pending\" | \"ignored\" | \"processed\" | \"failed\" | \"scheduled\";\n}\n\nexport interface ListEventsRequestParams {}\n\nexport interface ListEventsRequestBody {}\n\nexport type ListEventsInput = ListEventsRequestBody & ListEventsRequestHeaders & ListEventsRequestQuery & ListEventsRequestParams\n\nexport type ListEventsRequest = {\n  headers: ListEventsRequestHeaders;\n  query: ListEventsRequestQuery;\n  params: ListEventsRequestParams;\n  body: ListEventsRequestBody;\n}\n\nexport const parseReq = (input: ListEventsInput): ListEventsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/events`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'type': input['type'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'messageId': input['messageId'], 'workflowId': input['workflowId'], 'status': input['status'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListEventsResponse {\n  events: {\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\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 CancelScheduledEventRequestHeaders {}\n\nexport interface CancelScheduledEventRequestQuery {}\n\nexport interface CancelScheduledEventRequestParams {\n  id: string;\n}\n\nexport interface CancelScheduledEventRequestBody {}\n\nexport type CancelScheduledEventInput = CancelScheduledEventRequestBody & CancelScheduledEventRequestHeaders & CancelScheduledEventRequestQuery & CancelScheduledEventRequestParams\n\nexport type CancelScheduledEventRequest = {\n  headers: CancelScheduledEventRequestHeaders;\n  query: CancelScheduledEventRequestQuery;\n  params: CancelScheduledEventRequestParams;\n  body: CancelScheduledEventRequestBody;\n}\n\nexport const parseReq = (input: CancelScheduledEventInput): CancelScheduledEventRequest & { path: string } => {\n  return {\n    path: `/v1/chat/events/scheduled/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface CancelScheduledEventResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateMessageRequestHeaders {}\n\nexport interface CreateMessageRequestQuery {}\n\nexport interface CreateMessageRequestParams {}\n\nexport interface CreateMessageRequestBody {\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload: {\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   * Type of the [Message](#schema_message) represents the resource type that the message is related to\n   */\n  type: string;\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Schedule the Message to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Message](#schema_message) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Message](#schema_message)\n     */\n    delay?: number;\n  };\n  origin?: \"synthetic\";\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: `/v1/chat/messages`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'type': input['type'], 'tags': input['tags'], 'schedule': input['schedule'], 'origin': input['origin'] },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrCreateMessageRequestHeaders {}\n\nexport interface GetOrCreateMessageRequestQuery {}\n\nexport interface GetOrCreateMessageRequestParams {}\n\nexport interface GetOrCreateMessageRequestBody {\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload: {\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   * Type of the [Message](#schema_message) represents the resource type that the message is related to\n   */\n  type: string;\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Schedule the Message to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Message](#schema_message) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Message](#schema_message)\n     */\n    delay?: number;\n  };\n  origin?: \"synthetic\";\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateMessageInput = GetOrCreateMessageRequestBody & GetOrCreateMessageRequestHeaders & GetOrCreateMessageRequestQuery & GetOrCreateMessageRequestParams\n\nexport type GetOrCreateMessageRequest = {\n  headers: GetOrCreateMessageRequestHeaders;\n  query: GetOrCreateMessageRequestQuery;\n  params: GetOrCreateMessageRequestParams;\n  body: GetOrCreateMessageRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateMessageInput): GetOrCreateMessageRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'type': input['type'], 'tags': input['tags'], 'schedule': input['schedule'], 'origin': input['origin'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateMessageResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetMessageRequestHeaders {}\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateMessageRequestHeaders {}\n\nexport interface UpdateMessageRequestQuery {}\n\nexport interface UpdateMessageRequestParams {\n  id: string;\n}\n\nexport interface UpdateMessageRequestBody {\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload?: {\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'tags': input['tags'], 'payload': input['payload'] },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListMessagesRequestHeaders {}\n\nexport interface ListMessagesRequestQuery {\n  nextToken?: string;\n  conversationId?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  afterDate?: string;\n  beforeDate?: string;\n}\n\nexport interface ListMessagesRequestParams {}\n\nexport interface ListMessagesRequestBody {}\n\nexport type ListMessagesInput = ListMessagesRequestBody & ListMessagesRequestHeaders & ListMessagesRequestQuery & ListMessagesRequestParams\n\nexport type ListMessagesRequest = {\n  headers: ListMessagesRequestHeaders;\n  query: ListMessagesRequestQuery;\n  params: ListMessagesRequestParams;\n  body: ListMessagesRequestBody;\n}\n\nexport const parseReq = (input: ListMessagesInput): ListMessagesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'conversationId': input['conversationId'], 'tags': input['tags'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListMessagesResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\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 DeleteMessageRequestHeaders {}\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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 InitializeIncomingMessageRequestHeaders {}\n\nexport interface InitializeIncomingMessageRequestQuery {}\n\nexport interface InitializeIncomingMessageRequestParams {}\n\nexport interface InitializeIncomingMessageRequestBody {\n  userId?: string;\n  user?: {\n    /**\n     * Tags for the [User](#schema_user)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * @deprecated\n     * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n     */\n    integrationName?: string;\n    /**\n     * Name of the user\n     */\n    name?: string;\n    /**\n     * URI of the user picture\n     */\n    pictureUrl?: string;\n    /**\n     * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n  conversationId?: string;\n  conversation?: {\n    /**\n     * Channel name\n     */\n    channel: string;\n    /**\n     * Tags for the [Conversation](#schema_conversation)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * @deprecated\n     * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n     */\n    integrationName?: string;\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n  message?: {\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    origin?: \"synthetic\";\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n}\n\nexport type InitializeIncomingMessageInput = InitializeIncomingMessageRequestBody & InitializeIncomingMessageRequestHeaders & InitializeIncomingMessageRequestQuery & InitializeIncomingMessageRequestParams\n\nexport type InitializeIncomingMessageRequest = {\n  headers: InitializeIncomingMessageRequestHeaders;\n  query: InitializeIncomingMessageRequestQuery;\n  params: InitializeIncomingMessageRequestParams;\n  body: InitializeIncomingMessageRequestBody;\n}\n\nexport const parseReq = (input: InitializeIncomingMessageInput): InitializeIncomingMessageRequest & { path: string } => {\n  return {\n    path: `/v1/chat/initialize-incoming-message`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'userId': input['userId'], 'user': input['user'], 'conversationId': input['conversationId'], 'conversation': input['conversation'], 'message': input['message'] },\n  }\n}\n\nexport interface InitializeIncomingMessageResponse {\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ImportMessagesRequestHeaders {}\n\nexport interface ImportMessagesRequestQuery {}\n\nexport interface ImportMessagesRequestParams {}\n\nexport interface ImportMessagesRequestBody {\n  /**\n   * @maxItems 100\n   */\n  messages: {\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\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     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  }[];\n}\n\nexport type ImportMessagesInput = ImportMessagesRequestBody & ImportMessagesRequestHeaders & ImportMessagesRequestQuery & ImportMessagesRequestParams\n\nexport type ImportMessagesRequest = {\n  headers: ImportMessagesRequestHeaders;\n  query: ImportMessagesRequestQuery;\n  params: ImportMessagesRequestParams;\n  body: ImportMessagesRequestBody;\n}\n\nexport const parseReq = (input: ImportMessagesInput): ImportMessagesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages/import-messages`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'messages': input['messages'] },\n  }\n}\n\nexport interface ImportMessagesResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateUserRequestHeaders {}\n\nexport interface CreateUserRequestQuery {}\n\nexport interface CreateUserRequestParams {}\n\nexport interface CreateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Name of the user\n   */\n  name?: string;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n   */\n  attributes?: {\n    [k: string]: string;\n  };\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: `/v1/chat/users`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'tags': input['tags'], 'integrationName': input['integrationName'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], '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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUserRequestHeaders {}\n\nexport interface GetUserRequestQuery {}\n\nexport interface GetUserRequestParams {\n  id: string;\n}\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsersRequestHeaders {}\n\nexport interface ListUsersRequestQuery {\n  nextToken?: string;\n  conversationId?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  afterDate?: string;\n  beforeDate?: string;\n  rangeField?: \"updatedAt\" | \"createdAt\";\n  sortField?: \"updatedAt\" | \"createdAt\";\n  sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface ListUsersRequestParams {}\n\nexport interface ListUsersRequestBody {}\n\nexport type ListUsersInput = ListUsersRequestBody & ListUsersRequestHeaders & ListUsersRequestQuery & ListUsersRequestParams\n\nexport type ListUsersRequest = {\n  headers: ListUsersRequestHeaders;\n  query: ListUsersRequestQuery;\n  params: ListUsersRequestParams;\n  body: ListUsersRequestBody;\n}\n\nexport const parseReq = (input: ListUsersInput): ListUsersRequest & { path: string } => {\n  return {\n    path: `/v1/chat/users`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'conversationId': input['conversationId'], 'tags': input['tags'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'], 'rangeField': input['rangeField'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListUsersResponse {\n  users: {\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: 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 GetOrCreateUserRequestHeaders {}\n\nexport interface GetOrCreateUserRequestQuery {}\n\nexport interface GetOrCreateUserRequestParams {}\n\nexport interface GetOrCreateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Name of the user\n   */\n  name?: string;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing users. If provided, all specified tags must match exactly for a user to be considered a match. For example, with an existing user whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateUserInput = GetOrCreateUserRequestBody & GetOrCreateUserRequestHeaders & GetOrCreateUserRequestQuery & GetOrCreateUserRequestParams\n\nexport type GetOrCreateUserRequest = {\n  headers: GetOrCreateUserRequestHeaders;\n  query: GetOrCreateUserRequestQuery;\n  params: GetOrCreateUserRequestParams;\n  body: GetOrCreateUserRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateUserInput): GetOrCreateUserRequest & { path: string } => {\n  return {\n    path: `/v1/chat/users/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'tags': input['tags'], 'integrationName': input['integrationName'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], 'attributes': input['attributes'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateUserResponse {\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateUserRequestHeaders {}\n\nexport interface UpdateUserRequestQuery {}\n\nexport interface UpdateUserRequestParams {\n  id: string;\n}\n\nexport interface UpdateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Name of the user\n   */\n  name?: string | null;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string | null;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations. Set individual attributes to null to remove them.\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'tags': input['tags'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], '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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteUserRequestHeaders {}\n\nexport interface DeleteUserRequestQuery {}\n\nexport interface DeleteUserRequestParams {\n  id: string;\n}\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteUserResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetStateExpiryRequestHeaders {}\n\nexport interface SetStateExpiryRequestQuery {}\n\nexport interface SetStateExpiryRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface SetStateExpiryRequestBody {\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry: number | null;\n}\n\nexport type SetStateExpiryInput = SetStateExpiryRequestBody & SetStateExpiryRequestHeaders & SetStateExpiryRequestQuery & SetStateExpiryRequestParams\n\nexport type SetStateExpiryRequest = {\n  headers: SetStateExpiryRequestHeaders;\n  query: SetStateExpiryRequestQuery;\n  params: SetStateExpiryRequestParams;\n  body: SetStateExpiryRequestBody;\n}\n\nexport const parseReq = (input: SetStateExpiryInput): SetStateExpiryRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}/expiry`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'expiry': input['expiry'] },\n  }\n}\n\nexport interface SetStateExpiryResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetStateRequestHeaders {}\n\nexport interface GetStateRequestQuery {}\n\nexport interface GetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface GetStateRequestBody {}\n\nexport type GetStateInput = GetStateRequestBody & GetStateRequestHeaders & GetStateRequestQuery & GetStateRequestParams\n\nexport type GetStateRequest = {\n  headers: GetStateRequestHeaders;\n  query: GetStateRequestQuery;\n  params: GetStateRequestParams;\n  body: GetStateRequestBody;\n}\n\nexport const parseReq = (input: GetStateInput): GetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: {  },\n  }\n}\n\nexport interface GetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetStateRequestHeaders {}\n\nexport interface SetStateRequestQuery {}\n\nexport interface SetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface SetStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  } | null;\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry?: number | null;\n}\n\nexport type SetStateInput = SetStateRequestBody & SetStateRequestHeaders & SetStateRequestQuery & SetStateRequestParams\n\nexport type SetStateRequest = {\n  headers: SetStateRequestHeaders;\n  query: SetStateRequestQuery;\n  params: SetStateRequestParams;\n  body: SetStateRequestBody;\n}\n\nexport const parseReq = (input: SetStateInput): SetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'], 'expiry': input['expiry'] },\n  }\n}\n\nexport interface SetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrSetStateRequestHeaders {}\n\nexport interface GetOrSetStateRequestQuery {}\n\nexport interface GetOrSetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface GetOrSetStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  };\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry?: number | null;\n}\n\nexport type GetOrSetStateInput = GetOrSetStateRequestBody & GetOrSetStateRequestHeaders & GetOrSetStateRequestQuery & GetOrSetStateRequestParams\n\nexport type GetOrSetStateRequest = {\n  headers: GetOrSetStateRequestHeaders;\n  query: GetOrSetStateRequestQuery;\n  params: GetOrSetStateRequestParams;\n  body: GetOrSetStateRequestBody;\n}\n\nexport const parseReq = (input: GetOrSetStateInput): GetOrSetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}/get-or-set`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'], 'expiry': input['expiry'] },\n  }\n}\n\nexport interface GetOrSetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface PatchStateRequestHeaders {}\n\nexport interface PatchStateRequestQuery {}\n\nexport interface PatchStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface PatchStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  };\n}\n\nexport type PatchStateInput = PatchStateRequestBody & PatchStateRequestHeaders & PatchStateRequestQuery & PatchStateRequestParams\n\nexport type PatchStateRequest = {\n  headers: PatchStateRequestHeaders;\n  query: PatchStateRequestQuery;\n  params: PatchStateRequestParams;\n  body: PatchStateRequestBody;\n}\n\nexport const parseReq = (input: PatchStateInput): PatchStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'] },\n  }\n}\n\nexport interface PatchStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CallActionRequestHeaders {}\n\nexport interface CallActionRequestQuery {}\n\nexport interface CallActionRequestParams {}\n\nexport interface CallActionRequestBody {\n  /**\n   * Type of the action\n   */\n  type: string;\n  /**\n   * Input of the action\n   */\n  input: {\n    [k: string]: any;\n  };\n}\n\nexport type CallActionInput = CallActionRequestBody & CallActionRequestHeaders & CallActionRequestQuery & CallActionRequestParams\n\nexport type CallActionRequest = {\n  headers: CallActionRequestHeaders;\n  query: CallActionRequestQuery;\n  params: CallActionRequestParams;\n  body: CallActionRequestBody;\n}\n\nexport const parseReq = (input: CallActionInput): CallActionRequest & { path: string } => {\n  return {\n    path: `/v1/chat/actions`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'type': input['type'], 'input': input['input'] },\n  }\n}\n\nexport interface CallActionResponse {\n  /**\n   * Input of the action\n   */\n  output: {\n    [k: string]: any;\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ConfigureIntegrationRequestHeaders {}\n\nexport interface ConfigureIntegrationRequestQuery {}\n\nexport interface ConfigureIntegrationRequestParams {}\n\nexport interface ConfigureIntegrationRequestBody {\n  /**\n   * Unique identifier of the integration that was installed on the bot\n   */\n  identifier?: string | null;\n  /**\n   * Recurring schedule on which `register()` will be called on the integration\n   */\n  scheduleRegisterCall?:\n    | \"hourly\"\n    | \"daily\"\n    | \"weekly\"\n    | \"bi-weekly\"\n    | \"monthly\"\n    | \"bi-monthly\"\n    | \"quarterly\"\n    | \"yearly\";\n  /**\n   * **EXPERIMENTAL** Sandbox identifiers for the integration. Setting this to null will remove all sandbox identifiers.           This is an experimental feature meant to be used by specific integrations.\n   */\n  sandboxIdentifiers?: {} | null;\n}\n\nexport type ConfigureIntegrationInput = ConfigureIntegrationRequestBody & ConfigureIntegrationRequestHeaders & ConfigureIntegrationRequestQuery & ConfigureIntegrationRequestParams\n\nexport type ConfigureIntegrationRequest = {\n  headers: ConfigureIntegrationRequestHeaders;\n  query: ConfigureIntegrationRequestQuery;\n  params: ConfigureIntegrationRequestParams;\n  body: ConfigureIntegrationRequestBody;\n}\n\nexport const parseReq = (input: ConfigureIntegrationInput): ConfigureIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/integrations/configure`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'identifier': input['identifier'], 'scheduleRegisterCall': input['scheduleRegisterCall'], 'sandboxIdentifiers': input['sandboxIdentifiers'] },\n  }\n}\n\nexport interface ConfigureIntegrationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkflowRequestHeaders {}\n\nexport interface CreateWorkflowRequestQuery {}\n\nexport interface CreateWorkflowRequestParams {}\n\nexport interface CreateWorkflowRequestBody {\n  /**\n   * Name of the workflow\n   */\n  name: string;\n  /**\n   * Content related to the workflow\n   */\n  input?: {\n    [k: string]: any;\n  };\n  /**\n   * Parent workflow id is the parent workflow that created this workflow\n   */\n  parentWorkflowId?: string;\n  /**\n   * Conversation id related to this workflow\n   */\n  conversationId?: string;\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  status: \"pending\" | \"in_progress\" | \"listening\";\n  /**\n   * Event id must be specified if the workflow is created with the status in_progress\n   */\n  eventId?: string;\n}\n\nexport type CreateWorkflowInput = CreateWorkflowRequestBody & CreateWorkflowRequestHeaders & CreateWorkflowRequestQuery & CreateWorkflowRequestParams\n\nexport type CreateWorkflowRequest = {\n  headers: CreateWorkflowRequestHeaders;\n  query: CreateWorkflowRequestQuery;\n  params: CreateWorkflowRequestParams;\n  body: CreateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkflowInput): CreateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'input': input['input'], 'parentWorkflowId': input['parentWorkflowId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'], 'status': input['status'], 'eventId': input['eventId'] },\n  }\n}\n\nexport interface CreateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkflowRequestHeaders {}\n\nexport interface GetWorkflowRequestQuery {}\n\nexport interface GetWorkflowRequestParams {\n  id: string;\n}\n\nexport interface GetWorkflowRequestBody {}\n\nexport type GetWorkflowInput = GetWorkflowRequestBody & GetWorkflowRequestHeaders & GetWorkflowRequestQuery & GetWorkflowRequestParams\n\nexport type GetWorkflowRequest = {\n  headers: GetWorkflowRequestHeaders;\n  query: GetWorkflowRequestQuery;\n  params: GetWorkflowRequestParams;\n  body: GetWorkflowRequestBody;\n}\n\nexport const parseReq = (input: GetWorkflowInput): GetWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkflowRequestHeaders {}\n\nexport interface UpdateWorkflowRequestQuery {}\n\nexport interface UpdateWorkflowRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkflowRequestBody {\n  /**\n   * Content related to the workflow\n   */\n  output?: {\n    [k: string]: any;\n  };\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Status of the workflow\n   */\n  status?: \"completed\" | \"cancelled\" | \"listening\" | \"paused\" | \"failed\" | \"in_progress\";\n  /**\n   * Reason why the workflow failed\n   */\n  failureReason?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * Event id must be specified if the workflow is updated with the status in_progress\n   */\n  eventId?: string;\n}\n\nexport type UpdateWorkflowInput = UpdateWorkflowRequestBody & UpdateWorkflowRequestHeaders & UpdateWorkflowRequestQuery & UpdateWorkflowRequestParams\n\nexport type UpdateWorkflowRequest = {\n  headers: UpdateWorkflowRequestHeaders;\n  query: UpdateWorkflowRequestQuery;\n  params: UpdateWorkflowRequestParams;\n  body: UpdateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkflowInput): UpdateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'output': input['output'], 'timeoutAt': input['timeoutAt'], 'status': input['status'], 'failureReason': input['failureReason'], 'tags': input['tags'], 'userId': input['userId'], 'eventId': input['eventId'] },\n  }\n}\n\nexport interface UpdateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkflowRequestHeaders {}\n\nexport interface DeleteWorkflowRequestQuery {}\n\nexport interface DeleteWorkflowRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkflowRequestBody {}\n\nexport type DeleteWorkflowInput = DeleteWorkflowRequestBody & DeleteWorkflowRequestHeaders & DeleteWorkflowRequestQuery & DeleteWorkflowRequestParams\n\nexport type DeleteWorkflowRequest = {\n  headers: DeleteWorkflowRequestHeaders;\n  query: DeleteWorkflowRequestQuery;\n  params: DeleteWorkflowRequestParams;\n  body: DeleteWorkflowRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkflowInput): DeleteWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkflowResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkflowsRequestHeaders {}\n\nexport interface ListWorkflowsRequestQuery {\n  nextToken?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  conversationId?: string;\n  userId?: string;\n  parentWorkflowId?: string;\n  statuses?: (\"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\")[];\n  name?: string;\n}\n\nexport interface ListWorkflowsRequestParams {}\n\nexport interface ListWorkflowsRequestBody {}\n\nexport type ListWorkflowsInput = ListWorkflowsRequestBody & ListWorkflowsRequestHeaders & ListWorkflowsRequestQuery & ListWorkflowsRequestParams\n\nexport type ListWorkflowsRequest = {\n  headers: ListWorkflowsRequestHeaders;\n  query: ListWorkflowsRequestQuery;\n  params: ListWorkflowsRequestParams;\n  body: ListWorkflowsRequestBody;\n}\n\nexport const parseReq = (input: ListWorkflowsInput): ListWorkflowsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'tags': input['tags'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'parentWorkflowId': input['parentWorkflowId'], 'statuses': input['statuses'], 'name': input['name'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkflowsResponse {\n  workflows: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: 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 GetOrCreateWorkflowRequestHeaders {}\n\nexport interface GetOrCreateWorkflowRequestQuery {}\n\nexport interface GetOrCreateWorkflowRequestParams {}\n\nexport interface GetOrCreateWorkflowRequestBody {\n  /**\n   * Name of the workflow\n   */\n  name: string;\n  /**\n   * Content related to the workflow\n   */\n  input?: {\n    [k: string]: any;\n  };\n  /**\n   * Parent workflow id is the parent workflow that created this workflow\n   */\n  parentWorkflowId?: string;\n  /**\n   * Conversation id related to this workflow\n   */\n  conversationId?: string;\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  status: \"pending\" | \"in_progress\" | \"listening\";\n  /**\n   * Event id must be specified if the workflow is created with the status in_progress\n   */\n  eventId?: string;\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing workflows. If provided, all specified tags must match exactly for a workflow to be considered a match. For example, with an existing workflow whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n  /**\n   * When provided, will only match workflows whose status corresponds to the status group.\n   */\n  discriminateByStatusGroup?: \"active\" | \"finished\";\n}\n\nexport type GetOrCreateWorkflowInput = GetOrCreateWorkflowRequestBody & GetOrCreateWorkflowRequestHeaders & GetOrCreateWorkflowRequestQuery & GetOrCreateWorkflowRequestParams\n\nexport type GetOrCreateWorkflowRequest = {\n  headers: GetOrCreateWorkflowRequestHeaders;\n  query: GetOrCreateWorkflowRequestQuery;\n  params: GetOrCreateWorkflowRequestParams;\n  body: GetOrCreateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateWorkflowInput): GetOrCreateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'input': input['input'], 'parentWorkflowId': input['parentWorkflowId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'], 'status': input['status'], 'eventId': input['eventId'], 'discriminateByTags': input['discriminateByTags'], 'discriminateByStatusGroup': input['discriminateByStatusGroup'] },\n  }\n}\n\nexport interface GetOrCreateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListTagValuesRequestHeaders {}\n\nexport interface ListTagValuesRequestQuery {\n  nextToken?: string;\n  type: \"user\" | \"conversation\" | \"message\";\n}\n\nexport interface ListTagValuesRequestParams {\n  key: string;\n}\n\nexport interface ListTagValuesRequestBody {}\n\nexport type ListTagValuesInput = ListTagValuesRequestBody & ListTagValuesRequestHeaders & ListTagValuesRequestQuery & ListTagValuesRequestParams\n\nexport type ListTagValuesRequest = {\n  headers: ListTagValuesRequestHeaders;\n  query: ListTagValuesRequestQuery;\n  params: ListTagValuesRequestParams;\n  body: ListTagValuesRequestBody;\n}\n\nexport const parseReq = (input: ListTagValuesInput): ListTagValuesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/tags/${encodeURIComponent(input['key'])}/values`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'type': input['type'] },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface ListTagValuesResponse {\n  tags: {\n    value: 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 TrackAnalyticsRequestHeaders {}\n\nexport interface TrackAnalyticsRequestQuery {}\n\nexport interface TrackAnalyticsRequestParams {}\n\nexport interface TrackAnalyticsRequestBody {\n  name: string;\n  count: number;\n}\n\nexport type TrackAnalyticsInput = TrackAnalyticsRequestBody & TrackAnalyticsRequestHeaders & TrackAnalyticsRequestQuery & TrackAnalyticsRequestParams\n\nexport type TrackAnalyticsRequest = {\n  headers: TrackAnalyticsRequestHeaders;\n  query: TrackAnalyticsRequestQuery;\n  params: TrackAnalyticsRequestParams;\n  body: TrackAnalyticsRequestBody;\n}\n\nexport const parseReq = (input: TrackAnalyticsInput): TrackAnalyticsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/analytics`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'count': input['count'] },\n  }\n}\n\nexport interface TrackAnalyticsResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CaptureObservationRequestHeaders {}\n\nexport interface CaptureObservationRequestQuery {}\n\nexport interface CaptureObservationRequestParams {}\n\nexport interface CaptureObservationRequestBody {\n  /**\n   * Caller-defined identifier for the observation (e.g. llmz context ID). Uniqueness is not enforced nor guaranteed.\n   */\n  id?: string;\n  /**\n   * Name of the observation\n   */\n  name: string;\n  /**\n   * Data of the observation\n   */\n  data: {\n    [k: string]: any;\n  };\n  /**\n   * ID of the message associated with the observation\n   */\n  messageId?: string;\n  /**\n   * ID of the event associated with the observation\n   */\n  eventId?: string;\n  /**\n   * ID of the conversation associated with the observation\n   */\n  conversationId?: string;\n  /**\n   * ID of the user associated with the observation\n   */\n  userId?: string;\n  /**\n   * ID of the error associated with the observation\n   */\n  errorId?: string;\n  /**\n   * ID of the trace associated with the observation\n   */\n  traceId?: string;\n}\n\nexport type CaptureObservationInput = CaptureObservationRequestBody & CaptureObservationRequestHeaders & CaptureObservationRequestQuery & CaptureObservationRequestParams\n\nexport type CaptureObservationRequest = {\n  headers: CaptureObservationRequestHeaders;\n  query: CaptureObservationRequestQuery;\n  params: CaptureObservationRequestParams;\n  body: CaptureObservationRequestBody;\n}\n\nexport const parseReq = (input: CaptureObservationInput): CaptureObservationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/observations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'id': input['id'], 'name': input['name'], 'data': input['data'], 'messageId': input['messageId'], 'eventId': input['eventId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'errorId': input['errorId'], 'traceId': input['traceId'] },\n  }\n}\n\nexport interface CaptureObservationResponse {}\n\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as gen from '../gen/admin'\nimport * as types from '../types'\n\ntype IClient = common.types.Simplify<gen.Client>\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  workspaceId?: string\n  token: string\n}\n\nexport class Client extends gen.Client {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\n  }\n\n  public get list() {\n    type ListInputs = common.types.ListInputs<IClient>\n    return {\n      publicIntegrations: (props: ListInputs['listPublicIntegrations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n        ),\n      bots: (props: ListInputs['listBots']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listBots({ nextToken, ...props }).then((r) => ({ ...r, items: r.bots }))\n        ),\n      botIssues: (props: ListInputs['listBotIssues']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listBotIssues({ nextToken, ...props }).then((r) => ({ ...r, items: r.issues }))\n        ),\n      workspaces: (props: ListInputs['listWorkspaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n        ),\n      publicWorkspaces: (props: ListInputs['listPublicWorkspaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n        ),\n      workspaceMembers: (props: ListInputs['listWorkspaceMembers']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listWorkspaceMembers({ nextToken, ...props }).then((r) => ({ ...r, items: r.members }))\n        ),\n      integrations: (props: ListInputs['listIntegrations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n        ),\n      interfaces: (props: ListInputs['listInterfaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listInterfaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.interfaces }))\n        ),\n      activities: (props: ListInputs['listActivities']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listActivities({ nextToken, ...props }).then((r) => ({ ...r, items: r.activities }))\n        ),\n      usageActivity: (props: ListInputs['listUsageActivity']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsageActivity({ nextToken, ...props }).then((r) => ({ ...r, items: r.data }))\n        ),\n      usageActivityDaily: (props: ListInputs['listUsageActivityDaily']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsageActivityDaily({ nextToken, ...props }).then((r) => ({ ...r, items: r.data }))\n        ),\n    }\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 runVrl from './operations/runVrl'\nimport * as getAccount from './operations/getAccount'\nimport * as updateAccount from './operations/updateAccount'\nimport * as deleteAccount from './operations/deleteAccount'\nimport * as listPersonalAccessTokens from './operations/listPersonalAccessTokens'\nimport * as createPersonalAccessToken from './operations/createPersonalAccessToken'\nimport * as deletePersonalAccessToken from './operations/deletePersonalAccessToken'\nimport * as setAccountPreference from './operations/setAccountPreference'\nimport * as getAccountPreference from './operations/getAccountPreference'\nimport * as listPublicIntegrations from './operations/listPublicIntegrations'\nimport * as getPublicIntegrationById from './operations/getPublicIntegrationById'\nimport * as getPublicIntegration from './operations/getPublicIntegration'\nimport * as listPublicPlugins from './operations/listPublicPlugins'\nimport * as getPublicPluginById from './operations/getPublicPluginById'\nimport * as getDereferencedPublicPluginById from './operations/getDereferencedPublicPluginById'\nimport * as getPublicPlugin from './operations/getPublicPlugin'\nimport * as getPublicPluginCode from './operations/getPublicPluginCode'\nimport * as listPublicInterfaces from './operations/listPublicInterfaces'\nimport * as getPublicInterfaceById from './operations/getPublicInterfaceById'\nimport * as getPublicInterface from './operations/getPublicInterface'\nimport * as createBot from './operations/createBot'\nimport * as updateBot from './operations/updateBot'\nimport * as rotateBotSigningSecrets from './operations/rotateBotSigningSecrets'\nimport * as transferBot from './operations/transferBot'\nimport * as listBots from './operations/listBots'\nimport * as getBot from './operations/getBot'\nimport * as deleteBot from './operations/deleteBot'\nimport * as getBotLogs from './operations/getBotLogs'\nimport * as getBotWebchat from './operations/getBotWebchat'\nimport * as getBotAnalytics from './operations/getBotAnalytics'\nimport * as listActionRuns from './operations/listActionRuns'\nimport * as getBotIssue from './operations/getBotIssue'\nimport * as listBotIssues from './operations/listBotIssues'\nimport * as deleteBotIssue from './operations/deleteBotIssue'\nimport * as listBotIssueEvents from './operations/listBotIssueEvents'\nimport * as listBotVersions from './operations/listBotVersions'\nimport * as getBotVersion from './operations/getBotVersion'\nimport * as getBotJson from './operations/getBotJson'\nimport * as publishFromBotJson from './operations/publishFromBotJson'\nimport * as createBotVersion from './operations/createBotVersion'\nimport * as deployBotVersion from './operations/deployBotVersion'\nimport * as createIntegrationShareableId from './operations/createIntegrationShareableId'\nimport * as deleteIntegrationShareableId from './operations/deleteIntegrationShareableId'\nimport * as getIntegrationShareableId from './operations/getIntegrationShareableId'\nimport * as unlinkSandboxedConversations from './operations/unlinkSandboxedConversations'\nimport * as listBotApiKeys from './operations/listBotApiKeys'\nimport * as createBotApiKey from './operations/createBotApiKey'\nimport * as deleteBotApiKey from './operations/deleteBotApiKey'\nimport * as getBotAllowlist from './operations/getBotAllowlist'\nimport * as updateBotAllowlist from './operations/updateBotAllowlist'\nimport * as listWorkspaceInvoices from './operations/listWorkspaceInvoices'\nimport * as getUpcomingInvoice from './operations/getUpcomingInvoice'\nimport * as chargeWorkspaceUnpaidInvoices from './operations/chargeWorkspaceUnpaidInvoices'\nimport * as createWorkspace from './operations/createWorkspace'\nimport * as getPublicWorkspace from './operations/getPublicWorkspace'\nimport * as getWorkspace from './operations/getWorkspace'\nimport * as listWorkspaceUsages from './operations/listWorkspaceUsages'\nimport * as breakDownWorkspaceUsageByBot from './operations/breakDownWorkspaceUsageByBot'\nimport * as getAllWorkspaceQuotaCompletion from './operations/getAllWorkspaceQuotaCompletion'\nimport * as getWorkspaceQuota from './operations/getWorkspaceQuota'\nimport * as listWorkspaceQuotas from './operations/listWorkspaceQuotas'\nimport * as updateWorkspace from './operations/updateWorkspace'\nimport * as checkHandleAvailability from './operations/checkHandleAvailability'\nimport * as listWorkspaces from './operations/listWorkspaces'\nimport * as listPublicWorkspaces from './operations/listPublicWorkspaces'\nimport * as deleteWorkspace from './operations/deleteWorkspace'\nimport * as getAuditRecords from './operations/getAuditRecords'\nimport * as setWorkspacePreference from './operations/setWorkspacePreference'\nimport * as getWorkspacePreference from './operations/getWorkspacePreference'\nimport * as listWorkspaceMembers from './operations/listWorkspaceMembers'\nimport * as getWorkspaceMember from './operations/getWorkspaceMember'\nimport * as deleteWorkspaceMember from './operations/deleteWorkspaceMember'\nimport * as createWorkspaceMember from './operations/createWorkspaceMember'\nimport * as updateWorkspaceMember from './operations/updateWorkspaceMember'\nimport * as listIntegrationApiKeys from './operations/listIntegrationApiKeys'\nimport * as createIntegrationApiKey from './operations/createIntegrationApiKey'\nimport * as deleteIntegrationApiKey from './operations/deleteIntegrationApiKey'\nimport * as createIntegration from './operations/createIntegration'\nimport * as validateIntegrationCreation from './operations/validateIntegrationCreation'\nimport * as updateIntegration from './operations/updateIntegration'\nimport * as rotateIntegrationSigningSecrets from './operations/rotateIntegrationSigningSecrets'\nimport * as validateIntegrationUpdate from './operations/validateIntegrationUpdate'\nimport * as listIntegrations from './operations/listIntegrations'\nimport * as getIntegration from './operations/getIntegration'\nimport * as getIntegrationLogs from './operations/getIntegrationLogs'\nimport * as getIntegrationByName from './operations/getIntegrationByName'\nimport * as deleteIntegration from './operations/deleteIntegration'\nimport * as requestIntegrationVerification from './operations/requestIntegrationVerification'\nimport * as createInterface from './operations/createInterface'\nimport * as getInterface from './operations/getInterface'\nimport * as getInterfaceByName from './operations/getInterfaceByName'\nimport * as updateInterface from './operations/updateInterface'\nimport * as deleteInterface from './operations/deleteInterface'\nimport * as listInterfaces from './operations/listInterfaces'\nimport * as createPlugin from './operations/createPlugin'\nimport * as getPlugin from './operations/getPlugin'\nimport * as getDereferencedPlugin from './operations/getDereferencedPlugin'\nimport * as getPluginByName from './operations/getPluginByName'\nimport * as updatePlugin from './operations/updatePlugin'\nimport * as deletePlugin from './operations/deletePlugin'\nimport * as listPlugins from './operations/listPlugins'\nimport * as getPluginCode from './operations/getPluginCode'\nimport * as getUsage from './operations/getUsage'\nimport * as getMultipleUsages from './operations/getMultipleUsages'\nimport * as listUsageHistory from './operations/listUsageHistory'\nimport * as listUsageActivity from './operations/listUsageActivity'\nimport * as listUsageActivityDaily from './operations/listUsageActivityDaily'\nimport * as changeAISpendQuota from './operations/changeAISpendQuota'\nimport * as listActivities from './operations/listActivities'\nimport * as introspect from './operations/introspect'\n\nexport * from './models'\n\nexport * as runVrl from './operations/runVrl'\nexport * as getAccount from './operations/getAccount'\nexport * as updateAccount from './operations/updateAccount'\nexport * as deleteAccount from './operations/deleteAccount'\nexport * as listPersonalAccessTokens from './operations/listPersonalAccessTokens'\nexport * as createPersonalAccessToken from './operations/createPersonalAccessToken'\nexport * as deletePersonalAccessToken from './operations/deletePersonalAccessToken'\nexport * as setAccountPreference from './operations/setAccountPreference'\nexport * as getAccountPreference from './operations/getAccountPreference'\nexport * as listPublicIntegrations from './operations/listPublicIntegrations'\nexport * as getPublicIntegrationById from './operations/getPublicIntegrationById'\nexport * as getPublicIntegration from './operations/getPublicIntegration'\nexport * as listPublicPlugins from './operations/listPublicPlugins'\nexport * as getPublicPluginById from './operations/getPublicPluginById'\nexport * as getDereferencedPublicPluginById from './operations/getDereferencedPublicPluginById'\nexport * as getPublicPlugin from './operations/getPublicPlugin'\nexport * as getPublicPluginCode from './operations/getPublicPluginCode'\nexport * as listPublicInterfaces from './operations/listPublicInterfaces'\nexport * as getPublicInterfaceById from './operations/getPublicInterfaceById'\nexport * as getPublicInterface from './operations/getPublicInterface'\nexport * as createBot from './operations/createBot'\nexport * as updateBot from './operations/updateBot'\nexport * as rotateBotSigningSecrets from './operations/rotateBotSigningSecrets'\nexport * as transferBot from './operations/transferBot'\nexport * as listBots from './operations/listBots'\nexport * as getBot from './operations/getBot'\nexport * as deleteBot from './operations/deleteBot'\nexport * as getBotLogs from './operations/getBotLogs'\nexport * as getBotWebchat from './operations/getBotWebchat'\nexport * as getBotAnalytics from './operations/getBotAnalytics'\nexport * as listActionRuns from './operations/listActionRuns'\nexport * as getBotIssue from './operations/getBotIssue'\nexport * as listBotIssues from './operations/listBotIssues'\nexport * as deleteBotIssue from './operations/deleteBotIssue'\nexport * as listBotIssueEvents from './operations/listBotIssueEvents'\nexport * as listBotVersions from './operations/listBotVersions'\nexport * as getBotVersion from './operations/getBotVersion'\nexport * as getBotJson from './operations/getBotJson'\nexport * as publishFromBotJson from './operations/publishFromBotJson'\nexport * as createBotVersion from './operations/createBotVersion'\nexport * as deployBotVersion from './operations/deployBotVersion'\nexport * as createIntegrationShareableId from './operations/createIntegrationShareableId'\nexport * as deleteIntegrationShareableId from './operations/deleteIntegrationShareableId'\nexport * as getIntegrationShareableId from './operations/getIntegrationShareableId'\nexport * as unlinkSandboxedConversations from './operations/unlinkSandboxedConversations'\nexport * as listBotApiKeys from './operations/listBotApiKeys'\nexport * as createBotApiKey from './operations/createBotApiKey'\nexport * as deleteBotApiKey from './operations/deleteBotApiKey'\nexport * as getBotAllowlist from './operations/getBotAllowlist'\nexport * as updateBotAllowlist from './operations/updateBotAllowlist'\nexport * as listWorkspaceInvoices from './operations/listWorkspaceInvoices'\nexport * as getUpcomingInvoice from './operations/getUpcomingInvoice'\nexport * as chargeWorkspaceUnpaidInvoices from './operations/chargeWorkspaceUnpaidInvoices'\nexport * as createWorkspace from './operations/createWorkspace'\nexport * as getPublicWorkspace from './operations/getPublicWorkspace'\nexport * as getWorkspace from './operations/getWorkspace'\nexport * as listWorkspaceUsages from './operations/listWorkspaceUsages'\nexport * as breakDownWorkspaceUsageByBot from './operations/breakDownWorkspaceUsageByBot'\nexport * as getAllWorkspaceQuotaCompletion from './operations/getAllWorkspaceQuotaCompletion'\nexport * as getWorkspaceQuota from './operations/getWorkspaceQuota'\nexport * as listWorkspaceQuotas from './operations/listWorkspaceQuotas'\nexport * as updateWorkspace from './operations/updateWorkspace'\nexport * as checkHandleAvailability from './operations/checkHandleAvailability'\nexport * as listWorkspaces from './operations/listWorkspaces'\nexport * as listPublicWorkspaces from './operations/listPublicWorkspaces'\nexport * as deleteWorkspace from './operations/deleteWorkspace'\nexport * as getAuditRecords from './operations/getAuditRecords'\nexport * as setWorkspacePreference from './operations/setWorkspacePreference'\nexport * as getWorkspacePreference from './operations/getWorkspacePreference'\nexport * as listWorkspaceMembers from './operations/listWorkspaceMembers'\nexport * as getWorkspaceMember from './operations/getWorkspaceMember'\nexport * as deleteWorkspaceMember from './operations/deleteWorkspaceMember'\nexport * as createWorkspaceMember from './operations/createWorkspaceMember'\nexport * as updateWorkspaceMember from './operations/updateWorkspaceMember'\nexport * as listIntegrationApiKeys from './operations/listIntegrationApiKeys'\nexport * as createIntegrationApiKey from './operations/createIntegrationApiKey'\nexport * as deleteIntegrationApiKey from './operations/deleteIntegrationApiKey'\nexport * as createIntegration from './operations/createIntegration'\nexport * as validateIntegrationCreation from './operations/validateIntegrationCreation'\nexport * as updateIntegration from './operations/updateIntegration'\nexport * as rotateIntegrationSigningSecrets from './operations/rotateIntegrationSigningSecrets'\nexport * as validateIntegrationUpdate from './operations/validateIntegrationUpdate'\nexport * as listIntegrations from './operations/listIntegrations'\nexport * as getIntegration from './operations/getIntegration'\nexport * as getIntegrationLogs from './operations/getIntegrationLogs'\nexport * as getIntegrationByName from './operations/getIntegrationByName'\nexport * as deleteIntegration from './operations/deleteIntegration'\nexport * as requestIntegrationVerification from './operations/requestIntegrationVerification'\nexport * as createInterface from './operations/createInterface'\nexport * as getInterface from './operations/getInterface'\nexport * as getInterfaceByName from './operations/getInterfaceByName'\nexport * as updateInterface from './operations/updateInterface'\nexport * as deleteInterface from './operations/deleteInterface'\nexport * as listInterfaces from './operations/listInterfaces'\nexport * as createPlugin from './operations/createPlugin'\nexport * as getPlugin from './operations/getPlugin'\nexport * as getDereferencedPlugin from './operations/getDereferencedPlugin'\nexport * as getPluginByName from './operations/getPluginByName'\nexport * as updatePlugin from './operations/updatePlugin'\nexport * as deletePlugin from './operations/deletePlugin'\nexport * as listPlugins from './operations/listPlugins'\nexport * as getPluginCode from './operations/getPluginCode'\nexport * as getUsage from './operations/getUsage'\nexport * as getMultipleUsages from './operations/getMultipleUsages'\nexport * as listUsageHistory from './operations/listUsageHistory'\nexport * as listUsageActivity from './operations/listUsageActivity'\nexport * as listUsageActivityDaily from './operations/listUsageActivityDaily'\nexport * as changeAISpendQuota from './operations/changeAISpendQuota'\nexport * as listActivities from './operations/listActivities'\nexport * as introspect from './operations/introspect'\n\nexport const apiVersion = '1.73.4'\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 runVrl = async (input: runVrl.RunVrlInput): Promise<runVrl.RunVrlResponse> => {\n    const { path, headers, query, body } = runVrl.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<runVrl.RunVrlResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAccount = async (input: getAccount.GetAccountInput): Promise<getAccount.GetAccountResponse> => {\n    const { path, headers, query, body } = getAccount.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<getAccount.GetAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateAccount = async (input: updateAccount.UpdateAccountInput): Promise<updateAccount.UpdateAccountResponse> => {\n    const { path, headers, query, body } = updateAccount.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<updateAccount.UpdateAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteAccount = async (input: deleteAccount.DeleteAccountInput): Promise<deleteAccount.DeleteAccountResponse> => {\n    const { path, headers, query, body } = deleteAccount.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<deleteAccount.DeleteAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPersonalAccessTokens = async (input: listPersonalAccessTokens.ListPersonalAccessTokensInput): Promise<listPersonalAccessTokens.ListPersonalAccessTokensResponse> => {\n    const { path, headers, query, body } = listPersonalAccessTokens.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<listPersonalAccessTokens.ListPersonalAccessTokensResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createPersonalAccessToken = async (input: createPersonalAccessToken.CreatePersonalAccessTokenInput): Promise<createPersonalAccessToken.CreatePersonalAccessTokenResponse> => {\n    const { path, headers, query, body } = createPersonalAccessToken.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<createPersonalAccessToken.CreatePersonalAccessTokenResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deletePersonalAccessToken = async (input: deletePersonalAccessToken.DeletePersonalAccessTokenInput): Promise<deletePersonalAccessToken.DeletePersonalAccessTokenResponse> => {\n    const { path, headers, query, body } = deletePersonalAccessToken.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<deletePersonalAccessToken.DeletePersonalAccessTokenResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setAccountPreference = async (input: setAccountPreference.SetAccountPreferenceInput): Promise<setAccountPreference.SetAccountPreferenceResponse> => {\n    const { path, headers, query, body } = setAccountPreference.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<setAccountPreference.SetAccountPreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAccountPreference = async (input: getAccountPreference.GetAccountPreferenceInput): Promise<getAccountPreference.GetAccountPreferenceResponse> => {\n    const { path, headers, query, body } = getAccountPreference.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<getAccountPreference.GetAccountPreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicIntegrations = async (input: listPublicIntegrations.ListPublicIntegrationsInput): Promise<listPublicIntegrations.ListPublicIntegrationsResponse> => {\n    const { path, headers, query, body } = listPublicIntegrations.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<listPublicIntegrations.ListPublicIntegrationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicIntegrationById = async (input: getPublicIntegrationById.GetPublicIntegrationByIdInput): Promise<getPublicIntegrationById.GetPublicIntegrationByIdResponse> => {\n    const { path, headers, query, body } = getPublicIntegrationById.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<getPublicIntegrationById.GetPublicIntegrationByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicIntegration = async (input: getPublicIntegration.GetPublicIntegrationInput): Promise<getPublicIntegration.GetPublicIntegrationResponse> => {\n    const { path, headers, query, body } = getPublicIntegration.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<getPublicIntegration.GetPublicIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicPlugins = async (input: listPublicPlugins.ListPublicPluginsInput): Promise<listPublicPlugins.ListPublicPluginsResponse> => {\n    const { path, headers, query, body } = listPublicPlugins.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<listPublicPlugins.ListPublicPluginsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPluginById = async (input: getPublicPluginById.GetPublicPluginByIdInput): Promise<getPublicPluginById.GetPublicPluginByIdResponse> => {\n    const { path, headers, query, body } = getPublicPluginById.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<getPublicPluginById.GetPublicPluginByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getDereferencedPublicPluginById = async (input: getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdInput): Promise<getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdResponse> => {\n    const { path, headers, query, body } = getDereferencedPublicPluginById.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<getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPlugin = async (input: getPublicPlugin.GetPublicPluginInput): Promise<getPublicPlugin.GetPublicPluginResponse> => {\n    const { path, headers, query, body } = getPublicPlugin.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<getPublicPlugin.GetPublicPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPluginCode = async (input: getPublicPluginCode.GetPublicPluginCodeInput): Promise<getPublicPluginCode.GetPublicPluginCodeResponse> => {\n    const { path, headers, query, body } = getPublicPluginCode.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<getPublicPluginCode.GetPublicPluginCodeResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicInterfaces = async (input: listPublicInterfaces.ListPublicInterfacesInput): Promise<listPublicInterfaces.ListPublicInterfacesResponse> => {\n    const { path, headers, query, body } = listPublicInterfaces.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<listPublicInterfaces.ListPublicInterfacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicInterfaceById = async (input: getPublicInterfaceById.GetPublicInterfaceByIdInput): Promise<getPublicInterfaceById.GetPublicInterfaceByIdResponse> => {\n    const { path, headers, query, body } = getPublicInterfaceById.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<getPublicInterfaceById.GetPublicInterfaceByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicInterface = async (input: getPublicInterface.GetPublicInterfaceInput): Promise<getPublicInterface.GetPublicInterfaceResponse> => {\n    const { path, headers, query, body } = getPublicInterface.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<getPublicInterface.GetPublicInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBot = async (input: createBot.CreateBotInput): Promise<createBot.CreateBotResponse> => {\n    const { path, headers, query, body } = createBot.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<createBot.CreateBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateBot = async (input: updateBot.UpdateBotInput): Promise<updateBot.UpdateBotResponse> => {\n    const { path, headers, query, body } = updateBot.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<updateBot.UpdateBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly rotateBotSigningSecrets = async (input: rotateBotSigningSecrets.RotateBotSigningSecretsInput): Promise<rotateBotSigningSecrets.RotateBotSigningSecretsResponse> => {\n    const { path, headers, query, body } = rotateBotSigningSecrets.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<rotateBotSigningSecrets.RotateBotSigningSecretsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly transferBot = async (input: transferBot.TransferBotInput): Promise<transferBot.TransferBotResponse> => {\n    const { path, headers, query, body } = transferBot.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<transferBot.TransferBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBots = async (input: listBots.ListBotsInput): Promise<listBots.ListBotsResponse> => {\n    const { path, headers, query, body } = listBots.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<listBots.ListBotsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBot = async (input: getBot.GetBotInput): Promise<getBot.GetBotResponse> => {\n    const { path, headers, query, body } = getBot.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<getBot.GetBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBot = async (input: deleteBot.DeleteBotInput): Promise<deleteBot.DeleteBotResponse> => {\n    const { path, headers, query, body } = deleteBot.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<deleteBot.DeleteBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotLogs = async (input: getBotLogs.GetBotLogsInput): Promise<getBotLogs.GetBotLogsResponse> => {\n    const { path, headers, query, body } = getBotLogs.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<getBotLogs.GetBotLogsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotWebchat = async (input: getBotWebchat.GetBotWebchatInput): Promise<getBotWebchat.GetBotWebchatResponse> => {\n    const { path, headers, query, body } = getBotWebchat.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<getBotWebchat.GetBotWebchatResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotAnalytics = async (input: getBotAnalytics.GetBotAnalyticsInput): Promise<getBotAnalytics.GetBotAnalyticsResponse> => {\n    const { path, headers, query, body } = getBotAnalytics.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<getBotAnalytics.GetBotAnalyticsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listActionRuns = async (input: listActionRuns.ListActionRunsInput): Promise<listActionRuns.ListActionRunsResponse> => {\n    const { path, headers, query, body } = listActionRuns.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<listActionRuns.ListActionRunsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotIssue = async (input: getBotIssue.GetBotIssueInput): Promise<getBotIssue.GetBotIssueResponse> => {\n    const { path, headers, query, body } = getBotIssue.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<getBotIssue.GetBotIssueResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotIssues = async (input: listBotIssues.ListBotIssuesInput): Promise<listBotIssues.ListBotIssuesResponse> => {\n    const { path, headers, query, body } = listBotIssues.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<listBotIssues.ListBotIssuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBotIssue = async (input: deleteBotIssue.DeleteBotIssueInput): Promise<deleteBotIssue.DeleteBotIssueResponse> => {\n    const { path, headers, query, body } = deleteBotIssue.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<deleteBotIssue.DeleteBotIssueResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotIssueEvents = async (input: listBotIssueEvents.ListBotIssueEventsInput): Promise<listBotIssueEvents.ListBotIssueEventsResponse> => {\n    const { path, headers, query, body } = listBotIssueEvents.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<listBotIssueEvents.ListBotIssueEventsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotVersions = async (input: listBotVersions.ListBotVersionsInput): Promise<listBotVersions.ListBotVersionsResponse> => {\n    const { path, headers, query, body } = listBotVersions.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<listBotVersions.ListBotVersionsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotVersion = async (input: getBotVersion.GetBotVersionInput): Promise<getBotVersion.GetBotVersionResponse> => {\n    const { path, headers, query, body } = getBotVersion.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<getBotVersion.GetBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotJson = async (input: getBotJson.GetBotJsonInput): Promise<getBotJson.GetBotJsonResponse> => {\n    const { path, headers, query, body } = getBotJson.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<getBotJson.GetBotJsonResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly publishFromBotJson = async (input: publishFromBotJson.PublishFromBotJsonInput): Promise<publishFromBotJson.PublishFromBotJsonResponse> => {\n    const { path, headers, query, body } = publishFromBotJson.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<publishFromBotJson.PublishFromBotJsonResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBotVersion = async (input: createBotVersion.CreateBotVersionInput): Promise<createBotVersion.CreateBotVersionResponse> => {\n    const { path, headers, query, body } = createBotVersion.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<createBotVersion.CreateBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deployBotVersion = async (input: deployBotVersion.DeployBotVersionInput): Promise<deployBotVersion.DeployBotVersionResponse> => {\n    const { path, headers, query, body } = deployBotVersion.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<deployBotVersion.DeployBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegrationShareableId = async (input: createIntegrationShareableId.CreateIntegrationShareableIdInput): Promise<createIntegrationShareableId.CreateIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = createIntegrationShareableId.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<createIntegrationShareableId.CreateIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegrationShareableId = async (input: deleteIntegrationShareableId.DeleteIntegrationShareableIdInput): Promise<deleteIntegrationShareableId.DeleteIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = deleteIntegrationShareableId.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<deleteIntegrationShareableId.DeleteIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationShareableId = async (input: getIntegrationShareableId.GetIntegrationShareableIdInput): Promise<getIntegrationShareableId.GetIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = getIntegrationShareableId.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<getIntegrationShareableId.GetIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly unlinkSandboxedConversations = async (input: unlinkSandboxedConversations.UnlinkSandboxedConversationsInput): Promise<unlinkSandboxedConversations.UnlinkSandboxedConversationsResponse> => {\n    const { path, headers, query, body } = unlinkSandboxedConversations.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<unlinkSandboxedConversations.UnlinkSandboxedConversationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotApiKeys = async (input: listBotApiKeys.ListBotApiKeysInput): Promise<listBotApiKeys.ListBotApiKeysResponse> => {\n    const { path, headers, query, body } = listBotApiKeys.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<listBotApiKeys.ListBotApiKeysResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBotApiKey = async (input: createBotApiKey.CreateBotApiKeyInput): Promise<createBotApiKey.CreateBotApiKeyResponse> => {\n    const { path, headers, query, body } = createBotApiKey.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<createBotApiKey.CreateBotApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBotApiKey = async (input: deleteBotApiKey.DeleteBotApiKeyInput): Promise<deleteBotApiKey.DeleteBotApiKeyResponse> => {\n    const { path, headers, query, body } = deleteBotApiKey.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<deleteBotApiKey.DeleteBotApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotAllowlist = async (input: getBotAllowlist.GetBotAllowlistInput): Promise<getBotAllowlist.GetBotAllowlistResponse> => {\n    const { path, headers, query, body } = getBotAllowlist.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<getBotAllowlist.GetBotAllowlistResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateBotAllowlist = async (input: updateBotAllowlist.UpdateBotAllowlistInput): Promise<updateBotAllowlist.UpdateBotAllowlistResponse> => {\n    const { path, headers, query, body } = updateBotAllowlist.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<updateBotAllowlist.UpdateBotAllowlistResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceInvoices = async (input: listWorkspaceInvoices.ListWorkspaceInvoicesInput): Promise<listWorkspaceInvoices.ListWorkspaceInvoicesResponse> => {\n    const { path, headers, query, body } = listWorkspaceInvoices.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<listWorkspaceInvoices.ListWorkspaceInvoicesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getUpcomingInvoice = async (input: getUpcomingInvoice.GetUpcomingInvoiceInput): Promise<getUpcomingInvoice.GetUpcomingInvoiceResponse> => {\n    const { path, headers, query, body } = getUpcomingInvoice.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<getUpcomingInvoice.GetUpcomingInvoiceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly chargeWorkspaceUnpaidInvoices = async (input: chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesInput): Promise<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse> => {\n    const { path, headers, query, body } = chargeWorkspaceUnpaidInvoices.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<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkspace = async (input: createWorkspace.CreateWorkspaceInput): Promise<createWorkspace.CreateWorkspaceResponse> => {\n    const { path, headers, query, body } = createWorkspace.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<createWorkspace.CreateWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicWorkspace = async (input: getPublicWorkspace.GetPublicWorkspaceInput): Promise<getPublicWorkspace.GetPublicWorkspaceResponse> => {\n    const { path, headers, query, body } = getPublicWorkspace.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<getPublicWorkspace.GetPublicWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspace = async (input: getWorkspace.GetWorkspaceInput): Promise<getWorkspace.GetWorkspaceResponse> => {\n    const { path, headers, query, body } = getWorkspace.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<getWorkspace.GetWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceUsages = async (input: listWorkspaceUsages.ListWorkspaceUsagesInput): Promise<listWorkspaceUsages.ListWorkspaceUsagesResponse> => {\n    const { path, headers, query, body } = listWorkspaceUsages.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<listWorkspaceUsages.ListWorkspaceUsagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly breakDownWorkspaceUsageByBot = async (input: breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotInput): Promise<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse> => {\n    const { path, headers, query, body } = breakDownWorkspaceUsageByBot.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<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAllWorkspaceQuotaCompletion = async (input: getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionInput): Promise<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse> => {\n    const { path, headers, query, body } = getAllWorkspaceQuotaCompletion.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<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspaceQuota = async (input: getWorkspaceQuota.GetWorkspaceQuotaInput): Promise<getWorkspaceQuota.GetWorkspaceQuotaResponse> => {\n    const { path, headers, query, body } = getWorkspaceQuota.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<getWorkspaceQuota.GetWorkspaceQuotaResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceQuotas = async (input: listWorkspaceQuotas.ListWorkspaceQuotasInput): Promise<listWorkspaceQuotas.ListWorkspaceQuotasResponse> => {\n    const { path, headers, query, body } = listWorkspaceQuotas.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<listWorkspaceQuotas.ListWorkspaceQuotasResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkspace = async (input: updateWorkspace.UpdateWorkspaceInput): Promise<updateWorkspace.UpdateWorkspaceResponse> => {\n    const { path, headers, query, body } = updateWorkspace.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<updateWorkspace.UpdateWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly checkHandleAvailability = async (input: checkHandleAvailability.CheckHandleAvailabilityInput): Promise<checkHandleAvailability.CheckHandleAvailabilityResponse> => {\n    const { path, headers, query, body } = checkHandleAvailability.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<checkHandleAvailability.CheckHandleAvailabilityResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaces = async (input: listWorkspaces.ListWorkspacesInput): Promise<listWorkspaces.ListWorkspacesResponse> => {\n    const { path, headers, query, body } = listWorkspaces.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<listWorkspaces.ListWorkspacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicWorkspaces = async (input: listPublicWorkspaces.ListPublicWorkspacesInput): Promise<listPublicWorkspaces.ListPublicWorkspacesResponse> => {\n    const { path, headers, query, body } = listPublicWorkspaces.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<listPublicWorkspaces.ListPublicWorkspacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkspace = async (input: deleteWorkspace.DeleteWorkspaceInput): Promise<deleteWorkspace.DeleteWorkspaceResponse> => {\n    const { path, headers, query, body } = deleteWorkspace.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<deleteWorkspace.DeleteWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAuditRecords = async (input: getAuditRecords.GetAuditRecordsInput): Promise<getAuditRecords.GetAuditRecordsResponse> => {\n    const { path, headers, query, body } = getAuditRecords.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<getAuditRecords.GetAuditRecordsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setWorkspacePreference = async (input: setWorkspacePreference.SetWorkspacePreferenceInput): Promise<setWorkspacePreference.SetWorkspacePreferenceResponse> => {\n    const { path, headers, query, body } = setWorkspacePreference.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<setWorkspacePreference.SetWorkspacePreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspacePreference = async (input: getWorkspacePreference.GetWorkspacePreferenceInput): Promise<getWorkspacePreference.GetWorkspacePreferenceResponse> => {\n    const { path, headers, query, body } = getWorkspacePreference.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<getWorkspacePreference.GetWorkspacePreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceMembers = async (input: listWorkspaceMembers.ListWorkspaceMembersInput): Promise<listWorkspaceMembers.ListWorkspaceMembersResponse> => {\n    const { path, headers, query, body } = listWorkspaceMembers.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<listWorkspaceMembers.ListWorkspaceMembersResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspaceMember = async (input: getWorkspaceMember.GetWorkspaceMemberInput): Promise<getWorkspaceMember.GetWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = getWorkspaceMember.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<getWorkspaceMember.GetWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkspaceMember = async (input: deleteWorkspaceMember.DeleteWorkspaceMemberInput): Promise<deleteWorkspaceMember.DeleteWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = deleteWorkspaceMember.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<deleteWorkspaceMember.DeleteWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkspaceMember = async (input: createWorkspaceMember.CreateWorkspaceMemberInput): Promise<createWorkspaceMember.CreateWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = createWorkspaceMember.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<createWorkspaceMember.CreateWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkspaceMember = async (input: updateWorkspaceMember.UpdateWorkspaceMemberInput): Promise<updateWorkspaceMember.UpdateWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = updateWorkspaceMember.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<updateWorkspaceMember.UpdateWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listIntegrationApiKeys = async (input: listIntegrationApiKeys.ListIntegrationApiKeysInput): Promise<listIntegrationApiKeys.ListIntegrationApiKeysResponse> => {\n    const { path, headers, query, body } = listIntegrationApiKeys.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<listIntegrationApiKeys.ListIntegrationApiKeysResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegrationApiKey = async (input: createIntegrationApiKey.CreateIntegrationApiKeyInput): Promise<createIntegrationApiKey.CreateIntegrationApiKeyResponse> => {\n    const { path, headers, query, body } = createIntegrationApiKey.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<createIntegrationApiKey.CreateIntegrationApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegrationApiKey = async (input: deleteIntegrationApiKey.DeleteIntegrationApiKeyInput): Promise<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse> => {\n    const { path, headers, query, body } = deleteIntegrationApiKey.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<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegration = async (input: createIntegration.CreateIntegrationInput): Promise<createIntegration.CreateIntegrationResponse> => {\n    const { path, headers, query, body } = createIntegration.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<createIntegration.CreateIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly validateIntegrationCreation = async (input: validateIntegrationCreation.ValidateIntegrationCreationInput): Promise<validateIntegrationCreation.ValidateIntegrationCreationResponse> => {\n    const { path, headers, query, body } = validateIntegrationCreation.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<validateIntegrationCreation.ValidateIntegrationCreationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateIntegration = async (input: updateIntegration.UpdateIntegrationInput): Promise<updateIntegration.UpdateIntegrationResponse> => {\n    const { path, headers, query, body } = updateIntegration.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<updateIntegration.UpdateIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly rotateIntegrationSigningSecrets = async (input: rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsInput): Promise<rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsResponse> => {\n    const { path, headers, query, body } = rotateIntegrationSigningSecrets.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<rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly validateIntegrationUpdate = async (input: validateIntegrationUpdate.ValidateIntegrationUpdateInput): Promise<validateIntegrationUpdate.ValidateIntegrationUpdateResponse> => {\n    const { path, headers, query, body } = validateIntegrationUpdate.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<validateIntegrationUpdate.ValidateIntegrationUpdateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listIntegrations = async (input: listIntegrations.ListIntegrationsInput): Promise<listIntegrations.ListIntegrationsResponse> => {\n    const { path, headers, query, body } = listIntegrations.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<listIntegrations.ListIntegrationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegration = async (input: getIntegration.GetIntegrationInput): Promise<getIntegration.GetIntegrationResponse> => {\n    const { path, headers, query, body } = getIntegration.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<getIntegration.GetIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationLogs = async (input: getIntegrationLogs.GetIntegrationLogsInput): Promise<getIntegrationLogs.GetIntegrationLogsResponse> => {\n    const { path, headers, query, body } = getIntegrationLogs.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<getIntegrationLogs.GetIntegrationLogsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationByName = async (input: getIntegrationByName.GetIntegrationByNameInput): Promise<getIntegrationByName.GetIntegrationByNameResponse> => {\n    const { path, headers, query, body } = getIntegrationByName.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<getIntegrationByName.GetIntegrationByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegration = async (input: deleteIntegration.DeleteIntegrationInput): Promise<deleteIntegration.DeleteIntegrationResponse> => {\n    const { path, headers, query, body } = deleteIntegration.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<deleteIntegration.DeleteIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly requestIntegrationVerification = async (input: requestIntegrationVerification.RequestIntegrationVerificationInput): Promise<requestIntegrationVerification.RequestIntegrationVerificationResponse> => {\n    const { path, headers, query, body } = requestIntegrationVerification.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<requestIntegrationVerification.RequestIntegrationVerificationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createInterface = async (input: createInterface.CreateInterfaceInput): Promise<createInterface.CreateInterfaceResponse> => {\n    const { path, headers, query, body } = createInterface.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<createInterface.CreateInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getInterface = async (input: getInterface.GetInterfaceInput): Promise<getInterface.GetInterfaceResponse> => {\n    const { path, headers, query, body } = getInterface.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<getInterface.GetInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getInterfaceByName = async (input: getInterfaceByName.GetInterfaceByNameInput): Promise<getInterfaceByName.GetInterfaceByNameResponse> => {\n    const { path, headers, query, body } = getInterfaceByName.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<getInterfaceByName.GetInterfaceByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateInterface = async (input: updateInterface.UpdateInterfaceInput): Promise<updateInterface.UpdateInterfaceResponse> => {\n    const { path, headers, query, body } = updateInterface.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<updateInterface.UpdateInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteInterface = async (input: deleteInterface.DeleteInterfaceInput): Promise<deleteInterface.DeleteInterfaceResponse> => {\n    const { path, headers, query, body } = deleteInterface.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<deleteInterface.DeleteInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listInterfaces = async (input: listInterfaces.ListInterfacesInput): Promise<listInterfaces.ListInterfacesResponse> => {\n    const { path, headers, query, body } = listInterfaces.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<listInterfaces.ListInterfacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createPlugin = async (input: createPlugin.CreatePluginInput): Promise<createPlugin.CreatePluginResponse> => {\n    const { path, headers, query, body } = createPlugin.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<createPlugin.CreatePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPlugin = async (input: getPlugin.GetPluginInput): Promise<getPlugin.GetPluginResponse> => {\n    const { path, headers, query, body } = getPlugin.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<getPlugin.GetPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getDereferencedPlugin = async (input: getDereferencedPlugin.GetDereferencedPluginInput): Promise<getDereferencedPlugin.GetDereferencedPluginResponse> => {\n    const { path, headers, query, body } = getDereferencedPlugin.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<getDereferencedPlugin.GetDereferencedPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPluginByName = async (input: getPluginByName.GetPluginByNameInput): Promise<getPluginByName.GetPluginByNameResponse> => {\n    const { path, headers, query, body } = getPluginByName.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<getPluginByName.GetPluginByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updatePlugin = async (input: updatePlugin.UpdatePluginInput): Promise<updatePlugin.UpdatePluginResponse> => {\n    const { path, headers, query, body } = updatePlugin.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<updatePlugin.UpdatePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deletePlugin = async (input: deletePlugin.DeletePluginInput): Promise<deletePlugin.DeletePluginResponse> => {\n    const { path, headers, query, body } = deletePlugin.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<deletePlugin.DeletePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPlugins = async (input: listPlugins.ListPluginsInput): Promise<listPlugins.ListPluginsResponse> => {\n    const { path, headers, query, body } = listPlugins.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<listPlugins.ListPluginsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPluginCode = async (input: getPluginCode.GetPluginCodeInput): Promise<getPluginCode.GetPluginCodeResponse> => {\n    const { path, headers, query, body } = getPluginCode.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<getPluginCode.GetPluginCodeResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getUsage = async (input: getUsage.GetUsageInput): Promise<getUsage.GetUsageResponse> => {\n    const { path, headers, query, body } = getUsage.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<getUsage.GetUsageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getMultipleUsages = async (input: getMultipleUsages.GetMultipleUsagesInput): Promise<getMultipleUsages.GetMultipleUsagesResponse> => {\n    const { path, headers, query, body } = getMultipleUsages.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<getMultipleUsages.GetMultipleUsagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageHistory = async (input: listUsageHistory.ListUsageHistoryInput): Promise<listUsageHistory.ListUsageHistoryResponse> => {\n    const { path, headers, query, body } = listUsageHistory.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<listUsageHistory.ListUsageHistoryResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageActivity = async (input: listUsageActivity.ListUsageActivityInput): Promise<listUsageActivity.ListUsageActivityResponse> => {\n    const { path, headers, query, body } = listUsageActivity.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<listUsageActivity.ListUsageActivityResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageActivityDaily = async (input: listUsageActivityDaily.ListUsageActivityDailyInput): Promise<listUsageActivityDaily.ListUsageActivityDailyResponse> => {\n    const { path, headers, query, body } = listUsageActivityDaily.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<listUsageActivityDaily.ListUsageActivityDailyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly changeAISpendQuota = async (input: changeAISpendQuota.ChangeAispendQuotaInput): Promise<changeAISpendQuota.ChangeAispendQuotaResponse> => {\n    const { path, headers, query, body } = changeAISpendQuota.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<changeAISpendQuota.ChangeAispendQuotaResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listActivities = async (input: listActivities.ListActivitiesInput): Promise<listActivities.ListActivitiesResponse> => {\n    const { path, headers, query, body } = listActivities.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<listActivities.ListActivitiesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly introspect = async (input: introspect.IntrospectInput): Promise<introspect.IntrospectResponse> => {\n    const { path, headers, query, body } = introspect.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<introspect.IntrospectResponse>(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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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 RunVrlRequestHeaders {}\n\nexport interface RunVrlRequestQuery {}\n\nexport interface RunVrlRequestParams {}\n\nexport interface RunVrlRequestBody {\n  data: {\n    [k: string]: any;\n  };\n  script: string;\n}\n\nexport type RunVrlInput = RunVrlRequestBody & RunVrlRequestHeaders & RunVrlRequestQuery & RunVrlRequestParams\n\nexport type RunVrlRequest = {\n  headers: RunVrlRequestHeaders;\n  query: RunVrlRequestQuery;\n  params: RunVrlRequestParams;\n  body: RunVrlRequestBody;\n}\n\nexport const parseReq = (input: RunVrlInput): RunVrlRequest & { path: string } => {\n  return {\n    path: `/v1/admin/helper/vrl`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'data': input['data'], 'script': input['script'] },\n  }\n}\n\nexport interface RunVrlResponse {\n  data: {\n    [k: string]: any;\n  };\n  result?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAccountRequestHeaders {}\n\nexport interface GetAccountRequestQuery {}\n\nexport interface GetAccountRequestParams {}\n\nexport interface GetAccountRequestBody {}\n\nexport type GetAccountInput = GetAccountRequestBody & GetAccountRequestHeaders & GetAccountRequestQuery & GetAccountRequestParams\n\nexport type GetAccountRequest = {\n  headers: GetAccountRequestHeaders;\n  query: GetAccountRequestQuery;\n  params: GetAccountRequestParams;\n  body: GetAccountRequestBody;\n}\n\nexport const parseReq = (_: GetAccountInput): GetAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetAccountResponse {\n  account: {\n    id: string;\n    email: string;\n    displayName?: string;\n    emailVerified: boolean;\n    profilePicture?: string;\n    /**\n     * Creation date of the [Account](#schema_account) in ISO 8601 format\n     */\n    createdAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateAccountRequestHeaders {}\n\nexport interface UpdateAccountRequestQuery {}\n\nexport interface UpdateAccountRequestParams {}\n\nexport interface UpdateAccountRequestBody {\n  displayName?: string;\n  profilePicture?: string;\n  refresh?: boolean;\n}\n\nexport type UpdateAccountInput = UpdateAccountRequestBody & UpdateAccountRequestHeaders & UpdateAccountRequestQuery & UpdateAccountRequestParams\n\nexport type UpdateAccountRequest = {\n  headers: UpdateAccountRequestHeaders;\n  query: UpdateAccountRequestQuery;\n  params: UpdateAccountRequestParams;\n  body: UpdateAccountRequestBody;\n}\n\nexport const parseReq = (input: UpdateAccountInput): UpdateAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'displayName': input['displayName'], 'profilePicture': input['profilePicture'], 'refresh': input['refresh'] },\n  }\n}\n\nexport interface UpdateAccountResponse {\n  account: {\n    id: string;\n    email: string;\n    displayName?: string;\n    emailVerified: boolean;\n    profilePicture?: string;\n    /**\n     * Creation date of the [Account](#schema_account) in ISO 8601 format\n     */\n    createdAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteAccountRequestHeaders {}\n\nexport interface DeleteAccountRequestQuery {}\n\nexport interface DeleteAccountRequestParams {}\n\nexport interface DeleteAccountRequestBody {}\n\nexport type DeleteAccountInput = DeleteAccountRequestBody & DeleteAccountRequestHeaders & DeleteAccountRequestQuery & DeleteAccountRequestParams\n\nexport type DeleteAccountRequest = {\n  headers: DeleteAccountRequestHeaders;\n  query: DeleteAccountRequestQuery;\n  params: DeleteAccountRequestParams;\n  body: DeleteAccountRequestBody;\n}\n\nexport const parseReq = (_: DeleteAccountInput): DeleteAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface DeleteAccountResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPersonalAccessTokensRequestHeaders {}\n\nexport interface ListPersonalAccessTokensRequestQuery {}\n\nexport interface ListPersonalAccessTokensRequestParams {}\n\nexport interface ListPersonalAccessTokensRequestBody {}\n\nexport type ListPersonalAccessTokensInput = ListPersonalAccessTokensRequestBody & ListPersonalAccessTokensRequestHeaders & ListPersonalAccessTokensRequestQuery & ListPersonalAccessTokensRequestParams\n\nexport type ListPersonalAccessTokensRequest = {\n  headers: ListPersonalAccessTokensRequestHeaders;\n  query: ListPersonalAccessTokensRequestQuery;\n  params: ListPersonalAccessTokensRequestParams;\n  body: ListPersonalAccessTokensRequestBody;\n}\n\nexport const parseReq = (_: ListPersonalAccessTokensInput): ListPersonalAccessTokensRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPersonalAccessTokensResponse {\n  pats: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreatePersonalAccessTokenRequestHeaders {}\n\nexport interface CreatePersonalAccessTokenRequestQuery {}\n\nexport interface CreatePersonalAccessTokenRequestParams {}\n\nexport interface CreatePersonalAccessTokenRequestBody {\n  /**\n   * Note to identify the PAT\n   */\n  note: string;\n}\n\nexport type CreatePersonalAccessTokenInput = CreatePersonalAccessTokenRequestBody & CreatePersonalAccessTokenRequestHeaders & CreatePersonalAccessTokenRequestQuery & CreatePersonalAccessTokenRequestParams\n\nexport type CreatePersonalAccessTokenRequest = {\n  headers: CreatePersonalAccessTokenRequestHeaders;\n  query: CreatePersonalAccessTokenRequestQuery;\n  params: CreatePersonalAccessTokenRequestParams;\n  body: CreatePersonalAccessTokenRequestBody;\n}\n\nexport const parseReq = (input: CreatePersonalAccessTokenInput): CreatePersonalAccessTokenRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'note': input['note'] },\n  }\n}\n\nexport interface CreatePersonalAccessTokenResponse {\n  pat: {\n    id: string;\n    createdAt: string;\n    note: string;\n    /**\n     * The PAT value. This will only be returned here when created and cannot be retrieved later.\n     */\n    value: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeletePersonalAccessTokenRequestHeaders {}\n\nexport interface DeletePersonalAccessTokenRequestQuery {}\n\nexport interface DeletePersonalAccessTokenRequestParams {\n  id: string;\n}\n\nexport interface DeletePersonalAccessTokenRequestBody {}\n\nexport type DeletePersonalAccessTokenInput = DeletePersonalAccessTokenRequestBody & DeletePersonalAccessTokenRequestHeaders & DeletePersonalAccessTokenRequestQuery & DeletePersonalAccessTokenRequestParams\n\nexport type DeletePersonalAccessTokenRequest = {\n  headers: DeletePersonalAccessTokenRequestHeaders;\n  query: DeletePersonalAccessTokenRequestQuery;\n  params: DeletePersonalAccessTokenRequestParams;\n  body: DeletePersonalAccessTokenRequestBody;\n}\n\nexport const parseReq = (input: DeletePersonalAccessTokenInput): DeletePersonalAccessTokenRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeletePersonalAccessTokenResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetAccountPreferenceRequestHeaders {}\n\nexport interface SetAccountPreferenceRequestQuery {}\n\nexport interface SetAccountPreferenceRequestParams {\n  key: string;\n}\n\nexport interface SetAccountPreferenceRequestBody {\n  value?: any;\n}\n\nexport type SetAccountPreferenceInput = SetAccountPreferenceRequestBody & SetAccountPreferenceRequestHeaders & SetAccountPreferenceRequestQuery & SetAccountPreferenceRequestParams\n\nexport type SetAccountPreferenceRequest = {\n  headers: SetAccountPreferenceRequestHeaders;\n  query: SetAccountPreferenceRequestQuery;\n  params: SetAccountPreferenceRequestParams;\n  body: SetAccountPreferenceRequestBody;\n}\n\nexport const parseReq = (input: SetAccountPreferenceInput): SetAccountPreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: { 'value': input['value'] },\n  }\n}\n\nexport interface SetAccountPreferenceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAccountPreferenceRequestHeaders {}\n\nexport interface GetAccountPreferenceRequestQuery {}\n\nexport interface GetAccountPreferenceRequestParams {\n  key: string;\n}\n\nexport interface GetAccountPreferenceRequestBody {}\n\nexport type GetAccountPreferenceInput = GetAccountPreferenceRequestBody & GetAccountPreferenceRequestHeaders & GetAccountPreferenceRequestQuery & GetAccountPreferenceRequestParams\n\nexport type GetAccountPreferenceRequest = {\n  headers: GetAccountPreferenceRequestHeaders;\n  query: GetAccountPreferenceRequestQuery;\n  params: GetAccountPreferenceRequestParams;\n  body: GetAccountPreferenceRequestBody;\n}\n\nexport const parseReq = (input: GetAccountPreferenceInput): GetAccountPreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface GetAccountPreferenceResponse {\n  value?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicIntegrationsRequestHeaders {}\n\nexport interface ListPublicIntegrationsRequestQuery {\n  nextToken?: string;\n  limit?: number;\n  name?: string;\n  version?: string;\n  interfaceId?: string;\n  interfaceName?: string;\n  installedByBotId?: string;\n  verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n  search?: string;\n  sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n  direction?: \"asc\" | \"desc\";\n}\n\nexport interface ListPublicIntegrationsRequestParams {}\n\nexport interface ListPublicIntegrationsRequestBody {}\n\nexport type ListPublicIntegrationsInput = ListPublicIntegrationsRequestBody & ListPublicIntegrationsRequestHeaders & ListPublicIntegrationsRequestQuery & ListPublicIntegrationsRequestParams\n\nexport type ListPublicIntegrationsRequest = {\n  headers: ListPublicIntegrationsRequestHeaders;\n  query: ListPublicIntegrationsRequestQuery;\n  params: ListPublicIntegrationsRequestParams;\n  body: ListPublicIntegrationsRequestBody;\n}\n\nexport const parseReq = (input: ListPublicIntegrationsInput): ListPublicIntegrationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'], 'name': input['name'], 'version': input['version'], 'interfaceId': input['interfaceId'], 'interfaceName': input['interfaceName'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicIntegrationsResponse {\n  integrations: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n    /**\n     * Metadata about which fields matched the search criteria\n     */\n    matchedOn?: {\n      /**\n       * Whether the integration name matched the search term\n       */\n      name?: boolean;\n      /**\n       * Whether the integration title matched the search term\n       */\n      title?: boolean;\n      /**\n       * Whether the integration description matched the search term\n       */\n      description?: boolean;\n      /**\n       * Action names that matched the search term\n       */\n      actions?: string[];\n      /**\n       * Interface names that matched the search term\n       */\n      interfaces?: string[];\n    };\n    /**\n     * Optional key-value attributes from the integration definition\n     */\n    attributes?: {\n      [k: string]: 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 GetPublicIntegrationByIdRequestHeaders {}\n\nexport interface GetPublicIntegrationByIdRequestQuery {}\n\nexport interface GetPublicIntegrationByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicIntegrationByIdRequestBody {}\n\nexport type GetPublicIntegrationByIdInput = GetPublicIntegrationByIdRequestBody & GetPublicIntegrationByIdRequestHeaders & GetPublicIntegrationByIdRequestQuery & GetPublicIntegrationByIdRequestParams\n\nexport type GetPublicIntegrationByIdRequest = {\n  headers: GetPublicIntegrationByIdRequestHeaders;\n  query: GetPublicIntegrationByIdRequestQuery;\n  params: GetPublicIntegrationByIdRequestParams;\n  body: GetPublicIntegrationByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicIntegrationByIdInput): GetPublicIntegrationByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicIntegrationByIdResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicIntegrationRequestHeaders {}\n\nexport interface GetPublicIntegrationRequestQuery {}\n\nexport interface GetPublicIntegrationRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicIntegrationRequestBody {}\n\nexport type GetPublicIntegrationInput = GetPublicIntegrationRequestBody & GetPublicIntegrationRequestHeaders & GetPublicIntegrationRequestQuery & GetPublicIntegrationRequestParams\n\nexport type GetPublicIntegrationRequest = {\n  headers: GetPublicIntegrationRequestHeaders;\n  query: GetPublicIntegrationRequestQuery;\n  params: GetPublicIntegrationRequestParams;\n  body: GetPublicIntegrationRequestBody;\n}\n\nexport const parseReq = (input: GetPublicIntegrationInput): GetPublicIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicPluginsRequestHeaders {}\n\nexport interface ListPublicPluginsRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPublicPluginsRequestParams {}\n\nexport interface ListPublicPluginsRequestBody {}\n\nexport type ListPublicPluginsInput = ListPublicPluginsRequestBody & ListPublicPluginsRequestHeaders & ListPublicPluginsRequestQuery & ListPublicPluginsRequestParams\n\nexport type ListPublicPluginsRequest = {\n  headers: ListPublicPluginsRequestHeaders;\n  query: ListPublicPluginsRequestQuery;\n  params: ListPublicPluginsRequestParams;\n  body: ListPublicPluginsRequestBody;\n}\n\nexport const parseReq = (input: ListPublicPluginsInput): ListPublicPluginsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicPluginsResponse {\n  plugins: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\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 GetPublicPluginByIdRequestHeaders {}\n\nexport interface GetPublicPluginByIdRequestQuery {}\n\nexport interface GetPublicPluginByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicPluginByIdRequestBody {}\n\nexport type GetPublicPluginByIdInput = GetPublicPluginByIdRequestBody & GetPublicPluginByIdRequestHeaders & GetPublicPluginByIdRequestQuery & GetPublicPluginByIdRequestParams\n\nexport type GetPublicPluginByIdRequest = {\n  headers: GetPublicPluginByIdRequestHeaders;\n  query: GetPublicPluginByIdRequestQuery;\n  params: GetPublicPluginByIdRequestParams;\n  body: GetPublicPluginByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginByIdInput): GetPublicPluginByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginByIdResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetDereferencedPublicPluginByIdRequestHeaders {}\n\nexport interface GetDereferencedPublicPluginByIdRequestQuery {\n  /**\n   * Mapping of interface aliases to integration IDs\n   */\n  interfaces: {\n    /**\n     * integration id\n     */\n    [k: string]: string;\n  };\n}\n\nexport interface GetDereferencedPublicPluginByIdRequestParams {\n  id: string;\n}\n\nexport interface GetDereferencedPublicPluginByIdRequestBody {}\n\nexport type GetDereferencedPublicPluginByIdInput = GetDereferencedPublicPluginByIdRequestBody & GetDereferencedPublicPluginByIdRequestHeaders & GetDereferencedPublicPluginByIdRequestQuery & GetDereferencedPublicPluginByIdRequestParams\n\nexport type GetDereferencedPublicPluginByIdRequest = {\n  headers: GetDereferencedPublicPluginByIdRequestHeaders;\n  query: GetDereferencedPublicPluginByIdRequestQuery;\n  params: GetDereferencedPublicPluginByIdRequestParams;\n  body: GetDereferencedPublicPluginByIdRequestBody;\n}\n\nexport const parseReq = (input: GetDereferencedPublicPluginByIdInput): GetDereferencedPublicPluginByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}/dereferenced`,\n    headers: {  },\n    query: { 'interfaces': input['interfaces'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetDereferencedPublicPluginByIdResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicPluginRequestHeaders {}\n\nexport interface GetPublicPluginRequestQuery {}\n\nexport interface GetPublicPluginRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicPluginRequestBody {}\n\nexport type GetPublicPluginInput = GetPublicPluginRequestBody & GetPublicPluginRequestHeaders & GetPublicPluginRequestQuery & GetPublicPluginRequestParams\n\nexport type GetPublicPluginRequest = {\n  headers: GetPublicPluginRequestHeaders;\n  query: GetPublicPluginRequestQuery;\n  params: GetPublicPluginRequestParams;\n  body: GetPublicPluginRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginInput): GetPublicPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicPluginCodeRequestHeaders {}\n\nexport interface GetPublicPluginCodeRequestQuery {}\n\nexport interface GetPublicPluginCodeRequestParams {\n  id: string;\n  platform: \"node\" | \"browser\";\n}\n\nexport interface GetPublicPluginCodeRequestBody {}\n\nexport type GetPublicPluginCodeInput = GetPublicPluginCodeRequestBody & GetPublicPluginCodeRequestHeaders & GetPublicPluginCodeRequestQuery & GetPublicPluginCodeRequestParams\n\nexport type GetPublicPluginCodeRequest = {\n  headers: GetPublicPluginCodeRequestHeaders;\n  query: GetPublicPluginCodeRequestQuery;\n  params: GetPublicPluginCodeRequestParams;\n  body: GetPublicPluginCodeRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginCodeInput): GetPublicPluginCodeRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}/code/${encodeURIComponent(input['platform'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'platform': input['platform'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginCodeResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicInterfacesRequestHeaders {}\n\nexport interface ListPublicInterfacesRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPublicInterfacesRequestParams {}\n\nexport interface ListPublicInterfacesRequestBody {}\n\nexport type ListPublicInterfacesInput = ListPublicInterfacesRequestBody & ListPublicInterfacesRequestHeaders & ListPublicInterfacesRequestQuery & ListPublicInterfacesRequestParams\n\nexport type ListPublicInterfacesRequest = {\n  headers: ListPublicInterfacesRequestHeaders;\n  query: ListPublicInterfacesRequestQuery;\n  params: ListPublicInterfacesRequestParams;\n  body: ListPublicInterfacesRequestBody;\n}\n\nexport const parseReq = (input: ListPublicInterfacesInput): ListPublicInterfacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicInterfacesResponse {\n  interfaces: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\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 GetPublicInterfaceByIdRequestHeaders {}\n\nexport interface GetPublicInterfaceByIdRequestQuery {}\n\nexport interface GetPublicInterfaceByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicInterfaceByIdRequestBody {}\n\nexport type GetPublicInterfaceByIdInput = GetPublicInterfaceByIdRequestBody & GetPublicInterfaceByIdRequestHeaders & GetPublicInterfaceByIdRequestQuery & GetPublicInterfaceByIdRequestParams\n\nexport type GetPublicInterfaceByIdRequest = {\n  headers: GetPublicInterfaceByIdRequestHeaders;\n  query: GetPublicInterfaceByIdRequestQuery;\n  params: GetPublicInterfaceByIdRequestParams;\n  body: GetPublicInterfaceByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicInterfaceByIdInput): GetPublicInterfaceByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicInterfaceByIdResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicInterfaceRequestHeaders {}\n\nexport interface GetPublicInterfaceRequestQuery {}\n\nexport interface GetPublicInterfaceRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicInterfaceRequestBody {}\n\nexport type GetPublicInterfaceInput = GetPublicInterfaceRequestBody & GetPublicInterfaceRequestHeaders & GetPublicInterfaceRequestQuery & GetPublicInterfaceRequestParams\n\nexport type GetPublicInterfaceRequest = {\n  headers: GetPublicInterfaceRequestHeaders;\n  query: GetPublicInterfaceRequestQuery;\n  params: GetPublicInterfaceRequestParams;\n  body: GetPublicInterfaceRequestBody;\n}\n\nexport const parseReq = (input: GetPublicInterfaceInput): GetPublicInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotRequestHeaders {}\n\nexport interface CreateBotRequestQuery {}\n\nexport interface CreateBotRequestParams {}\n\nexport interface CreateBotRequestBody {\n  /**\n   * A mapping of states to their definition\n   */\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    };\n  };\n  /**\n   * Events definition\n   */\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  recurringEvents?: {\n    [k: string]: {\n      schedule: {\n        cron: string;\n      };\n      type: string;\n      payload: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Subscriptions of the bot\n   */\n  subscriptions?: {\n    /**\n     * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n     */\n    events: {\n      [k: string]: {};\n    } | null;\n  };\n  /**\n   * Actions definition\n   */\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  configuration?: {\n    /**\n     * Configuration data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n  };\n  user?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  conversation?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  message?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Optional attributes of the [Bot](#schema_bot)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * JavaScript code of the bot\n   */\n  code?: string;\n  /**\n   * Optional name for the bot, if not provided will be auto-generated\n   */\n  name?: string;\n  /**\n   * Optional description for the bot\n   */\n  description?: string;\n  /**\n   * Media files associated with the [Bot](#schema_bot)\n   */\n  medias?: {\n    url: string;\n    name: string;\n  }[];\n  /**\n   * URL of the [Bot](#schema_bot)\n   */\n  url?: string;\n  /**\n   * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n   */\n  dev?: boolean;\n}\n\nexport type CreateBotInput = CreateBotRequestBody & CreateBotRequestHeaders & CreateBotRequestQuery & CreateBotRequestParams\n\nexport type CreateBotRequest = {\n  headers: CreateBotRequestHeaders;\n  query: CreateBotRequestQuery;\n  params: CreateBotRequestParams;\n  body: CreateBotRequestBody;\n}\n\nexport const parseReq = (input: CreateBotInput): CreateBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'states': input['states'], 'events': input['events'], 'recurringEvents': input['recurringEvents'], 'subscriptions': input['subscriptions'], 'actions': input['actions'], 'configuration': input['configuration'], 'user': input['user'], 'conversation': input['conversation'], 'message': input['message'], 'tags': input['tags'], 'code': input['code'], 'name': input['name'], 'description': input['description'], 'medias': input['medias'], 'url': input['url'], 'dev': input['dev'] },\n  }\n}\n\nexport interface CreateBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateBotRequestHeaders {}\n\nexport interface UpdateBotRequestQuery {}\n\nexport interface UpdateBotRequestParams {\n  id: string;\n}\n\nexport interface UpdateBotRequestBody {\n  /**\n   * URL of the [Bot](#schema_bot)\n   */\n  url?: string | null;\n  /**\n   * Type of the [Bot](#schema_bot) authentication (`iam` or `hmac-sha256`)\n   */\n  authentication?: \"iam\" | \"hmac-sha256\";\n  configuration?: {\n    /**\n     * Configuration data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n  };\n  /**\n   * Optional attributes of the [Bot](#schema_bot)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  blocked?: boolean;\n  /**\n   * Maximum execution time (in seconds).\n   */\n  maxExecutionTime?: number;\n  /**\n   * Indicates if the [Bot](#schema_bot) should be in always alive mode\n   */\n  alwaysAlive?: boolean;\n  user?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  message?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  conversation?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    } | null;\n  };\n  recurringEvents?: {\n    [k: string]: {\n      schedule: {\n        cron: string;\n      };\n      type: string;\n      payload: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  integrations?: {\n    [k: string]: {\n      enabled?: boolean;\n      /**\n       * Integration's definition ID. If defined, the record's key is treated as an alias for the integration instance.\n       */\n      integrationId?: string;\n      /**\n       * Integration's configuration type. Set to default if null.\n       */\n      configurationType?: string | null;\n      configuration?: {\n        [k: string]: any;\n      };\n      /**\n       * Disabled channels for this integration\n       */\n      disabledChannels?: string[];\n    } | null;\n  };\n  /**\n   * A mapping of plugin aliases to their configuration\n   */\n  plugins?: {\n    [k: string]: {\n      id: string;\n      enabled?: boolean;\n      configuration?: {\n        [k: string]: any;\n      };\n      /**\n       * A mapping of plugin interface aliases to their backing integrations\n       */\n      interfaces?: {\n        [k: string]: {\n          integrationId: string;\n          /**\n           * When an alias is provided, the plugin will use the integration corresponding to this alias. If not provided, the first integration matching the integrationId will be used.\n           */\n          integrationAlias?: string;\n          /**\n           * When an alias is provided, the plugin will use the integration interface corresponding to this alias.\n           */\n          integrationInterfaceAlias?: string;\n        };\n      };\n      /**\n       * A mapping of plugin integration aliases to their backing integrations\n       */\n      integrations?: {\n        [k: string]: {\n          integrationId: string;\n          integrationAlias: string;\n        };\n      };\n    } | null;\n  };\n  subscriptions?: {\n    events: {\n      [k: string]: {} | null;\n    } | null;\n  };\n  /**\n   * JavaScript code of the bot\n   */\n  code?: string;\n  /**\n   * Optional name for the bot, if not provided will be auto-generated\n   */\n  name?: string;\n  /**\n   * Optional description for the bot\n   */\n  description?: string;\n  /**\n   * Media files associated with the [Bot](#schema_bot)\n   */\n  medias?: {\n    url: string;\n    name: string;\n  }[];\n  layers?: string[];\n  /**\n   * UNUSED. Please ignore this field. It will be removed in the near future.\n   */\n  shouldMergePlugins?: boolean;\n}\n\nexport type UpdateBotInput = UpdateBotRequestBody & UpdateBotRequestHeaders & UpdateBotRequestQuery & UpdateBotRequestParams\n\nexport type UpdateBotRequest = {\n  headers: UpdateBotRequestHeaders;\n  query: UpdateBotRequestQuery;\n  params: UpdateBotRequestParams;\n  body: UpdateBotRequestBody;\n}\n\nexport const parseReq = (input: UpdateBotInput): UpdateBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'url': input['url'], 'authentication': input['authentication'], 'configuration': input['configuration'], 'tags': input['tags'], 'blocked': input['blocked'], 'maxExecutionTime': input['maxExecutionTime'], 'alwaysAlive': input['alwaysAlive'], 'user': input['user'], 'message': input['message'], 'conversation': input['conversation'], 'events': input['events'], 'actions': input['actions'], 'states': input['states'], 'recurringEvents': input['recurringEvents'], 'integrations': input['integrations'], 'plugins': input['plugins'], 'subscriptions': input['subscriptions'], 'code': input['code'], 'name': input['name'], 'description': input['description'], 'medias': input['medias'], 'layers': input['layers'], 'shouldMergePlugins': input['shouldMergePlugins'] },\n  }\n}\n\nexport interface UpdateBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RotateBotSigningSecretsRequestHeaders {}\n\nexport interface RotateBotSigningSecretsRequestQuery {}\n\nexport interface RotateBotSigningSecretsRequestParams {\n  id: string;\n}\n\nexport interface RotateBotSigningSecretsRequestBody {}\n\nexport type RotateBotSigningSecretsInput = RotateBotSigningSecretsRequestBody & RotateBotSigningSecretsRequestHeaders & RotateBotSigningSecretsRequestQuery & RotateBotSigningSecretsRequestParams\n\nexport type RotateBotSigningSecretsRequest = {\n  headers: RotateBotSigningSecretsRequestHeaders;\n  query: RotateBotSigningSecretsRequestQuery;\n  params: RotateBotSigningSecretsRequestParams;\n  body: RotateBotSigningSecretsRequestBody;\n}\n\nexport const parseReq = (input: RotateBotSigningSecretsInput): RotateBotSigningSecretsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/signing-secrets/rotate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface RotateBotSigningSecretsResponse {\n  /**\n   * The new signing secret that can be used immediately. The old signing secret(s) will continue to work for 24 hours after this operation to allow for a smooth transition.\n   */\n  newSigningSecret: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface TransferBotRequestHeaders {}\n\nexport interface TransferBotRequestQuery {}\n\nexport interface TransferBotRequestParams {\n  id: string;\n}\n\nexport interface TransferBotRequestBody {\n  /**\n   * The ID of the workspace you want to transfer the bot to.\n   */\n  targetWorkspaceId: string;\n}\n\nexport type TransferBotInput = TransferBotRequestBody & TransferBotRequestHeaders & TransferBotRequestQuery & TransferBotRequestParams\n\nexport type TransferBotRequest = {\n  headers: TransferBotRequestHeaders;\n  query: TransferBotRequestQuery;\n  params: TransferBotRequestParams;\n  body: TransferBotRequestBody;\n}\n\nexport const parseReq = (input: TransferBotInput): TransferBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/transfer`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'targetWorkspaceId': input['targetWorkspaceId'] },\n  }\n}\n\nexport interface TransferBotResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotsRequestHeaders {}\n\nexport interface ListBotsRequestQuery {\n  dev?: boolean;\n  tags?: {\n    [k: string]: string;\n  };\n  nextToken?: string;\n  sortField?: \"createdAt\" | \"updatedAt\";\n  sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface ListBotsRequestParams {}\n\nexport interface ListBotsRequestBody {}\n\nexport type ListBotsInput = ListBotsRequestBody & ListBotsRequestHeaders & ListBotsRequestQuery & ListBotsRequestParams\n\nexport type ListBotsRequest = {\n  headers: ListBotsRequestHeaders;\n  query: ListBotsRequestQuery;\n  params: ListBotsRequestParams;\n  body: ListBotsRequestBody;\n}\n\nexport const parseReq = (input: ListBotsInput): ListBotsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots`,\n    headers: {  },\n    query: { 'dev': input['dev'], 'tags': input['tags'], 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListBotsResponse {\n  bots: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    name: string;\n    deployedAt?: string;\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: 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 GetBotRequestHeaders {}\n\nexport interface GetBotRequestQuery {\n  shouldMergePlugins?: boolean;\n}\n\nexport interface GetBotRequestParams {\n  id: string;\n}\n\nexport interface GetBotRequestBody {}\n\nexport type GetBotInput = GetBotRequestBody & GetBotRequestHeaders & GetBotRequestQuery & GetBotRequestParams\n\nexport type GetBotRequest = {\n  headers: GetBotRequestHeaders;\n  query: GetBotRequestQuery;\n  params: GetBotRequestParams;\n  body: GetBotRequestBody;\n}\n\nexport const parseReq = (input: GetBotInput): GetBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: { 'shouldMergePlugins': input['shouldMergePlugins'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteBotRequestHeaders {}\n\nexport interface DeleteBotRequestQuery {}\n\nexport interface DeleteBotRequestParams {\n  id: string;\n}\n\nexport interface DeleteBotRequestBody {}\n\nexport type DeleteBotInput = DeleteBotRequestBody & DeleteBotRequestHeaders & DeleteBotRequestQuery & DeleteBotRequestParams\n\nexport type DeleteBotRequest = {\n  headers: DeleteBotRequestHeaders;\n  query: DeleteBotRequestQuery;\n  params: DeleteBotRequestParams;\n  body: DeleteBotRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotInput): DeleteBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotLogsRequestHeaders {}\n\nexport interface GetBotLogsRequestQuery {\n  timeStart: string;\n  timeEnd?: string;\n  level?: string;\n  userId?: string;\n  workflowId?: string;\n  conversationId?: string;\n  messageContains?: string;\n  nextToken?: string;\n}\n\nexport interface GetBotLogsRequestParams {\n  id: string;\n}\n\nexport interface GetBotLogsRequestBody {}\n\nexport type GetBotLogsInput = GetBotLogsRequestBody & GetBotLogsRequestHeaders & GetBotLogsRequestQuery & GetBotLogsRequestParams\n\nexport type GetBotLogsRequest = {\n  headers: GetBotLogsRequestHeaders;\n  query: GetBotLogsRequestQuery;\n  params: GetBotLogsRequestParams;\n  body: GetBotLogsRequestBody;\n}\n\nexport const parseReq = (input: GetBotLogsInput): GetBotLogsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/logs`,\n    headers: {  },\n    query: { 'timeStart': input['timeStart'], 'timeEnd': input['timeEnd'], 'level': input['level'], 'userId': input['userId'], 'workflowId': input['workflowId'], 'conversationId': input['conversationId'], 'messageContains': input['messageContains'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotLogsResponse {\n  logs: {\n    timestamp: string;\n    level: string;\n    message: string;\n    workflowId?: string;\n    userId?: string;\n    conversationId?: string;\n  }[];\n  nextToken?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotWebchatRequestHeaders {}\n\nexport interface GetBotWebchatRequestQuery {\n  type: \"preconfigured\" | \"configurable\" | \"fullscreen\" | \"sharableUrl\";\n}\n\nexport interface GetBotWebchatRequestParams {\n  id: string;\n}\n\nexport interface GetBotWebchatRequestBody {}\n\nexport type GetBotWebchatInput = GetBotWebchatRequestBody & GetBotWebchatRequestHeaders & GetBotWebchatRequestQuery & GetBotWebchatRequestParams\n\nexport type GetBotWebchatRequest = {\n  headers: GetBotWebchatRequestHeaders;\n  query: GetBotWebchatRequestQuery;\n  params: GetBotWebchatRequestParams;\n  body: GetBotWebchatRequestBody;\n}\n\nexport const parseReq = (input: GetBotWebchatInput): GetBotWebchatRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/webchat`,\n    headers: {  },\n    query: { 'type': input['type'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotWebchatResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotAnalyticsRequestHeaders {}\n\nexport interface GetBotAnalyticsRequestQuery {\n  startDate: string;\n  endDate: string;\n}\n\nexport interface GetBotAnalyticsRequestParams {\n  id: string;\n}\n\nexport interface GetBotAnalyticsRequestBody {}\n\nexport type GetBotAnalyticsInput = GetBotAnalyticsRequestBody & GetBotAnalyticsRequestHeaders & GetBotAnalyticsRequestQuery & GetBotAnalyticsRequestParams\n\nexport type GetBotAnalyticsRequest = {\n  headers: GetBotAnalyticsRequestHeaders;\n  query: GetBotAnalyticsRequestQuery;\n  params: GetBotAnalyticsRequestParams;\n  body: GetBotAnalyticsRequestBody;\n}\n\nexport const parseReq = (input: GetBotAnalyticsInput): GetBotAnalyticsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/analytics`,\n    headers: {  },\n    query: { 'startDate': input['startDate'], 'endDate': input['endDate'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotAnalyticsResponse {\n  records: {\n    /**\n     * ISO 8601 date string of the beginning (inclusive) of the period\n     */\n    startDateTimeUtc: string;\n    /**\n     * ISO 8601 date string of the end (inclusive) of the period\n     */\n    endDateTimeUtc: string;\n    returningUsers: number;\n    newUsers: number;\n    sessions: number;\n    /**\n     * Deprecated. Use `userMessages` instead.\n     */\n    messages: number;\n    userMessages: number;\n    botMessages: number;\n    events: number;\n    eventTypes: {\n      [k: string]: number;\n    };\n    customEvents: {\n      [k: string]: number;\n    };\n    llm: {\n      calls: number;\n      errors: number;\n      inputTokens: number;\n      outputTokens: number;\n      /**\n       * The time it took for the LLM to complete its response. Values are expressed in milliseconds\n       */\n      latency: {\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n      /**\n       * LLM response generation speed expressed in output tokens per second.\n       */\n      tokensPerSecond: {\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n      /**\n       * Values are expressed in U.S. dollars\n       */\n      cost: {\n        sum: number;\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n    };\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListActionRunsRequestHeaders {}\n\nexport interface ListActionRunsRequestQuery {\n  integrationName: string;\n  timestampFrom?: string;\n  timestampUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListActionRunsRequestParams {\n  id: string;\n}\n\nexport interface ListActionRunsRequestBody {}\n\nexport type ListActionRunsInput = ListActionRunsRequestBody & ListActionRunsRequestHeaders & ListActionRunsRequestQuery & ListActionRunsRequestParams\n\nexport type ListActionRunsRequest = {\n  headers: ListActionRunsRequestHeaders;\n  query: ListActionRunsRequestQuery;\n  params: ListActionRunsRequestParams;\n  body: ListActionRunsRequestBody;\n}\n\nexport const parseReq = (input: ListActionRunsInput): ListActionRunsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/action-runs`,\n    headers: {  },\n    query: { 'integrationName': input['integrationName'], 'timestampFrom': input['timestampFrom'], 'timestampUntil': input['timestampUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListActionRunsResponse {\n  data: {\n    /**\n     * ISO 8601 timestamp of the action run\n     */\n    timestamp: string;\n    /**\n     * Alias of the integration instance used for this action run\n     */\n    integrationName?: string;\n    actionType: string;\n    /**\n     * Input of the action\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Present if the length of the action's input exceeds 190 KB.\n     */\n    inputTruncated?: boolean;\n    /**\n     * Output of the action\n     */\n    output: {\n      [k: string]: any;\n    } | null;\n    /**\n     * Present if the length of the action's output exceeds 190 KB.\n     */\n    outputTruncated?: boolean;\n    status: \"SUCCESS\" | \"FAILURE\";\n    durationMs: number;\n    cached: boolean;\n    errorMessage?: string | null;\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotIssueRequestHeaders {}\n\nexport interface GetBotIssueRequestQuery {}\n\nexport interface GetBotIssueRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface GetBotIssueRequestBody {}\n\nexport type GetBotIssueInput = GetBotIssueRequestBody & GetBotIssueRequestHeaders & GetBotIssueRequestQuery & GetBotIssueRequestParams\n\nexport type GetBotIssueRequest = {\n  headers: GetBotIssueRequestHeaders;\n  query: GetBotIssueRequestQuery;\n  params: GetBotIssueRequestParams;\n  body: GetBotIssueRequestBody;\n}\n\nexport const parseReq = (input: GetBotIssueInput): GetBotIssueRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotIssueResponse {\n  issue: {\n    id: string;\n    code: string;\n    createdAt: string;\n    lastSeenAt: string;\n    title: string;\n    description: string;\n    groupedData: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n    eventsCount: number;\n    category: \"user_code\" | \"limits\" | \"configuration\" | \"other\";\n    resolutionLink: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotIssuesRequestHeaders {}\n\nexport interface ListBotIssuesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListBotIssuesRequestParams {\n  id: string;\n}\n\nexport interface ListBotIssuesRequestBody {}\n\nexport type ListBotIssuesInput = ListBotIssuesRequestBody & ListBotIssuesRequestHeaders & ListBotIssuesRequestQuery & ListBotIssuesRequestParams\n\nexport type ListBotIssuesRequest = {\n  headers: ListBotIssuesRequestHeaders;\n  query: ListBotIssuesRequestQuery;\n  params: ListBotIssuesRequestParams;\n  body: ListBotIssuesRequestBody;\n}\n\nexport const parseReq = (input: ListBotIssuesInput): ListBotIssuesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotIssuesResponse {\n  issues: {\n    id: string;\n    code: string;\n    createdAt: string;\n    lastSeenAt: string;\n    title: string;\n    description: string;\n    groupedData: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n    eventsCount: number;\n    category: \"user_code\" | \"limits\" | \"configuration\" | \"other\";\n    resolutionLink: string | null;\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 DeleteBotIssueRequestHeaders {}\n\nexport interface DeleteBotIssueRequestQuery {}\n\nexport interface DeleteBotIssueRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface DeleteBotIssueRequestBody {}\n\nexport type DeleteBotIssueInput = DeleteBotIssueRequestBody & DeleteBotIssueRequestHeaders & DeleteBotIssueRequestQuery & DeleteBotIssueRequestParams\n\nexport type DeleteBotIssueRequest = {\n  headers: DeleteBotIssueRequestHeaders;\n  query: DeleteBotIssueRequestQuery;\n  params: DeleteBotIssueRequestParams;\n  body: DeleteBotIssueRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotIssueInput): DeleteBotIssueRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotIssueResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotIssueEventsRequestHeaders {}\n\nexport interface ListBotIssueEventsRequestQuery {}\n\nexport interface ListBotIssueEventsRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface ListBotIssueEventsRequestBody {}\n\nexport type ListBotIssueEventsInput = ListBotIssueEventsRequestBody & ListBotIssueEventsRequestHeaders & ListBotIssueEventsRequestQuery & ListBotIssueEventsRequestParams\n\nexport type ListBotIssueEventsRequest = {\n  headers: ListBotIssueEventsRequestHeaders;\n  query: ListBotIssueEventsRequestQuery;\n  params: ListBotIssueEventsRequestParams;\n  body: ListBotIssueEventsRequestBody;\n}\n\nexport const parseReq = (input: ListBotIssueEventsInput): ListBotIssueEventsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}/events`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotIssueEventsResponse {\n  issueEvents: {\n    id: string;\n    createdAt: string;\n    data: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotVersionsRequestHeaders {}\n\nexport interface ListBotVersionsRequestQuery {}\n\nexport interface ListBotVersionsRequestParams {\n  id: string;\n}\n\nexport interface ListBotVersionsRequestBody {}\n\nexport type ListBotVersionsInput = ListBotVersionsRequestBody & ListBotVersionsRequestHeaders & ListBotVersionsRequestQuery & ListBotVersionsRequestParams\n\nexport type ListBotVersionsRequest = {\n  headers: ListBotVersionsRequestHeaders;\n  query: ListBotVersionsRequestQuery;\n  params: ListBotVersionsRequestParams;\n  body: ListBotVersionsRequestBody;\n}\n\nexport const parseReq = (input: ListBotVersionsInput): ListBotVersionsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotVersionsResponse {\n  versions: {\n    id: string;\n    name: string;\n    description?: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotVersionRequestHeaders {}\n\nexport interface GetBotVersionRequestQuery {}\n\nexport interface GetBotVersionRequestParams {\n  id: string;\n  versionId: string;\n}\n\nexport interface GetBotVersionRequestBody {}\n\nexport type GetBotVersionInput = GetBotVersionRequestBody & GetBotVersionRequestHeaders & GetBotVersionRequestQuery & GetBotVersionRequestParams\n\nexport type GetBotVersionRequest = {\n  headers: GetBotVersionRequestHeaders;\n  query: GetBotVersionRequestQuery;\n  params: GetBotVersionRequestParams;\n  body: GetBotVersionRequestBody;\n}\n\nexport const parseReq = (input: GetBotVersionInput): GetBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions/${encodeURIComponent(input['versionId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'versionId': input['versionId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotVersionResponse {\n  url: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotJsonRequestHeaders {}\n\nexport interface GetBotJsonRequestQuery {}\n\nexport interface GetBotJsonRequestParams {\n  id: string;\n}\n\nexport interface GetBotJsonRequestBody {}\n\nexport type GetBotJsonInput = GetBotJsonRequestBody & GetBotJsonRequestHeaders & GetBotJsonRequestQuery & GetBotJsonRequestParams\n\nexport type GetBotJsonRequest = {\n  headers: GetBotJsonRequestHeaders;\n  query: GetBotJsonRequestQuery;\n  params: GetBotJsonRequestParams;\n  body: GetBotJsonRequestBody;\n}\n\nexport const parseReq = (input: GetBotJsonInput): GetBotJsonRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/bot-json`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotJsonResponse {\n  [k: string]: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface PublishFromBotJsonRequestHeaders {}\n\nexport interface PublishFromBotJsonRequestQuery {}\n\nexport interface PublishFromBotJsonRequestParams {\n  id: string;\n}\n\nexport interface PublishFromBotJsonRequestBody {\n  botJson: {\n    [k: string]: any;\n  };\n}\n\nexport type PublishFromBotJsonInput = PublishFromBotJsonRequestBody & PublishFromBotJsonRequestHeaders & PublishFromBotJsonRequestQuery & PublishFromBotJsonRequestParams\n\nexport type PublishFromBotJsonRequest = {\n  headers: PublishFromBotJsonRequestHeaders;\n  query: PublishFromBotJsonRequestQuery;\n  params: PublishFromBotJsonRequestParams;\n  body: PublishFromBotJsonRequestBody;\n}\n\nexport const parseReq = (input: PublishFromBotJsonInput): PublishFromBotJsonRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/publish-from-bot-json`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'botJson': input['botJson'] },\n  }\n}\n\nexport interface PublishFromBotJsonResponse {\n  [k: string]: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotVersionRequestHeaders {}\n\nexport interface CreateBotVersionRequestQuery {}\n\nexport interface CreateBotVersionRequestParams {\n  id: string;\n}\n\nexport interface CreateBotVersionRequestBody {\n  name: string;\n  description?: string;\n}\n\nexport type CreateBotVersionInput = CreateBotVersionRequestBody & CreateBotVersionRequestHeaders & CreateBotVersionRequestQuery & CreateBotVersionRequestParams\n\nexport type CreateBotVersionRequest = {\n  headers: CreateBotVersionRequestHeaders;\n  query: CreateBotVersionRequestQuery;\n  params: CreateBotVersionRequestParams;\n  body: CreateBotVersionRequestBody;\n}\n\nexport const parseReq = (input: CreateBotVersionInput): CreateBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'description': input['description'] },\n  }\n}\n\nexport interface CreateBotVersionResponse {\n  version: {\n    id: string;\n    name: string;\n    description?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeployBotVersionRequestHeaders {}\n\nexport interface DeployBotVersionRequestQuery {}\n\nexport interface DeployBotVersionRequestParams {\n  id: string;\n}\n\nexport interface DeployBotVersionRequestBody {\n  versionId: string;\n}\n\nexport type DeployBotVersionInput = DeployBotVersionRequestBody & DeployBotVersionRequestHeaders & DeployBotVersionRequestQuery & DeployBotVersionRequestParams\n\nexport type DeployBotVersionRequest = {\n  headers: DeployBotVersionRequestHeaders;\n  query: DeployBotVersionRequestQuery;\n  params: DeployBotVersionRequestParams;\n  body: DeployBotVersionRequestBody;\n}\n\nexport const parseReq = (input: DeployBotVersionInput): DeployBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions/deploy`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'versionId': input['versionId'] },\n  }\n}\n\nexport interface DeployBotVersionResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationShareableIdRequestHeaders {}\n\nexport interface CreateIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface CreateIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface CreateIntegrationShareableIdRequestBody {}\n\nexport type CreateIntegrationShareableIdInput = CreateIntegrationShareableIdRequestBody & CreateIntegrationShareableIdRequestHeaders & CreateIntegrationShareableIdRequestQuery & CreateIntegrationShareableIdRequestParams\n\nexport type CreateIntegrationShareableIdRequest = {\n  headers: CreateIntegrationShareableIdRequestHeaders;\n  query: CreateIntegrationShareableIdRequestQuery;\n  params: CreateIntegrationShareableIdRequestParams;\n  body: CreateIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationShareableIdInput): CreateIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface CreateIntegrationShareableIdResponse {\n  shareableId: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationShareableIdRequestHeaders {}\n\nexport interface DeleteIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface DeleteIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface DeleteIntegrationShareableIdRequestBody {}\n\nexport type DeleteIntegrationShareableIdInput = DeleteIntegrationShareableIdRequestBody & DeleteIntegrationShareableIdRequestHeaders & DeleteIntegrationShareableIdRequestQuery & DeleteIntegrationShareableIdRequestParams\n\nexport type DeleteIntegrationShareableIdRequest = {\n  headers: DeleteIntegrationShareableIdRequestHeaders;\n  query: DeleteIntegrationShareableIdRequestQuery;\n  params: DeleteIntegrationShareableIdRequestParams;\n  body: DeleteIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationShareableIdInput): DeleteIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationShareableIdResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationShareableIdRequestHeaders {}\n\nexport interface GetIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface GetIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface GetIntegrationShareableIdRequestBody {}\n\nexport type GetIntegrationShareableIdInput = GetIntegrationShareableIdRequestBody & GetIntegrationShareableIdRequestHeaders & GetIntegrationShareableIdRequestQuery & GetIntegrationShareableIdRequestParams\n\nexport type GetIntegrationShareableIdRequest = {\n  headers: GetIntegrationShareableIdRequestHeaders;\n  query: GetIntegrationShareableIdRequestQuery;\n  params: GetIntegrationShareableIdRequestParams;\n  body: GetIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationShareableIdInput): GetIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationShareableIdResponse {\n  shareableId: string;\n  isExpired: boolean;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UnlinkSandboxedConversationsRequestHeaders {}\n\nexport interface UnlinkSandboxedConversationsRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface UnlinkSandboxedConversationsRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface UnlinkSandboxedConversationsRequestBody {}\n\nexport type UnlinkSandboxedConversationsInput = UnlinkSandboxedConversationsRequestBody & UnlinkSandboxedConversationsRequestHeaders & UnlinkSandboxedConversationsRequestQuery & UnlinkSandboxedConversationsRequestParams\n\nexport type UnlinkSandboxedConversationsRequest = {\n  headers: UnlinkSandboxedConversationsRequestHeaders;\n  query: UnlinkSandboxedConversationsRequestQuery;\n  params: UnlinkSandboxedConversationsRequestParams;\n  body: UnlinkSandboxedConversationsRequestBody;\n}\n\nexport const parseReq = (input: UnlinkSandboxedConversationsInput): UnlinkSandboxedConversationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/sandboxed-conversations`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface UnlinkSandboxedConversationsResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotApiKeysRequestHeaders {}\n\nexport interface ListBotApiKeysRequestQuery {\n  botId: string;\n}\n\nexport interface ListBotApiKeysRequestParams {}\n\nexport interface ListBotApiKeysRequestBody {}\n\nexport type ListBotApiKeysInput = ListBotApiKeysRequestBody & ListBotApiKeysRequestHeaders & ListBotApiKeysRequestQuery & ListBotApiKeysRequestParams\n\nexport type ListBotApiKeysRequest = {\n  headers: ListBotApiKeysRequestHeaders;\n  query: ListBotApiKeysRequestQuery;\n  params: ListBotApiKeysRequestParams;\n  body: ListBotApiKeysRequestBody;\n}\n\nexport const parseReq = (input: ListBotApiKeysInput): ListBotApiKeysRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks`,\n    headers: {  },\n    query: { 'botId': input['botId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListBotApiKeysResponse {\n  baks: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotApiKeyRequestHeaders {}\n\nexport interface CreateBotApiKeyRequestQuery {}\n\nexport interface CreateBotApiKeyRequestParams {}\n\nexport interface CreateBotApiKeyRequestBody {\n  botId: string;\n  note?: string;\n}\n\nexport type CreateBotApiKeyInput = CreateBotApiKeyRequestBody & CreateBotApiKeyRequestHeaders & CreateBotApiKeyRequestQuery & CreateBotApiKeyRequestParams\n\nexport type CreateBotApiKeyRequest = {\n  headers: CreateBotApiKeyRequestHeaders;\n  query: CreateBotApiKeyRequestQuery;\n  params: CreateBotApiKeyRequestParams;\n  body: CreateBotApiKeyRequestBody;\n}\n\nexport const parseReq = (input: CreateBotApiKeyInput): CreateBotApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'botId': input['botId'], 'note': input['note'] },\n  }\n}\n\nexport interface CreateBotApiKeyResponse {\n  id: string;\n  createdAt: string;\n  note: string;\n  /**\n   * The BAK value. This will only be returned here when created and cannot be retrieved later.\n   */\n  value: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteBotApiKeyRequestHeaders {}\n\nexport interface DeleteBotApiKeyRequestQuery {}\n\nexport interface DeleteBotApiKeyRequestParams {\n  id: string;\n}\n\nexport interface DeleteBotApiKeyRequestBody {}\n\nexport type DeleteBotApiKeyInput = DeleteBotApiKeyRequestBody & DeleteBotApiKeyRequestHeaders & DeleteBotApiKeyRequestQuery & DeleteBotApiKeyRequestParams\n\nexport type DeleteBotApiKeyRequest = {\n  headers: DeleteBotApiKeyRequestHeaders;\n  query: DeleteBotApiKeyRequestQuery;\n  params: DeleteBotApiKeyRequestParams;\n  body: DeleteBotApiKeyRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotApiKeyInput): DeleteBotApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotApiKeyResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotAllowlistRequestHeaders {}\n\nexport interface GetBotAllowlistRequestQuery {}\n\nexport interface GetBotAllowlistRequestParams {\n  botId: string;\n}\n\nexport interface GetBotAllowlistRequestBody {}\n\nexport type GetBotAllowlistInput = GetBotAllowlistRequestBody & GetBotAllowlistRequestHeaders & GetBotAllowlistRequestQuery & GetBotAllowlistRequestParams\n\nexport type GetBotAllowlistRequest = {\n  headers: GetBotAllowlistRequestHeaders;\n  query: GetBotAllowlistRequestQuery;\n  params: GetBotAllowlistRequestParams;\n  body: GetBotAllowlistRequestBody;\n}\n\nexport const parseReq = (input: GetBotAllowlistInput): GetBotAllowlistRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/allowlist`,\n    headers: {  },\n    query: {  },\n    params: { 'botId': input['botId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotAllowlistResponse {\n  /**\n   * Allowlist setting of the bot\n   */\n  setting: \"ALL_WORKSPACE_USERS\" | \"SELECTED_USERS\";\n  users: {\n    id: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateBotAllowlistRequestHeaders {}\n\nexport interface UpdateBotAllowlistRequestQuery {}\n\nexport interface UpdateBotAllowlistRequestParams {\n  botId: string;\n}\n\nexport interface UpdateBotAllowlistRequestBody {\n  /**\n   * Allowlist setting of the bot\n   */\n  setting?: \"ALL_WORKSPACE_USERS\" | \"SELECTED_USERS\";\n  users?: {\n    /**\n     * If `true`, the user should be added to the allowlist. If `false`, the user should be removed from the allowlist. This performs a partial update, so any existing users not included here will be kept in the allowlist\n     */\n    [k: string]: boolean;\n  };\n}\n\nexport type UpdateBotAllowlistInput = UpdateBotAllowlistRequestBody & UpdateBotAllowlistRequestHeaders & UpdateBotAllowlistRequestQuery & UpdateBotAllowlistRequestParams\n\nexport type UpdateBotAllowlistRequest = {\n  headers: UpdateBotAllowlistRequestHeaders;\n  query: UpdateBotAllowlistRequestQuery;\n  params: UpdateBotAllowlistRequestParams;\n  body: UpdateBotAllowlistRequestBody;\n}\n\nexport const parseReq = (input: UpdateBotAllowlistInput): UpdateBotAllowlistRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/allowlist`,\n    headers: {  },\n    query: {  },\n    params: { 'botId': input['botId'] },\n    body: { 'setting': input['setting'], 'users': input['users'] },\n  }\n}\n\nexport interface UpdateBotAllowlistResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceInvoicesRequestHeaders {}\n\nexport interface ListWorkspaceInvoicesRequestQuery {}\n\nexport interface ListWorkspaceInvoicesRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceInvoicesRequestBody {}\n\nexport type ListWorkspaceInvoicesInput = ListWorkspaceInvoicesRequestBody & ListWorkspaceInvoicesRequestHeaders & ListWorkspaceInvoicesRequestQuery & ListWorkspaceInvoicesRequestParams\n\nexport type ListWorkspaceInvoicesRequest = {\n  headers: ListWorkspaceInvoicesRequestHeaders;\n  query: ListWorkspaceInvoicesRequestQuery;\n  params: ListWorkspaceInvoicesRequestParams;\n  body: ListWorkspaceInvoicesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceInvoicesInput): ListWorkspaceInvoicesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/invoices`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceInvoicesResponse {\n  invoices: {\n    id: string;\n    period: {\n      month: number;\n      year: number;\n    };\n    /**\n     * Date on which the invoice was generated.\n     */\n    date: string;\n    /**\n     * Total amount to pay of the invoice.\n     */\n    amount: number;\n    /**\n     * Currency of the invoice amount.\n     */\n    currency: string;\n    paymentStatus: (\"deleted\" | \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\") | null;\n    /**\n     * Date on which the invoice is due.\n     */\n    dueDate?: string;\n    /**\n     * Number of times payment has been unsuccessfully attempted on the invoice.\n     */\n    paymentAttemptCount: number | null;\n    /**\n     * Date on which the next payment attempt will be made.\n     */\n    nextPaymentAttemptDate: string | null;\n    /**\n     * URL to download the PDF file of the invoice.\n     */\n    pdfUrl: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUpcomingInvoiceRequestHeaders {}\n\nexport interface GetUpcomingInvoiceRequestQuery {}\n\nexport interface GetUpcomingInvoiceRequestParams {\n  id: string;\n}\n\nexport interface GetUpcomingInvoiceRequestBody {}\n\nexport type GetUpcomingInvoiceInput = GetUpcomingInvoiceRequestBody & GetUpcomingInvoiceRequestHeaders & GetUpcomingInvoiceRequestQuery & GetUpcomingInvoiceRequestParams\n\nexport type GetUpcomingInvoiceRequest = {\n  headers: GetUpcomingInvoiceRequestHeaders;\n  query: GetUpcomingInvoiceRequestQuery;\n  params: GetUpcomingInvoiceRequestParams;\n  body: GetUpcomingInvoiceRequestBody;\n}\n\nexport const parseReq = (input: GetUpcomingInvoiceInput): GetUpcomingInvoiceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/upcoming-invoice`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetUpcomingInvoiceResponse {\n  /**\n   * Total amount to pay of the invoice.\n   */\n  total: number;\n  /**\n   * List of items included in the invoice.\n   */\n  lineItems: {\n    id: string;\n    /**\n     * Description of the line item.\n     */\n    description: string;\n    /**\n     * Total amount to pay (in cents) of the line item.\n     */\n    totalInCents: number;\n    /**\n     * Three-letter ISO currency code, in lowercase.\n     */\n    currency: string;\n    /**\n     * Price per unit (in cents) of the line item.\n     */\n    pricePerUnitInCents: number | null;\n    /**\n     * The quantity of the subscription, if the line item is a subscription or a proration.\n     */\n    quantity: number | null;\n    /**\n     * Type of the line item.\n     */\n    type: \"invoiceitem\" | \"subscription\";\n    /**\n     * Start date of the line item period.\n     */\n    periodStart: string | null;\n    /**\n     * End date of the line item period.\n     */\n    periodEnd: string | null;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestHeaders {}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestQuery {}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestParams {\n  id: string;\n}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestBody {\n  /**\n   * @minItems 1\n   */\n  invoiceIds?: string[];\n}\n\nexport type ChargeWorkspaceUnpaidInvoicesInput = ChargeWorkspaceUnpaidInvoicesRequestBody & ChargeWorkspaceUnpaidInvoicesRequestHeaders & ChargeWorkspaceUnpaidInvoicesRequestQuery & ChargeWorkspaceUnpaidInvoicesRequestParams\n\nexport type ChargeWorkspaceUnpaidInvoicesRequest = {\n  headers: ChargeWorkspaceUnpaidInvoicesRequestHeaders;\n  query: ChargeWorkspaceUnpaidInvoicesRequestQuery;\n  params: ChargeWorkspaceUnpaidInvoicesRequestParams;\n  body: ChargeWorkspaceUnpaidInvoicesRequestBody;\n}\n\nexport const parseReq = (input: ChargeWorkspaceUnpaidInvoicesInput): ChargeWorkspaceUnpaidInvoicesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/invoices/charge-unpaid`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'invoiceIds': input['invoiceIds'] },\n  }\n}\n\nexport interface ChargeWorkspaceUnpaidInvoicesResponse {\n  /**\n   * Invoices that were successfully charged by this request.\n   */\n  chargedInvoices: {\n    id: string;\n    amount: number;\n  }[];\n  /**\n   * Invoices that failed to be charged by this request.\n   */\n  failedInvoices: {\n    id: string;\n    amount: number;\n    failedReason: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkspaceRequestHeaders {}\n\nexport interface CreateWorkspaceRequestQuery {}\n\nexport interface CreateWorkspaceRequestParams {}\n\nexport interface CreateWorkspaceRequestBody {\n  name: string;\n}\n\nexport type CreateWorkspaceInput = CreateWorkspaceRequestBody & CreateWorkspaceRequestHeaders & CreateWorkspaceRequestQuery & CreateWorkspaceRequestParams\n\nexport type CreateWorkspaceRequest = {\n  headers: CreateWorkspaceRequestHeaders;\n  query: CreateWorkspaceRequestQuery;\n  params: CreateWorkspaceRequestParams;\n  body: CreateWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkspaceInput): CreateWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'] },\n  }\n}\n\nexport interface CreateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicWorkspaceRequestHeaders {}\n\nexport interface GetPublicWorkspaceRequestQuery {}\n\nexport interface GetPublicWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface GetPublicWorkspaceRequestBody {}\n\nexport type GetPublicWorkspaceInput = GetPublicWorkspaceRequestBody & GetPublicWorkspaceRequestHeaders & GetPublicWorkspaceRequestQuery & GetPublicWorkspaceRequestParams\n\nexport type GetPublicWorkspaceRequest = {\n  headers: GetPublicWorkspaceRequestHeaders;\n  query: GetPublicWorkspaceRequestQuery;\n  params: GetPublicWorkspaceRequestParams;\n  body: GetPublicWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: GetPublicWorkspaceInput): GetPublicWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/public`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicWorkspaceResponse {\n  id: string;\n  name: string;\n  createdAt: string;\n  updatedAt: string;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  handle?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspaceRequestHeaders {}\n\nexport interface GetWorkspaceRequestQuery {}\n\nexport interface GetWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface GetWorkspaceRequestBody {}\n\nexport type GetWorkspaceInput = GetWorkspaceRequestBody & GetWorkspaceRequestHeaders & GetWorkspaceRequestQuery & GetWorkspaceRequestParams\n\nexport type GetWorkspaceRequest = {\n  headers: GetWorkspaceRequestHeaders;\n  query: GetWorkspaceRequestQuery;\n  params: GetWorkspaceRequestParams;\n  body: GetWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspaceInput): GetWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceUsagesRequestHeaders {}\n\nexport interface ListWorkspaceUsagesRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface ListWorkspaceUsagesRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceUsagesRequestBody {}\n\nexport type ListWorkspaceUsagesInput = ListWorkspaceUsagesRequestBody & ListWorkspaceUsagesRequestHeaders & ListWorkspaceUsagesRequestQuery & ListWorkspaceUsagesRequestParams\n\nexport type ListWorkspaceUsagesRequest = {\n  headers: ListWorkspaceUsagesRequestHeaders;\n  query: ListWorkspaceUsagesRequestQuery;\n  params: ListWorkspaceUsagesRequestParams;\n  body: ListWorkspaceUsagesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceUsagesInput): ListWorkspaceUsagesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/usages`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceUsagesResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface BreakDownWorkspaceUsageByBotRequestHeaders {}\n\nexport interface BreakDownWorkspaceUsageByBotRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface BreakDownWorkspaceUsageByBotRequestParams {\n  id: string;\n}\n\nexport interface BreakDownWorkspaceUsageByBotRequestBody {}\n\nexport type BreakDownWorkspaceUsageByBotInput = BreakDownWorkspaceUsageByBotRequestBody & BreakDownWorkspaceUsageByBotRequestHeaders & BreakDownWorkspaceUsageByBotRequestQuery & BreakDownWorkspaceUsageByBotRequestParams\n\nexport type BreakDownWorkspaceUsageByBotRequest = {\n  headers: BreakDownWorkspaceUsageByBotRequestHeaders;\n  query: BreakDownWorkspaceUsageByBotRequestQuery;\n  params: BreakDownWorkspaceUsageByBotRequestParams;\n  body: BreakDownWorkspaceUsageByBotRequestBody;\n}\n\nexport const parseReq = (input: BreakDownWorkspaceUsageByBotInput): BreakDownWorkspaceUsageByBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/usages/by-bot`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface BreakDownWorkspaceUsageByBotResponse {\n  data: {\n    botId: string;\n    value: number;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAllWorkspaceQuotaCompletionRequestHeaders {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestQuery {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestParams {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestBody {}\n\nexport type GetAllWorkspaceQuotaCompletionInput = GetAllWorkspaceQuotaCompletionRequestBody & GetAllWorkspaceQuotaCompletionRequestHeaders & GetAllWorkspaceQuotaCompletionRequestQuery & GetAllWorkspaceQuotaCompletionRequestParams\n\nexport type GetAllWorkspaceQuotaCompletionRequest = {\n  headers: GetAllWorkspaceQuotaCompletionRequestHeaders;\n  query: GetAllWorkspaceQuotaCompletionRequestQuery;\n  params: GetAllWorkspaceQuotaCompletionRequestParams;\n  body: GetAllWorkspaceQuotaCompletionRequestBody;\n}\n\nexport const parseReq = (_: GetAllWorkspaceQuotaCompletionInput): GetAllWorkspaceQuotaCompletionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/usages/quota-completion`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetAllWorkspaceQuotaCompletionResponse {\n  [k: string]: {\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n    completion: number;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspaceQuotaRequestHeaders {}\n\nexport interface GetWorkspaceQuotaRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface GetWorkspaceQuotaRequestParams {\n  id: string;\n}\n\nexport interface GetWorkspaceQuotaRequestBody {}\n\nexport type GetWorkspaceQuotaInput = GetWorkspaceQuotaRequestBody & GetWorkspaceQuotaRequestHeaders & GetWorkspaceQuotaRequestQuery & GetWorkspaceQuotaRequestParams\n\nexport type GetWorkspaceQuotaRequest = {\n  headers: GetWorkspaceQuotaRequestHeaders;\n  query: GetWorkspaceQuotaRequestQuery;\n  params: GetWorkspaceQuotaRequestParams;\n  body: GetWorkspaceQuotaRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspaceQuotaInput): GetWorkspaceQuotaRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/quota`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceQuotaResponse {\n  quota: {\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the quota that is used\n     */\n    value: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceQuotasRequestHeaders {}\n\nexport interface ListWorkspaceQuotasRequestQuery {\n  period?: string;\n}\n\nexport interface ListWorkspaceQuotasRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceQuotasRequestBody {}\n\nexport type ListWorkspaceQuotasInput = ListWorkspaceQuotasRequestBody & ListWorkspaceQuotasRequestHeaders & ListWorkspaceQuotasRequestQuery & ListWorkspaceQuotasRequestParams\n\nexport type ListWorkspaceQuotasRequest = {\n  headers: ListWorkspaceQuotasRequestHeaders;\n  query: ListWorkspaceQuotasRequestQuery;\n  params: ListWorkspaceQuotasRequestParams;\n  body: ListWorkspaceQuotasRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceQuotasInput): ListWorkspaceQuotasRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/quotas`,\n    headers: {  },\n    query: { 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceQuotasResponse {\n  quotas: {\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the quota that is used\n     */\n    value: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkspaceRequestHeaders {}\n\nexport interface UpdateWorkspaceRequestQuery {}\n\nexport interface UpdateWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkspaceRequestBody {\n  name?: string;\n  spendingLimit?: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  /**\n   * @maxItems 5\n   */\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n}\n\nexport type UpdateWorkspaceInput = UpdateWorkspaceRequestBody & UpdateWorkspaceRequestHeaders & UpdateWorkspaceRequestQuery & UpdateWorkspaceRequestParams\n\nexport type UpdateWorkspaceRequest = {\n  headers: UpdateWorkspaceRequestHeaders;\n  query: UpdateWorkspaceRequestQuery;\n  params: UpdateWorkspaceRequestParams;\n  body: UpdateWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkspaceInput): UpdateWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'spendingLimit': input['spendingLimit'], 'about': input['about'], 'profilePicture': input['profilePicture'], 'contactEmail': input['contactEmail'], 'website': input['website'], 'socialAccounts': input['socialAccounts'], 'isPublic': input['isPublic'], 'handle': input['handle'] },\n  }\n}\n\nexport interface UpdateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CheckHandleAvailabilityRequestHeaders {}\n\nexport interface CheckHandleAvailabilityRequestQuery {}\n\nexport interface CheckHandleAvailabilityRequestParams {}\n\nexport interface CheckHandleAvailabilityRequestBody {\n  handle: string;\n}\n\nexport type CheckHandleAvailabilityInput = CheckHandleAvailabilityRequestBody & CheckHandleAvailabilityRequestHeaders & CheckHandleAvailabilityRequestQuery & CheckHandleAvailabilityRequestParams\n\nexport type CheckHandleAvailabilityRequest = {\n  headers: CheckHandleAvailabilityRequestHeaders;\n  query: CheckHandleAvailabilityRequestQuery;\n  params: CheckHandleAvailabilityRequestParams;\n  body: CheckHandleAvailabilityRequestBody;\n}\n\nexport const parseReq = (input: CheckHandleAvailabilityInput): CheckHandleAvailabilityRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/handle-availability`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'handle': input['handle'] },\n  }\n}\n\nexport interface CheckHandleAvailabilityResponse {\n  available: boolean;\n  suggestions: string[];\n  usedBy?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspacesRequestHeaders {}\n\nexport interface ListWorkspacesRequestQuery {\n  nextToken?: string;\n  handle?: string;\n}\n\nexport interface ListWorkspacesRequestParams {}\n\nexport interface ListWorkspacesRequestBody {}\n\nexport type ListWorkspacesInput = ListWorkspacesRequestBody & ListWorkspacesRequestHeaders & ListWorkspacesRequestQuery & ListWorkspacesRequestParams\n\nexport type ListWorkspacesRequest = {\n  headers: ListWorkspacesRequestHeaders;\n  query: ListWorkspacesRequestQuery;\n  params: ListWorkspacesRequestParams;\n  body: ListWorkspacesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspacesInput): ListWorkspacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'handle': input['handle'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspacesResponse {\n  workspaces: UpdateWorkspaceResponse[];\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}\nexport interface UpdateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicWorkspacesRequestHeaders {}\n\nexport interface ListPublicWorkspacesRequestQuery {\n  nextToken?: string;\n  workspaceIds?: string[];\n  search?: string;\n}\n\nexport interface ListPublicWorkspacesRequestParams {}\n\nexport interface ListPublicWorkspacesRequestBody {}\n\nexport type ListPublicWorkspacesInput = ListPublicWorkspacesRequestBody & ListPublicWorkspacesRequestHeaders & ListPublicWorkspacesRequestQuery & ListPublicWorkspacesRequestParams\n\nexport type ListPublicWorkspacesRequest = {\n  headers: ListPublicWorkspacesRequestHeaders;\n  query: ListPublicWorkspacesRequestQuery;\n  params: ListPublicWorkspacesRequestParams;\n  body: ListPublicWorkspacesRequestBody;\n}\n\nexport const parseReq = (input: ListPublicWorkspacesInput): ListPublicWorkspacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/public`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'workspaceIds': input['workspaceIds'], 'search': input['search'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicWorkspacesResponse {\n  workspaces: GetPublicWorkspaceResponse[];\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}\nexport interface GetPublicWorkspaceResponse {\n  id: string;\n  name: string;\n  createdAt: string;\n  updatedAt: string;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  handle?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkspaceRequestHeaders {}\n\nexport interface DeleteWorkspaceRequestQuery {}\n\nexport interface DeleteWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkspaceRequestBody {}\n\nexport type DeleteWorkspaceInput = DeleteWorkspaceRequestBody & DeleteWorkspaceRequestHeaders & DeleteWorkspaceRequestQuery & DeleteWorkspaceRequestParams\n\nexport type DeleteWorkspaceRequest = {\n  headers: DeleteWorkspaceRequestHeaders;\n  query: DeleteWorkspaceRequestQuery;\n  params: DeleteWorkspaceRequestParams;\n  body: DeleteWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkspaceInput): DeleteWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkspaceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAuditRecordsRequestHeaders {}\n\nexport interface GetAuditRecordsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface GetAuditRecordsRequestParams {\n  id: string;\n}\n\nexport interface GetAuditRecordsRequestBody {}\n\nexport type GetAuditRecordsInput = GetAuditRecordsRequestBody & GetAuditRecordsRequestHeaders & GetAuditRecordsRequestQuery & GetAuditRecordsRequestParams\n\nexport type GetAuditRecordsRequest = {\n  headers: GetAuditRecordsRequestHeaders;\n  query: GetAuditRecordsRequestQuery;\n  params: GetAuditRecordsRequestParams;\n  body: GetAuditRecordsRequestBody;\n}\n\nexport const parseReq = (input: GetAuditRecordsInput): GetAuditRecordsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/audit-records`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetAuditRecordsResponse {\n  records: {\n    id: string;\n    recordedAt: string;\n    userId: string | null;\n    userEmail?: string | null;\n    resourceId: string | null;\n    resourceName?: string | null;\n    value?: string | null;\n    action:\n      | \"UNKNOWN\"\n      | \"ADD_WORKSPACE_MEMBER\"\n      | \"REMOVE_WORKSPACE_MEMBER\"\n      | \"UPDATE_WORKSPACE_MEMBER\"\n      | \"CLOSE_WORKSPACE\"\n      | \"CREATE_BOT\"\n      | \"CREATE_WORKSPACE\"\n      | \"DELETE_BOT\"\n      | \"DEPLOY_BOT\"\n      | \"TRANSFER_BOT\"\n      | \"DOWNLOAD_BOT_ARCHIVE\"\n      | \"UPDATE_BOT\"\n      | \"UPDATE_BOT_CHANNEL\"\n      | \"UPDATE_BOT_CONFIG\"\n      | \"UPDATE_PAYMENT_METHOD\"\n      | \"UPDATE_WORKSPACE\"\n      | \"SET_SPENDING_LIMIT\"\n      | \"SET_AI_SPENDING_LIMIT\"\n      | \"UPDATE_WORKSPACE_BILLING_READONLY\"\n      | \"UPDATE_WORKSPACE_PLAN_READONLY\"\n      | \"UPDATE_WORKSPACE_ADDONS_READONLY\"\n      | \"EXECUTE_AUTO_RECHARGE_SUCCESS\"\n      | \"EXECUTE_AUTO_RECHARGE_FAILED\";\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 SetWorkspacePreferenceRequestHeaders {}\n\nexport interface SetWorkspacePreferenceRequestQuery {}\n\nexport interface SetWorkspacePreferenceRequestParams {\n  key: string;\n}\n\nexport interface SetWorkspacePreferenceRequestBody {\n  value?: any;\n}\n\nexport type SetWorkspacePreferenceInput = SetWorkspacePreferenceRequestBody & SetWorkspacePreferenceRequestHeaders & SetWorkspacePreferenceRequestQuery & SetWorkspacePreferenceRequestParams\n\nexport type SetWorkspacePreferenceRequest = {\n  headers: SetWorkspacePreferenceRequestHeaders;\n  query: SetWorkspacePreferenceRequestQuery;\n  params: SetWorkspacePreferenceRequestParams;\n  body: SetWorkspacePreferenceRequestBody;\n}\n\nexport const parseReq = (input: SetWorkspacePreferenceInput): SetWorkspacePreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: { 'value': input['value'] },\n  }\n}\n\nexport interface SetWorkspacePreferenceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspacePreferenceRequestHeaders {}\n\nexport interface GetWorkspacePreferenceRequestQuery {}\n\nexport interface GetWorkspacePreferenceRequestParams {\n  key: string;\n}\n\nexport interface GetWorkspacePreferenceRequestBody {}\n\nexport type GetWorkspacePreferenceInput = GetWorkspacePreferenceRequestBody & GetWorkspacePreferenceRequestHeaders & GetWorkspacePreferenceRequestQuery & GetWorkspacePreferenceRequestParams\n\nexport type GetWorkspacePreferenceRequest = {\n  headers: GetWorkspacePreferenceRequestHeaders;\n  query: GetWorkspacePreferenceRequestQuery;\n  params: GetWorkspacePreferenceRequestParams;\n  body: GetWorkspacePreferenceRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspacePreferenceInput): GetWorkspacePreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspacePreferenceResponse {\n  value?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceMembersRequestHeaders {}\n\nexport interface ListWorkspaceMembersRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListWorkspaceMembersRequestParams {}\n\nexport interface ListWorkspaceMembersRequestBody {}\n\nexport type ListWorkspaceMembersInput = ListWorkspaceMembersRequestBody & ListWorkspaceMembersRequestHeaders & ListWorkspaceMembersRequestQuery & ListWorkspaceMembersRequestParams\n\nexport type ListWorkspaceMembersRequest = {\n  headers: ListWorkspaceMembersRequestHeaders;\n  query: ListWorkspaceMembersRequestQuery;\n  params: ListWorkspaceMembersRequestParams;\n  body: ListWorkspaceMembersRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceMembersInput): ListWorkspaceMembersRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceMembersResponse {\n  members: {\n    id: string;\n    userId?: string;\n    email: string;\n    createdAt: string;\n    role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n    profilePicture?: string;\n    displayName?: 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 GetWorkspaceMemberRequestHeaders {}\n\nexport interface GetWorkspaceMemberRequestQuery {}\n\nexport interface GetWorkspaceMemberRequestParams {}\n\nexport interface GetWorkspaceMemberRequestBody {}\n\nexport type GetWorkspaceMemberInput = GetWorkspaceMemberRequestBody & GetWorkspaceMemberRequestHeaders & GetWorkspaceMemberRequestQuery & GetWorkspaceMemberRequestParams\n\nexport type GetWorkspaceMemberRequest = {\n  headers: GetWorkspaceMemberRequestHeaders;\n  query: GetWorkspaceMemberRequestQuery;\n  params: GetWorkspaceMemberRequestParams;\n  body: GetWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (_: GetWorkspaceMemberInput): GetWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkspaceMemberRequestHeaders {}\n\nexport interface DeleteWorkspaceMemberRequestQuery {}\n\nexport interface DeleteWorkspaceMemberRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkspaceMemberRequestBody {}\n\nexport type DeleteWorkspaceMemberInput = DeleteWorkspaceMemberRequestBody & DeleteWorkspaceMemberRequestHeaders & DeleteWorkspaceMemberRequestQuery & DeleteWorkspaceMemberRequestParams\n\nexport type DeleteWorkspaceMemberRequest = {\n  headers: DeleteWorkspaceMemberRequestHeaders;\n  query: DeleteWorkspaceMemberRequestQuery;\n  params: DeleteWorkspaceMemberRequestParams;\n  body: DeleteWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkspaceMemberInput): DeleteWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkspaceMemberResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkspaceMemberRequestHeaders {}\n\nexport interface CreateWorkspaceMemberRequestQuery {}\n\nexport interface CreateWorkspaceMemberRequestParams {}\n\nexport interface CreateWorkspaceMemberRequestBody {\n  email: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n}\n\nexport type CreateWorkspaceMemberInput = CreateWorkspaceMemberRequestBody & CreateWorkspaceMemberRequestHeaders & CreateWorkspaceMemberRequestQuery & CreateWorkspaceMemberRequestParams\n\nexport type CreateWorkspaceMemberRequest = {\n  headers: CreateWorkspaceMemberRequestHeaders;\n  query: CreateWorkspaceMemberRequestQuery;\n  params: CreateWorkspaceMemberRequestParams;\n  body: CreateWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkspaceMemberInput): CreateWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'email': input['email'], 'role': input['role'] },\n  }\n}\n\nexport interface CreateWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkspaceMemberRequestHeaders {}\n\nexport interface UpdateWorkspaceMemberRequestQuery {}\n\nexport interface UpdateWorkspaceMemberRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkspaceMemberRequestBody {\n  role?: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n}\n\nexport type UpdateWorkspaceMemberInput = UpdateWorkspaceMemberRequestBody & UpdateWorkspaceMemberRequestHeaders & UpdateWorkspaceMemberRequestQuery & UpdateWorkspaceMemberRequestParams\n\nexport type UpdateWorkspaceMemberRequest = {\n  headers: UpdateWorkspaceMemberRequestHeaders;\n  query: UpdateWorkspaceMemberRequestQuery;\n  params: UpdateWorkspaceMemberRequestParams;\n  body: UpdateWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkspaceMemberInput): UpdateWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'role': input['role'] },\n  }\n}\n\nexport interface UpdateWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListIntegrationApiKeysRequestHeaders {}\n\nexport interface ListIntegrationApiKeysRequestQuery {\n  integrationId: string;\n}\n\nexport interface ListIntegrationApiKeysRequestParams {}\n\nexport interface ListIntegrationApiKeysRequestBody {}\n\nexport type ListIntegrationApiKeysInput = ListIntegrationApiKeysRequestBody & ListIntegrationApiKeysRequestHeaders & ListIntegrationApiKeysRequestQuery & ListIntegrationApiKeysRequestParams\n\nexport type ListIntegrationApiKeysRequest = {\n  headers: ListIntegrationApiKeysRequestHeaders;\n  query: ListIntegrationApiKeysRequestQuery;\n  params: ListIntegrationApiKeysRequestParams;\n  body: ListIntegrationApiKeysRequestBody;\n}\n\nexport const parseReq = (input: ListIntegrationApiKeysInput): ListIntegrationApiKeysRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks`,\n    headers: {  },\n    query: { 'integrationId': input['integrationId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListIntegrationApiKeysResponse {\n  iaks: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationApiKeyRequestHeaders {}\n\nexport interface CreateIntegrationApiKeyRequestQuery {}\n\nexport interface CreateIntegrationApiKeyRequestParams {}\n\nexport interface CreateIntegrationApiKeyRequestBody {\n  integrationId: string;\n  note?: string;\n}\n\nexport type CreateIntegrationApiKeyInput = CreateIntegrationApiKeyRequestBody & CreateIntegrationApiKeyRequestHeaders & CreateIntegrationApiKeyRequestQuery & CreateIntegrationApiKeyRequestParams\n\nexport type CreateIntegrationApiKeyRequest = {\n  headers: CreateIntegrationApiKeyRequestHeaders;\n  query: CreateIntegrationApiKeyRequestQuery;\n  params: CreateIntegrationApiKeyRequestParams;\n  body: CreateIntegrationApiKeyRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationApiKeyInput): CreateIntegrationApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'integrationId': input['integrationId'], 'note': input['note'] },\n  }\n}\n\nexport interface CreateIntegrationApiKeyResponse {\n  id: string;\n  createdAt: string;\n  note: string;\n  /**\n   * The IAK value. This will only be returned here when created and cannot be retrieved later.\n   */\n  value: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationApiKeyRequestHeaders {}\n\nexport interface DeleteIntegrationApiKeyRequestQuery {}\n\nexport interface DeleteIntegrationApiKeyRequestParams {\n  id: string;\n}\n\nexport interface DeleteIntegrationApiKeyRequestBody {}\n\nexport type DeleteIntegrationApiKeyInput = DeleteIntegrationApiKeyRequestBody & DeleteIntegrationApiKeyRequestHeaders & DeleteIntegrationApiKeyRequestQuery & DeleteIntegrationApiKeyRequestParams\n\nexport type DeleteIntegrationApiKeyRequest = {\n  headers: DeleteIntegrationApiKeyRequestHeaders;\n  query: DeleteIntegrationApiKeyRequestQuery;\n  params: DeleteIntegrationApiKeyRequestParams;\n  body: DeleteIntegrationApiKeyRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationApiKeyInput): DeleteIntegrationApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationApiKeyResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationRequestHeaders {}\n\nexport interface CreateIntegrationRequestQuery {}\n\nexport interface CreateIntegrationRequestParams {}\n\nexport interface CreateIntegrationRequestBody {\n  /**\n   * Name of the [Integration](#schema_integration)\n   */\n  name: string;\n  /**\n   * Version of the [Integration](#schema_integration)\n   */\n  version: string;\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      required?: boolean;\n      linkTemplateScript?: string;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        required?: boolean;\n        linkTemplateScript?: string;\n      };\n    };\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  identifier?: {\n    fallbackHandlerScript?: string;\n    extractScript?: string;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n    };\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    };\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string;\n  /**\n   * Indicates if the integration is a development integration; Dev integrations run locally\n   */\n  dev?: boolean;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type CreateIntegrationInput = CreateIntegrationRequestBody & CreateIntegrationRequestHeaders & CreateIntegrationRequestQuery & CreateIntegrationRequestParams\n\nexport type CreateIntegrationRequest = {\n  headers: CreateIntegrationRequestHeaders;\n  query: CreateIntegrationRequestQuery;\n  params: CreateIntegrationRequestParams;\n  body: CreateIntegrationRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationInput): CreateIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'configurations': input['configurations'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'entities': input['entities'], 'attributes': input['attributes'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'secrets': input['secrets'], 'code': input['code'], 'url': input['url'], 'dev': input['dev'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface CreateIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ValidateIntegrationCreationRequestHeaders {}\n\nexport interface ValidateIntegrationCreationRequestQuery {}\n\nexport interface ValidateIntegrationCreationRequestParams {}\n\nexport interface ValidateIntegrationCreationRequestBody {\n  /**\n   * Name of the [Integration](#schema_integration)\n   */\n  name: string;\n  /**\n   * Version of the [Integration](#schema_integration)\n   */\n  version: string;\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      required?: boolean;\n      linkTemplateScript?: string;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        required?: boolean;\n        linkTemplateScript?: string;\n      };\n    };\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  identifier?: {\n    fallbackHandlerScript?: string;\n    extractScript?: string;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n    };\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    };\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string;\n  /**\n   * Indicates if the integration is a development integration; Dev integrations run locally\n   */\n  dev?: boolean;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type ValidateIntegrationCreationInput = ValidateIntegrationCreationRequestBody & ValidateIntegrationCreationRequestHeaders & ValidateIntegrationCreationRequestQuery & ValidateIntegrationCreationRequestParams\n\nexport type ValidateIntegrationCreationRequest = {\n  headers: ValidateIntegrationCreationRequestHeaders;\n  query: ValidateIntegrationCreationRequestQuery;\n  params: ValidateIntegrationCreationRequestParams;\n  body: ValidateIntegrationCreationRequestBody;\n}\n\nexport const parseReq = (input: ValidateIntegrationCreationInput): ValidateIntegrationCreationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/validate`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'configurations': input['configurations'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'entities': input['entities'], 'attributes': input['attributes'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'secrets': input['secrets'], 'code': input['code'], 'url': input['url'], 'dev': input['dev'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface ValidateIntegrationCreationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateIntegrationRequestHeaders {}\n\nexport interface UpdateIntegrationRequestQuery {}\n\nexport interface UpdateIntegrationRequestParams {\n  id: string;\n}\n\nexport interface UpdateIntegrationRequestBody {\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      linkTemplateScript?: string | null;\n      required?: boolean;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        linkTemplateScript?: string | null;\n        required?: boolean;\n      };\n    } | null;\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Maximum execution time of the integration (in seconds).\n   */\n  maxExecutionTime?: number;\n  identifier?: {\n    extractScript?: string | null;\n    fallbackHandlerScript?: string | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string | null;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type UpdateIntegrationInput = UpdateIntegrationRequestBody & UpdateIntegrationRequestHeaders & UpdateIntegrationRequestQuery & UpdateIntegrationRequestParams\n\nexport type UpdateIntegrationRequest = {\n  headers: UpdateIntegrationRequestHeaders;\n  query: UpdateIntegrationRequestQuery;\n  params: UpdateIntegrationRequestParams;\n  body: UpdateIntegrationRequestBody;\n}\n\nexport const parseReq = (input: UpdateIntegrationInput): UpdateIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'configurations': input['configurations'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'channels': input['channels'], 'maxExecutionTime': input['maxExecutionTime'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'attributes': input['attributes'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface UpdateIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RotateIntegrationSigningSecretsRequestHeaders {}\n\nexport interface RotateIntegrationSigningSecretsRequestQuery {}\n\nexport interface RotateIntegrationSigningSecretsRequestParams {\n  id: string;\n}\n\nexport interface RotateIntegrationSigningSecretsRequestBody {}\n\nexport type RotateIntegrationSigningSecretsInput = RotateIntegrationSigningSecretsRequestBody & RotateIntegrationSigningSecretsRequestHeaders & RotateIntegrationSigningSecretsRequestQuery & RotateIntegrationSigningSecretsRequestParams\n\nexport type RotateIntegrationSigningSecretsRequest = {\n  headers: RotateIntegrationSigningSecretsRequestHeaders;\n  query: RotateIntegrationSigningSecretsRequestQuery;\n  params: RotateIntegrationSigningSecretsRequestParams;\n  body: RotateIntegrationSigningSecretsRequestBody;\n}\n\nexport const parseReq = (input: RotateIntegrationSigningSecretsInput): RotateIntegrationSigningSecretsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/signing-secrets/rotate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface RotateIntegrationSigningSecretsResponse {\n  /**\n   * The new signing secret that can be used immediately. The old signing secret(s) will continue to work for 24 hours after this operation to allow for a smooth transition.\n   */\n  newSigningSecret: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ValidateIntegrationUpdateRequestHeaders {}\n\nexport interface ValidateIntegrationUpdateRequestQuery {}\n\nexport interface ValidateIntegrationUpdateRequestParams {\n  id: string;\n}\n\nexport interface ValidateIntegrationUpdateRequestBody {\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      linkTemplateScript?: string | null;\n      required?: boolean;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        linkTemplateScript?: string | null;\n        required?: boolean;\n      };\n    } | null;\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Maximum execution time of the integration (in seconds).\n   */\n  maxExecutionTime?: number;\n  identifier?: {\n    extractScript?: string | null;\n    fallbackHandlerScript?: string | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string | null;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type ValidateIntegrationUpdateInput = ValidateIntegrationUpdateRequestBody & ValidateIntegrationUpdateRequestHeaders & ValidateIntegrationUpdateRequestQuery & ValidateIntegrationUpdateRequestParams\n\nexport type ValidateIntegrationUpdateRequest = {\n  headers: ValidateIntegrationUpdateRequestHeaders;\n  query: ValidateIntegrationUpdateRequestQuery;\n  params: ValidateIntegrationUpdateRequestParams;\n  body: ValidateIntegrationUpdateRequestBody;\n}\n\nexport const parseReq = (input: ValidateIntegrationUpdateInput): ValidateIntegrationUpdateRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/validate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'configurations': input['configurations'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'channels': input['channels'], 'maxExecutionTime': input['maxExecutionTime'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'attributes': input['attributes'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface ValidateIntegrationUpdateResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListIntegrationsRequestHeaders {}\n\nexport interface ListIntegrationsRequestQuery {\n  nextToken?: string;\n  limit?: number;\n  name?: string;\n  version?: string;\n  interfaceId?: string;\n  interfaceName?: string;\n  installedByBotId?: string;\n  verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n  search?: string;\n  sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n  direction?: \"asc\" | \"desc\";\n  visibility?: \"public\" | \"private\";\n  dev?: boolean;\n}\n\nexport interface ListIntegrationsRequestParams {}\n\nexport interface ListIntegrationsRequestBody {}\n\nexport type ListIntegrationsInput = ListIntegrationsRequestBody & ListIntegrationsRequestHeaders & ListIntegrationsRequestQuery & ListIntegrationsRequestParams\n\nexport type ListIntegrationsRequest = {\n  headers: ListIntegrationsRequestHeaders;\n  query: ListIntegrationsRequestQuery;\n  params: ListIntegrationsRequestParams;\n  body: ListIntegrationsRequestBody;\n}\n\nexport const parseReq = (input: ListIntegrationsInput): ListIntegrationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'], 'name': input['name'], 'version': input['version'], 'interfaceId': input['interfaceId'], 'interfaceName': input['interfaceName'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'], 'visibility': input['visibility'], 'dev': input['dev'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListIntegrationsResponse {\n  integrations: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Metadata about which fields matched the search criteria\n     */\n    matchedOn?: {\n      /**\n       * Whether the integration name matched the search term\n       */\n      name?: boolean;\n      /**\n       * Whether the integration title matched the search term\n       */\n      title?: boolean;\n      /**\n       * Whether the integration description matched the search term\n       */\n      description?: boolean;\n      /**\n       * Action names that matched the search term\n       */\n      actions?: string[];\n      /**\n       * Interface names that matched the search term\n       */\n      interfaces?: string[];\n    };\n    ownerWorkspace?: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    /**\n     * Optional key-value attributes from the integration definition\n     */\n    attributes?: {\n      [k: string]: 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 GetIntegrationRequestHeaders {}\n\nexport interface GetIntegrationRequestQuery {}\n\nexport interface GetIntegrationRequestParams {\n  id: string;\n}\n\nexport interface GetIntegrationRequestBody {}\n\nexport type GetIntegrationInput = GetIntegrationRequestBody & GetIntegrationRequestHeaders & GetIntegrationRequestQuery & GetIntegrationRequestParams\n\nexport type GetIntegrationRequest = {\n  headers: GetIntegrationRequestHeaders;\n  query: GetIntegrationRequestQuery;\n  params: GetIntegrationRequestParams;\n  body: GetIntegrationRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationInput): GetIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationLogsRequestHeaders {}\n\nexport interface GetIntegrationLogsRequestQuery {\n  timeStart: string;\n  timeEnd?: string;\n  level?: string;\n  userId?: string;\n  conversationId?: string;\n  messageContains?: string;\n  nextToken?: string;\n}\n\nexport interface GetIntegrationLogsRequestParams {\n  id: string;\n}\n\nexport interface GetIntegrationLogsRequestBody {}\n\nexport type GetIntegrationLogsInput = GetIntegrationLogsRequestBody & GetIntegrationLogsRequestHeaders & GetIntegrationLogsRequestQuery & GetIntegrationLogsRequestParams\n\nexport type GetIntegrationLogsRequest = {\n  headers: GetIntegrationLogsRequestHeaders;\n  query: GetIntegrationLogsRequestQuery;\n  params: GetIntegrationLogsRequestParams;\n  body: GetIntegrationLogsRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationLogsInput): GetIntegrationLogsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/logs`,\n    headers: {  },\n    query: { 'timeStart': input['timeStart'], 'timeEnd': input['timeEnd'], 'level': input['level'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'messageContains': input['messageContains'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationLogsResponse {\n  logs: {\n    timestamp: string;\n    level: string;\n    message: string;\n    workflowId?: string;\n    userId?: string;\n    conversationId?: string;\n  }[];\n  nextToken?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationByNameRequestHeaders {}\n\nexport interface GetIntegrationByNameRequestQuery {}\n\nexport interface GetIntegrationByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetIntegrationByNameRequestBody {}\n\nexport type GetIntegrationByNameInput = GetIntegrationByNameRequestBody & GetIntegrationByNameRequestHeaders & GetIntegrationByNameRequestQuery & GetIntegrationByNameRequestParams\n\nexport type GetIntegrationByNameRequest = {\n  headers: GetIntegrationByNameRequestHeaders;\n  query: GetIntegrationByNameRequestQuery;\n  params: GetIntegrationByNameRequestParams;\n  body: GetIntegrationByNameRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationByNameInput): GetIntegrationByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationByNameResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationRequestHeaders {}\n\nexport interface DeleteIntegrationRequestQuery {}\n\nexport interface DeleteIntegrationRequestParams {\n  id: string;\n}\n\nexport interface DeleteIntegrationRequestBody {}\n\nexport type DeleteIntegrationInput = DeleteIntegrationRequestBody & DeleteIntegrationRequestHeaders & DeleteIntegrationRequestQuery & DeleteIntegrationRequestParams\n\nexport type DeleteIntegrationRequest = {\n  headers: DeleteIntegrationRequestHeaders;\n  query: DeleteIntegrationRequestQuery;\n  params: DeleteIntegrationRequestParams;\n  body: DeleteIntegrationRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationInput): DeleteIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RequestIntegrationVerificationRequestHeaders {}\n\nexport interface RequestIntegrationVerificationRequestQuery {}\n\nexport interface RequestIntegrationVerificationRequestParams {}\n\nexport interface RequestIntegrationVerificationRequestBody {\n  integrationId: string;\n}\n\nexport type RequestIntegrationVerificationInput = RequestIntegrationVerificationRequestBody & RequestIntegrationVerificationRequestHeaders & RequestIntegrationVerificationRequestQuery & RequestIntegrationVerificationRequestParams\n\nexport type RequestIntegrationVerificationRequest = {\n  headers: RequestIntegrationVerificationRequestHeaders;\n  query: RequestIntegrationVerificationRequestQuery;\n  params: RequestIntegrationVerificationRequestParams;\n  body: RequestIntegrationVerificationRequestBody;\n}\n\nexport const parseReq = (input: RequestIntegrationVerificationInput): RequestIntegrationVerificationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/request-verification`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'integrationId': input['integrationId'] },\n  }\n}\n\nexport interface RequestIntegrationVerificationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateInterfaceRequestHeaders {}\n\nexport interface CreateInterfaceRequestQuery {}\n\nexport interface CreateInterfaceRequestParams {}\n\nexport interface CreateInterfaceRequestBody {\n  /**\n   * Name of the [Interface](#schema_interface)\n   */\n  name: string;\n  /**\n   * Version of the [Interface](#schema_interface)\n   */\n  version: string;\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n    };\n  };\n  /**\n   * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n   */\n  nameTemplate?: {\n    script: string;\n    language: string;\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  sdkVersion?: string;\n  /**\n   * Base64 encoded svg of the interface icon. This icon is global to the interface each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the interface readme. The readme is specific to each interface versions.\n   */\n  readme?: string;\n  /**\n   * Title of the interface. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the interface. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n   */\n  public?: boolean;\n}\n\nexport type CreateInterfaceInput = CreateInterfaceRequestBody & CreateInterfaceRequestHeaders & CreateInterfaceRequestQuery & CreateInterfaceRequestParams\n\nexport type CreateInterfaceRequest = {\n  headers: CreateInterfaceRequestHeaders;\n  query: CreateInterfaceRequestQuery;\n  params: CreateInterfaceRequestParams;\n  body: CreateInterfaceRequestBody;\n}\n\nexport const parseReq = (input: CreateInterfaceInput): CreateInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'entities': input['entities'], 'events': input['events'], 'actions': input['actions'], 'channels': input['channels'], 'nameTemplate': input['nameTemplate'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'] },\n  }\n}\n\nexport interface CreateInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetInterfaceRequestHeaders {}\n\nexport interface GetInterfaceRequestQuery {}\n\nexport interface GetInterfaceRequestParams {\n  id: string;\n}\n\nexport interface GetInterfaceRequestBody {}\n\nexport type GetInterfaceInput = GetInterfaceRequestBody & GetInterfaceRequestHeaders & GetInterfaceRequestQuery & GetInterfaceRequestParams\n\nexport type GetInterfaceRequest = {\n  headers: GetInterfaceRequestHeaders;\n  query: GetInterfaceRequestQuery;\n  params: GetInterfaceRequestParams;\n  body: GetInterfaceRequestBody;\n}\n\nexport const parseReq = (input: GetInterfaceInput): GetInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetInterfaceByNameRequestHeaders {}\n\nexport interface GetInterfaceByNameRequestQuery {}\n\nexport interface GetInterfaceByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetInterfaceByNameRequestBody {}\n\nexport type GetInterfaceByNameInput = GetInterfaceByNameRequestBody & GetInterfaceByNameRequestHeaders & GetInterfaceByNameRequestQuery & GetInterfaceByNameRequestParams\n\nexport type GetInterfaceByNameRequest = {\n  headers: GetInterfaceByNameRequestHeaders;\n  query: GetInterfaceByNameRequestQuery;\n  params: GetInterfaceByNameRequestParams;\n  body: GetInterfaceByNameRequestBody;\n}\n\nexport const parseReq = (input: GetInterfaceByNameInput): GetInterfaceByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetInterfaceByNameResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateInterfaceRequestHeaders {}\n\nexport interface UpdateInterfaceRequestQuery {}\n\nexport interface UpdateInterfaceRequestParams {\n  id: string;\n}\n\nexport interface UpdateInterfaceRequestBody {\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n    } | null;\n  };\n  /**\n   * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n   */\n  nameTemplate?: {\n    script: string;\n    language: string;\n  } | null;\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  sdkVersion?: string;\n  /**\n   * Base64 encoded svg of the interface icon. This icon is global to the interface each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the interface readme. The readme is specific to each interface versions.\n   */\n  readme?: string;\n  /**\n   * Title of the interface. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the interface. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n   */\n  public?: boolean;\n}\n\nexport type UpdateInterfaceInput = UpdateInterfaceRequestBody & UpdateInterfaceRequestHeaders & UpdateInterfaceRequestQuery & UpdateInterfaceRequestParams\n\nexport type UpdateInterfaceRequest = {\n  headers: UpdateInterfaceRequestHeaders;\n  query: UpdateInterfaceRequestQuery;\n  params: UpdateInterfaceRequestParams;\n  body: UpdateInterfaceRequestBody;\n}\n\nexport const parseReq = (input: UpdateInterfaceInput): UpdateInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'entities': input['entities'], 'events': input['events'], 'actions': input['actions'], 'channels': input['channels'], 'nameTemplate': input['nameTemplate'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'] },\n  }\n}\n\nexport interface UpdateInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteInterfaceRequestHeaders {}\n\nexport interface DeleteInterfaceRequestQuery {}\n\nexport interface DeleteInterfaceRequestParams {\n  id: string;\n}\n\nexport interface DeleteInterfaceRequestBody {}\n\nexport type DeleteInterfaceInput = DeleteInterfaceRequestBody & DeleteInterfaceRequestHeaders & DeleteInterfaceRequestQuery & DeleteInterfaceRequestParams\n\nexport type DeleteInterfaceRequest = {\n  headers: DeleteInterfaceRequestHeaders;\n  query: DeleteInterfaceRequestQuery;\n  params: DeleteInterfaceRequestParams;\n  body: DeleteInterfaceRequestBody;\n}\n\nexport const parseReq = (input: DeleteInterfaceInput): DeleteInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteInterfaceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListInterfacesRequestHeaders {}\n\nexport interface ListInterfacesRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListInterfacesRequestParams {}\n\nexport interface ListInterfacesRequestBody {}\n\nexport type ListInterfacesInput = ListInterfacesRequestBody & ListInterfacesRequestHeaders & ListInterfacesRequestQuery & ListInterfacesRequestParams\n\nexport type ListInterfacesRequest = {\n  headers: ListInterfacesRequestHeaders;\n  query: ListInterfacesRequestQuery;\n  params: ListInterfacesRequestParams;\n  body: ListInterfacesRequestBody;\n}\n\nexport const parseReq = (input: ListInterfacesInput): ListInterfacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListInterfacesResponse {\n  interfaces: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\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 CreatePluginRequestHeaders {}\n\nexport interface CreatePluginRequestQuery {}\n\nexport interface CreatePluginRequestParams {}\n\nexport interface CreatePluginRequestBody {\n  /**\n   * Name of the [Plugin](#schema_plugin)\n   */\n  name: string;\n  /**\n   * Version of the [Plugin](#schema_plugin)\n   */\n  version: string;\n  /**\n   * Configuration definition\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema: {\n      [k: string]: any;\n    };\n  };\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  /**\n   * User object configuration\n   */\n  user?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Conversation object configuration\n   */\n  conversation?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  sdkVersion?: string;\n  code: {\n    /**\n     * Code of plugin bundled for Node.JS\n     */\n    node: string;\n    /**\n     * Code of plugin bundled for the browser\n     */\n    browser: string;\n  };\n  /**\n   * Base64 encoded svg of the plugin icon. This icon is global to the plugin each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the plugin readme. The readme is specific to each plugin versions.\n   */\n  readme?: string;\n  /**\n   * Title of the plugin. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the plugin. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  dependencies?: {\n    /**\n     * Mapping of interface aliases to interface references\n     */\n    interfaces?: {\n      [k: string]: {\n        /**\n         * Id of the interface. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the interface\n         */\n        name?: string;\n        /**\n         * Version of the interface. Accepts semver versions and version ranges\n         */\n        version?: string;\n      };\n    };\n    /**\n     * Mapping of integration aliases to integration references\n     */\n    integrations?: {\n      [k: string]: {\n        /**\n         * Id of the integration. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the integration\n         */\n        name?: string;\n        /**\n         * Version of the integration. Accepts semver versions and version ranges\n         */\n        version?: string;\n      };\n    };\n  };\n}\n\nexport type CreatePluginInput = CreatePluginRequestBody & CreatePluginRequestHeaders & CreatePluginRequestQuery & CreatePluginRequestParams\n\nexport type CreatePluginRequest = {\n  headers: CreatePluginRequestHeaders;\n  query: CreatePluginRequestQuery;\n  params: CreatePluginRequestParams;\n  body: CreatePluginRequestBody;\n}\n\nexport const parseReq = (input: CreatePluginInput): CreatePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'user': input['user'], 'conversation': input['conversation'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'dependencies': input['dependencies'] },\n  }\n}\n\nexport interface CreatePluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPluginRequestHeaders {}\n\nexport interface GetPluginRequestQuery {}\n\nexport interface GetPluginRequestParams {\n  id: string;\n}\n\nexport interface GetPluginRequestBody {}\n\nexport type GetPluginInput = GetPluginRequestBody & GetPluginRequestHeaders & GetPluginRequestQuery & GetPluginRequestParams\n\nexport type GetPluginRequest = {\n  headers: GetPluginRequestHeaders;\n  query: GetPluginRequestQuery;\n  params: GetPluginRequestParams;\n  body: GetPluginRequestBody;\n}\n\nexport const parseReq = (input: GetPluginInput): GetPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetDereferencedPluginRequestHeaders {}\n\nexport interface GetDereferencedPluginRequestQuery {\n  /**\n   * Mapping of interface aliases to integration IDs\n   */\n  interfaces: {\n    /**\n     * integration id\n     */\n    [k: string]: string;\n  };\n}\n\nexport interface GetDereferencedPluginRequestParams {\n  id: string;\n}\n\nexport interface GetDereferencedPluginRequestBody {}\n\nexport type GetDereferencedPluginInput = GetDereferencedPluginRequestBody & GetDereferencedPluginRequestHeaders & GetDereferencedPluginRequestQuery & GetDereferencedPluginRequestParams\n\nexport type GetDereferencedPluginRequest = {\n  headers: GetDereferencedPluginRequestHeaders;\n  query: GetDereferencedPluginRequestQuery;\n  params: GetDereferencedPluginRequestParams;\n  body: GetDereferencedPluginRequestBody;\n}\n\nexport const parseReq = (input: GetDereferencedPluginInput): GetDereferencedPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}/dereferenced`,\n    headers: {  },\n    query: { 'interfaces': input['interfaces'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetDereferencedPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPluginByNameRequestHeaders {}\n\nexport interface GetPluginByNameRequestQuery {}\n\nexport interface GetPluginByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPluginByNameRequestBody {}\n\nexport type GetPluginByNameInput = GetPluginByNameRequestBody & GetPluginByNameRequestHeaders & GetPluginByNameRequestQuery & GetPluginByNameRequestParams\n\nexport type GetPluginByNameRequest = {\n  headers: GetPluginByNameRequestHeaders;\n  query: GetPluginByNameRequestQuery;\n  params: GetPluginByNameRequestParams;\n  body: GetPluginByNameRequestBody;\n}\n\nexport const parseReq = (input: GetPluginByNameInput): GetPluginByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginByNameResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdatePluginRequestHeaders {}\n\nexport interface UpdatePluginRequestQuery {}\n\nexport interface UpdatePluginRequestParams {\n  id: string;\n}\n\nexport interface UpdatePluginRequestBody {\n  /**\n   * Configuration definition\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema: {\n      [k: string]: any;\n    };\n  } | null;\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  user?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  conversation?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  sdkVersion?: string;\n  code?: {\n    /**\n     * Code of plugin bundled for Node.JS\n     */\n    node?: string;\n    /**\n     * Code of plugin bundled for the browser\n     */\n    browser?: string;\n  };\n  /**\n   * Base64 encoded svg of the plugin icon. This icon is global to the plugin each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the plugin readme. The readme is specific to each plugin versions.\n   */\n  readme?: string;\n  /**\n   * Title of the plugin. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the plugin. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  dependencies?: {\n    /**\n     * Mapping of interface aliases to interface references\n     */\n    interfaces?: {\n      [k: string]: {\n        /**\n         * Id of the interface. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the interface\n         */\n        name?: string;\n        /**\n         * Version of the interface. Accepts semver versions and version ranges\n         */\n        version?: string;\n      } | null;\n    };\n    /**\n     * Mapping of integration aliases to integration references\n     */\n    integrations?: {\n      [k: string]: {\n        /**\n         * Id of the integration. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the integration\n         */\n        name?: string;\n        /**\n         * Version of the integration. Accepts semver versions and version ranges\n         */\n        version?: string;\n      } | null;\n    };\n  };\n}\n\nexport type UpdatePluginInput = UpdatePluginRequestBody & UpdatePluginRequestHeaders & UpdatePluginRequestQuery & UpdatePluginRequestParams\n\nexport type UpdatePluginRequest = {\n  headers: UpdatePluginRequestHeaders;\n  query: UpdatePluginRequestQuery;\n  params: UpdatePluginRequestParams;\n  body: UpdatePluginRequestBody;\n}\n\nexport const parseReq = (input: UpdatePluginInput): UpdatePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'user': input['user'], 'conversation': input['conversation'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'dependencies': input['dependencies'] },\n  }\n}\n\nexport interface UpdatePluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeletePluginRequestHeaders {}\n\nexport interface DeletePluginRequestQuery {}\n\nexport interface DeletePluginRequestParams {\n  id: string;\n}\n\nexport interface DeletePluginRequestBody {}\n\nexport type DeletePluginInput = DeletePluginRequestBody & DeletePluginRequestHeaders & DeletePluginRequestQuery & DeletePluginRequestParams\n\nexport type DeletePluginRequest = {\n  headers: DeletePluginRequestHeaders;\n  query: DeletePluginRequestQuery;\n  params: DeletePluginRequestParams;\n  body: DeletePluginRequestBody;\n}\n\nexport const parseReq = (input: DeletePluginInput): DeletePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeletePluginResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPluginsRequestHeaders {}\n\nexport interface ListPluginsRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPluginsRequestParams {}\n\nexport interface ListPluginsRequestBody {}\n\nexport type ListPluginsInput = ListPluginsRequestBody & ListPluginsRequestHeaders & ListPluginsRequestQuery & ListPluginsRequestParams\n\nexport type ListPluginsRequest = {\n  headers: ListPluginsRequestHeaders;\n  query: ListPluginsRequestQuery;\n  params: ListPluginsRequestParams;\n  body: ListPluginsRequestBody;\n}\n\nexport const parseReq = (input: ListPluginsInput): ListPluginsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPluginsResponse {\n  plugins: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\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 GetPluginCodeRequestHeaders {}\n\nexport interface GetPluginCodeRequestQuery {}\n\nexport interface GetPluginCodeRequestParams {\n  id: string;\n  platform: \"node\" | \"browser\";\n}\n\nexport interface GetPluginCodeRequestBody {}\n\nexport type GetPluginCodeInput = GetPluginCodeRequestBody & GetPluginCodeRequestHeaders & GetPluginCodeRequestQuery & GetPluginCodeRequestParams\n\nexport type GetPluginCodeRequest = {\n  headers: GetPluginCodeRequestHeaders;\n  query: GetPluginCodeRequestQuery;\n  params: GetPluginCodeRequestParams;\n  body: GetPluginCodeRequestBody;\n}\n\nexport const parseReq = (input: GetPluginCodeInput): GetPluginCodeRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}/code/${encodeURIComponent(input['platform'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'platform': input['platform'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginCodeResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUsageRequestHeaders {}\n\nexport interface GetUsageRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface GetUsageRequestParams {\n  id: string;\n}\n\nexport interface GetUsageRequestBody {}\n\nexport type GetUsageInput = GetUsageRequestBody & GetUsageRequestHeaders & GetUsageRequestQuery & GetUsageRequestParams\n\nexport type GetUsageRequest = {\n  headers: GetUsageRequestHeaders;\n  query: GetUsageRequestQuery;\n  params: GetUsageRequestParams;\n  body: GetUsageRequestBody;\n}\n\nexport const parseReq = (input: GetUsageInput): GetUsageRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetUsageResponse {\n  usage: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetMultipleUsagesRequestHeaders {}\n\nexport interface GetMultipleUsagesRequestQuery {\n  types: string[];\n  ids: string[];\n  period?: string;\n}\n\nexport interface GetMultipleUsagesRequestParams {}\n\nexport interface GetMultipleUsagesRequestBody {}\n\nexport type GetMultipleUsagesInput = GetMultipleUsagesRequestBody & GetMultipleUsagesRequestHeaders & GetMultipleUsagesRequestQuery & GetMultipleUsagesRequestParams\n\nexport type GetMultipleUsagesRequest = {\n  headers: GetMultipleUsagesRequestHeaders;\n  query: GetMultipleUsagesRequestQuery;\n  params: GetMultipleUsagesRequestParams;\n  body: GetMultipleUsagesRequestBody;\n}\n\nexport const parseReq = (input: GetMultipleUsagesInput): GetMultipleUsagesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/multiple`,\n    headers: {  },\n    query: { 'types': input['types'], 'ids': input['ids'], 'period': input['period'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetMultipleUsagesResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageHistoryRequestHeaders {}\n\nexport interface ListUsageHistoryRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n}\n\nexport interface ListUsageHistoryRequestParams {\n  id: string;\n}\n\nexport interface ListUsageHistoryRequestBody {}\n\nexport type ListUsageHistoryInput = ListUsageHistoryRequestBody & ListUsageHistoryRequestHeaders & ListUsageHistoryRequestQuery & ListUsageHistoryRequestParams\n\nexport type ListUsageHistoryRequest = {\n  headers: ListUsageHistoryRequestHeaders;\n  query: ListUsageHistoryRequestQuery;\n  params: ListUsageHistoryRequestParams;\n  body: ListUsageHistoryRequestBody;\n}\n\nexport const parseReq = (input: ListUsageHistoryInput): ListUsageHistoryRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/history`,\n    headers: {  },\n    query: { 'type': input['type'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageHistoryResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageActivityRequestHeaders {}\n\nexport interface ListUsageActivityRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  timestampFrom?: string;\n  timestampUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListUsageActivityRequestParams {\n  id: string;\n}\n\nexport interface ListUsageActivityRequestBody {}\n\nexport type ListUsageActivityInput = ListUsageActivityRequestBody & ListUsageActivityRequestHeaders & ListUsageActivityRequestQuery & ListUsageActivityRequestParams\n\nexport type ListUsageActivityRequest = {\n  headers: ListUsageActivityRequestHeaders;\n  query: ListUsageActivityRequestQuery;\n  params: ListUsageActivityRequestParams;\n  body: ListUsageActivityRequestBody;\n}\n\nexport const parseReq = (input: ListUsageActivityInput): ListUsageActivityRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/activity`,\n    headers: {  },\n    query: { 'type': input['type'], 'timestampFrom': input['timestampFrom'], 'timestampUntil': input['timestampUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageActivityResponse {\n  data: {\n    timestamp: string;\n    value: number;\n    period: string;\n    metadata: {\n      [k: string]: any | null;\n    };\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageActivityDailyRequestHeaders {}\n\nexport interface ListUsageActivityDailyRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  dateFrom?: string;\n  dateUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListUsageActivityDailyRequestParams {\n  id: string;\n}\n\nexport interface ListUsageActivityDailyRequestBody {}\n\nexport type ListUsageActivityDailyInput = ListUsageActivityDailyRequestBody & ListUsageActivityDailyRequestHeaders & ListUsageActivityDailyRequestQuery & ListUsageActivityDailyRequestParams\n\nexport type ListUsageActivityDailyRequest = {\n  headers: ListUsageActivityDailyRequestHeaders;\n  query: ListUsageActivityDailyRequestQuery;\n  params: ListUsageActivityDailyRequestParams;\n  body: ListUsageActivityDailyRequestBody;\n}\n\nexport const parseReq = (input: ListUsageActivityDailyInput): ListUsageActivityDailyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/daily-activity`,\n    headers: {  },\n    query: { 'type': input['type'], 'dateFrom': input['dateFrom'], 'dateUntil': input['dateUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageActivityDailyResponse {\n  data: {\n    key: string;\n    date: string;\n    value: number;\n    metadata?: {\n      botId: string;\n      type: \"IntegrationAction\" | \"FileIndexing\" | \"BingSearch\" | \"WebSearch\";\n      subtype?: string;\n      source?: string;\n    };\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ChangeAispendQuotaRequestHeaders {}\n\nexport interface ChangeAispendQuotaRequestQuery {}\n\nexport interface ChangeAispendQuotaRequestParams {}\n\nexport interface ChangeAispendQuotaRequestBody {\n  monthlySpendingLimit: number;\n}\n\nexport type ChangeAispendQuotaInput = ChangeAispendQuotaRequestBody & ChangeAispendQuotaRequestHeaders & ChangeAispendQuotaRequestQuery & ChangeAispendQuotaRequestParams\n\nexport type ChangeAispendQuotaRequest = {\n  headers: ChangeAispendQuotaRequestHeaders;\n  query: ChangeAispendQuotaRequestQuery;\n  params: ChangeAispendQuotaRequestParams;\n  body: ChangeAispendQuotaRequestBody;\n}\n\nexport const parseReq = (input: ChangeAispendQuotaInput): ChangeAispendQuotaRequest & { path: string } => {\n  return {\n    path: `/v1/admin/quotas/ai-spend`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'monthlySpendingLimit': input['monthlySpendingLimit'] },\n  }\n}\n\nexport interface ChangeAispendQuotaResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListActivitiesRequestHeaders {}\n\nexport interface ListActivitiesRequestQuery {\n  nextToken?: string;\n  taskId: string;\n  botId: string;\n}\n\nexport interface ListActivitiesRequestParams {}\n\nexport interface ListActivitiesRequestBody {}\n\nexport type ListActivitiesInput = ListActivitiesRequestBody & ListActivitiesRequestHeaders & ListActivitiesRequestQuery & ListActivitiesRequestParams\n\nexport type ListActivitiesRequest = {\n  headers: ListActivitiesRequestHeaders;\n  query: ListActivitiesRequestQuery;\n  params: ListActivitiesRequestParams;\n  body: ListActivitiesRequestBody;\n}\n\nexport const parseReq = (input: ListActivitiesInput): ListActivitiesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/activities`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'taskId': input['taskId'], 'botId': input['botId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListActivitiesResponse {\n  activities: {\n    id: string;\n    description: string;\n    taskId: string;\n    category:\n      | \"unknown\"\n      | \"capture\"\n      | \"bot_message\"\n      | \"user_message\"\n      | \"agent_message\"\n      | \"event\"\n      | \"action\"\n      | \"task_status\"\n      | \"subtask_status\"\n      | \"exception\";\n    data: {\n      [k: string]: any;\n    };\n    /**\n     * Creation date of the activity in ISO 8601 format\n     */\n    createdAt: 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 IntrospectRequestHeaders {}\n\nexport interface IntrospectRequestQuery {}\n\nexport interface IntrospectRequestParams {}\n\nexport interface IntrospectRequestBody {\n  botId: string;\n}\n\nexport type IntrospectInput = IntrospectRequestBody & IntrospectRequestHeaders & IntrospectRequestQuery & IntrospectRequestParams\n\nexport type IntrospectRequest = {\n  headers: IntrospectRequestHeaders;\n  query: IntrospectRequestQuery;\n  params: IntrospectRequestParams;\n  body: IntrospectRequestBody;\n}\n\nexport const parseReq = (input: IntrospectInput): IntrospectRequest & { path: string } => {\n  return {\n    path: `/v1/admin/introspect`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'botId': input['botId'] },\n  }\n}\n\nexport interface IntrospectResponse {\n  workspaceId: string;\n  botId: string;\n  userId: string;\n}\n\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as gen from '../gen/billing'\nimport * as types from '../types'\n\ntype IClient = common.types.Simplify<gen.Client>\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  workspaceId: string\n  token: string\n}\n\nexport class Client extends gen.Client {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\n  }\n\n  public get list() {\n    type ListInputs = common.types.ListInputs<IClient>\n    return {\n      listInvoices: (props: ListInputs['listInvoices']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listInvoices({ nextToken, ...props }).then((r) => ({ ...r, items: r.invoices }))\n        ),\n    }\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 getBillingReadonly from './operations/getBillingReadonly'\nimport * as getBillingAddress from './operations/getBillingAddress'\nimport * as setBillingAddress from './operations/setBillingAddress'\nimport * as getPlan from './operations/getPlan'\nimport * as listPlans from './operations/listPlans'\nimport * as getAddon from './operations/getAddon'\nimport * as listAddons from './operations/listAddons'\nimport * as getSubscription from './operations/getSubscription'\nimport * as previewSubscriptionUpdate from './operations/previewSubscriptionUpdate'\nimport * as setPlan from './operations/setPlan'\nimport * as setAddons from './operations/setAddons'\nimport * as setCancelAtPeriodEnd from './operations/setCancelAtPeriodEnd'\nimport * as getAutoRechargeSettings from './operations/getAutoRechargeSettings'\nimport * as setAutoRechargeSettings from './operations/setAutoRechargeSettings'\nimport * as getTrials from './operations/getTrials'\nimport * as createTrial from './operations/createTrial'\nimport * as removeTrial from './operations/removeTrial'\nimport * as listInvoices from './operations/listInvoices'\nimport * as payInvoice from './operations/payInvoice'\nimport * as getPaymentMethod from './operations/getPaymentMethod'\nimport * as setPaymentMethod from './operations/setPaymentMethod'\nimport * as createPaymentMethodIntent from './operations/createPaymentMethodIntent'\nimport * as getQuotas from './operations/getQuotas'\n\nexport * from './models'\n\nexport * as getBillingReadonly from './operations/getBillingReadonly'\nexport * as getBillingAddress from './operations/getBillingAddress'\nexport * as setBillingAddress from './operations/setBillingAddress'\nexport * as getPlan from './operations/getPlan'\nexport * as listPlans from './operations/listPlans'\nexport * as getAddon from './operations/getAddon'\nexport * as listAddons from './operations/listAddons'\nexport * as getSubscription from './operations/getSubscription'\nexport * as previewSubscriptionUpdate from './operations/previewSubscriptionUpdate'\nexport * as setPlan from './operations/setPlan'\nexport * as setAddons from './operations/setAddons'\nexport * as setCancelAtPeriodEnd from './operations/setCancelAtPeriodEnd'\nexport * as getAutoRechargeSettings from './operations/getAutoRechargeSettings'\nexport * as setAutoRechargeSettings from './operations/setAutoRechargeSettings'\nexport * as getTrials from './operations/getTrials'\nexport * as createTrial from './operations/createTrial'\nexport * as removeTrial from './operations/removeTrial'\nexport * as listInvoices from './operations/listInvoices'\nexport * as payInvoice from './operations/payInvoice'\nexport * as getPaymentMethod from './operations/getPaymentMethod'\nexport * as setPaymentMethod from './operations/setPaymentMethod'\nexport * as createPaymentMethodIntent from './operations/createPaymentMethodIntent'\nexport * as getQuotas from './operations/getQuotas'\n\nexport const apiVersion = '1.73.4'\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 getBillingReadonly = async (input: getBillingReadonly.GetBillingReadonlyInput): Promise<getBillingReadonly.GetBillingReadonlyResponse> => {\n    const { path, headers, query, body } = getBillingReadonly.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<getBillingReadonly.GetBillingReadonlyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBillingAddress = async (input: getBillingAddress.GetBillingAddressInput): Promise<getBillingAddress.GetBillingAddressResponse> => {\n    const { path, headers, query, body } = getBillingAddress.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<getBillingAddress.GetBillingAddressResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setBillingAddress = async (input: setBillingAddress.SetBillingAddressInput): Promise<setBillingAddress.SetBillingAddressResponse> => {\n    const { path, headers, query, body } = setBillingAddress.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<setBillingAddress.SetBillingAddressResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPlan = async (input: getPlan.GetPlanInput): Promise<getPlan.GetPlanResponse> => {\n    const { path, headers, query, body } = getPlan.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<getPlan.GetPlanResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPlans = async (input: listPlans.ListPlansInput): Promise<listPlans.ListPlansResponse> => {\n    const { path, headers, query, body } = listPlans.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<listPlans.ListPlansResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAddon = async (input: getAddon.GetAddonInput): Promise<getAddon.GetAddonResponse> => {\n    const { path, headers, query, body } = getAddon.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<getAddon.GetAddonResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listAddons = async (input: listAddons.ListAddonsInput): Promise<listAddons.ListAddonsResponse> => {\n    const { path, headers, query, body } = listAddons.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<listAddons.ListAddonsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getSubscription = async (input: getSubscription.GetSubscriptionInput): Promise<getSubscription.GetSubscriptionResponse> => {\n    const { path, headers, query, body } = getSubscription.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<getSubscription.GetSubscriptionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly previewSubscriptionUpdate = async (input: previewSubscriptionUpdate.PreviewSubscriptionUpdateInput): Promise<previewSubscriptionUpdate.PreviewSubscriptionUpdateResponse> => {\n    const { path, headers, query, body } = previewSubscriptionUpdate.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<previewSubscriptionUpdate.PreviewSubscriptionUpdateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setPlan = async (input: setPlan.SetPlanInput): Promise<setPlan.SetPlanResponse> => {\n    const { path, headers, query, body } = setPlan.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<setPlan.SetPlanResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setAddons = async (input: setAddons.SetAddonsInput): Promise<setAddons.SetAddonsResponse> => {\n    const { path, headers, query, body } = setAddons.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"patch\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<setAddons.SetAddonsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setCancelAtPeriodEnd = async (input: setCancelAtPeriodEnd.SetCancelAtPeriodEndInput): Promise<setCancelAtPeriodEnd.SetCancelAtPeriodEndResponse> => {\n    const { path, headers, query, body } = setCancelAtPeriodEnd.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<setCancelAtPeriodEnd.SetCancelAtPeriodEndResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAutoRechargeSettings = async (input: getAutoRechargeSettings.GetAutoRechargeSettingsInput): Promise<getAutoRechargeSettings.GetAutoRechargeSettingsResponse> => {\n    const { path, headers, query, body } = getAutoRechargeSettings.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<getAutoRechargeSettings.GetAutoRechargeSettingsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setAutoRechargeSettings = async (input: setAutoRechargeSettings.SetAutoRechargeSettingsInput): Promise<setAutoRechargeSettings.SetAutoRechargeSettingsResponse> => {\n    const { path, headers, query, body } = setAutoRechargeSettings.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<setAutoRechargeSettings.SetAutoRechargeSettingsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTrials = async (input: getTrials.GetTrialsInput): Promise<getTrials.GetTrialsResponse> => {\n    const { path, headers, query, body } = getTrials.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<getTrials.GetTrialsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createTrial = async (input: createTrial.CreateTrialInput): Promise<createTrial.CreateTrialResponse> => {\n    const { path, headers, query, body } = createTrial.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<createTrial.CreateTrialResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly removeTrial = async (input: removeTrial.RemoveTrialInput): Promise<removeTrial.RemoveTrialResponse> => {\n    const { path, headers, query, body } = removeTrial.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<removeTrial.RemoveTrialResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listInvoices = async (input: listInvoices.ListInvoicesInput): Promise<listInvoices.ListInvoicesResponse> => {\n    const { path, headers, query, body } = listInvoices.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<listInvoices.ListInvoicesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly payInvoice = async (input: payInvoice.PayInvoiceInput): Promise<payInvoice.PayInvoiceResponse> => {\n    const { path, headers, query, body } = payInvoice.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<payInvoice.PayInvoiceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPaymentMethod = async (input: getPaymentMethod.GetPaymentMethodInput): Promise<getPaymentMethod.GetPaymentMethodResponse> => {\n    const { path, headers, query, body } = getPaymentMethod.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<getPaymentMethod.GetPaymentMethodResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setPaymentMethod = async (input: setPaymentMethod.SetPaymentMethodInput): Promise<setPaymentMethod.SetPaymentMethodResponse> => {\n    const { path, headers, query, body } = setPaymentMethod.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<setPaymentMethod.SetPaymentMethodResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createPaymentMethodIntent = async (input: createPaymentMethodIntent.CreatePaymentMethodIntentInput): Promise<createPaymentMethodIntent.CreatePaymentMethodIntentResponse> => {\n    const { path, headers, query, body } = createPaymentMethodIntent.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<createPaymentMethodIntent.CreatePaymentMethodIntentResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getQuotas = async (input: getQuotas.GetQuotasInput): Promise<getQuotas.GetQuotasResponse> => {\n    const { path, headers, query, body } = getQuotas.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<getQuotas.GetQuotasResponse>(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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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 GetBillingReadonlyRequestHeaders {}\n\nexport interface GetBillingReadonlyRequestQuery {}\n\nexport interface GetBillingReadonlyRequestParams {}\n\nexport interface GetBillingReadonlyRequestBody {}\n\nexport type GetBillingReadonlyInput = GetBillingReadonlyRequestBody & GetBillingReadonlyRequestHeaders & GetBillingReadonlyRequestQuery & GetBillingReadonlyRequestParams\n\nexport type GetBillingReadonlyRequest = {\n  headers: GetBillingReadonlyRequestHeaders;\n  query: GetBillingReadonlyRequestQuery;\n  params: GetBillingReadonlyRequestParams;\n  body: GetBillingReadonlyRequestBody;\n}\n\nexport const parseReq = (_: GetBillingReadonlyInput): GetBillingReadonlyRequest & { path: string } => {\n  return {\n    path: `/v2/billing/readonly`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetBillingReadonlyResponse {\n  planReadonly: boolean;\n  addonsReadonly: boolean;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBillingAddressRequestHeaders {}\n\nexport interface GetBillingAddressRequestQuery {}\n\nexport interface GetBillingAddressRequestParams {}\n\nexport interface GetBillingAddressRequestBody {}\n\nexport type GetBillingAddressInput = GetBillingAddressRequestBody & GetBillingAddressRequestHeaders & GetBillingAddressRequestQuery & GetBillingAddressRequestParams\n\nexport type GetBillingAddressRequest = {\n  headers: GetBillingAddressRequestHeaders;\n  query: GetBillingAddressRequestQuery;\n  params: GetBillingAddressRequestParams;\n  body: GetBillingAddressRequestBody;\n}\n\nexport const parseReq = (_: GetBillingAddressInput): GetBillingAddressRequest & { path: string } => {\n  return {\n    path: `/v2/billing/address`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetBillingAddressResponse {\n  address: {\n    lineOne?: string;\n    lineTwo?: string;\n    city?: string;\n    state?: string;\n    postalCode?: string;\n    country?: string;\n  } | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetBillingAddressRequestHeaders {}\n\nexport interface SetBillingAddressRequestQuery {}\n\nexport interface SetBillingAddressRequestParams {}\n\nexport interface SetBillingAddressRequestBody {\n  lineOne?: string;\n  lineTwo?: string;\n  city?: string;\n  state?: string;\n  postalCode?: string;\n  country?: string;\n}\n\nexport type SetBillingAddressInput = SetBillingAddressRequestBody & SetBillingAddressRequestHeaders & SetBillingAddressRequestQuery & SetBillingAddressRequestParams\n\nexport type SetBillingAddressRequest = {\n  headers: SetBillingAddressRequestHeaders;\n  query: SetBillingAddressRequestQuery;\n  params: SetBillingAddressRequestParams;\n  body: SetBillingAddressRequestBody;\n}\n\nexport const parseReq = (input: SetBillingAddressInput): SetBillingAddressRequest & { path: string } => {\n  return {\n    path: `/v2/billing/address`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'lineOne': input['lineOne'], 'lineTwo': input['lineTwo'], 'city': input['city'], 'state': input['state'], 'postalCode': input['postalCode'], 'country': input['country'] },\n  }\n}\n\nexport interface SetBillingAddressResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPlanRequestHeaders {}\n\nexport interface GetPlanRequestQuery {}\n\nexport interface GetPlanRequestParams {\n  planId: string;\n}\n\nexport interface GetPlanRequestBody {}\n\nexport type GetPlanInput = GetPlanRequestBody & GetPlanRequestHeaders & GetPlanRequestQuery & GetPlanRequestParams\n\nexport type GetPlanRequest = {\n  headers: GetPlanRequestHeaders;\n  query: GetPlanRequestQuery;\n  params: GetPlanRequestParams;\n  body: GetPlanRequestBody;\n}\n\nexport const parseReq = (input: GetPlanInput): GetPlanRequest & { path: string } => {\n  return {\n    path: `/v2/billing/plans/${encodeURIComponent(input['planId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'planId': input['planId'] },\n    body: {  },\n  }\n}\n\nexport interface GetPlanResponse {\n  id: string;\n  name: string;\n  description: string;\n  prices: {\n    month?: {\n      amount: number;\n      currency: string;\n    };\n    year?: {\n      amount: number;\n      currency: string;\n    };\n  };\n  features: {\n    [k: string]: number;\n  };\n  metadata?: {\n    [k: string]: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPlansRequestHeaders {}\n\nexport interface ListPlansRequestQuery {}\n\nexport interface ListPlansRequestParams {}\n\nexport interface ListPlansRequestBody {}\n\nexport type ListPlansInput = ListPlansRequestBody & ListPlansRequestHeaders & ListPlansRequestQuery & ListPlansRequestParams\n\nexport type ListPlansRequest = {\n  headers: ListPlansRequestHeaders;\n  query: ListPlansRequestQuery;\n  params: ListPlansRequestParams;\n  body: ListPlansRequestBody;\n}\n\nexport const parseReq = (_: ListPlansInput): ListPlansRequest & { path: string } => {\n  return {\n    path: `/v2/billing/plans`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport type ListPlansResponse = GetPlanResponse[];\n\nexport interface GetPlanResponse {\n  id: string;\n  name: string;\n  description: string;\n  prices: {\n    month?: {\n      amount: number;\n      currency: string;\n    };\n    year?: {\n      amount: number;\n      currency: string;\n    };\n  };\n  features: {\n    [k: string]: number;\n  };\n  metadata?: {\n    [k: string]: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAddonRequestHeaders {}\n\nexport interface GetAddonRequestQuery {}\n\nexport interface GetAddonRequestParams {\n  addonId: string;\n}\n\nexport interface GetAddonRequestBody {}\n\nexport type GetAddonInput = GetAddonRequestBody & GetAddonRequestHeaders & GetAddonRequestQuery & GetAddonRequestParams\n\nexport type GetAddonRequest = {\n  headers: GetAddonRequestHeaders;\n  query: GetAddonRequestQuery;\n  params: GetAddonRequestParams;\n  body: GetAddonRequestBody;\n}\n\nexport const parseReq = (input: GetAddonInput): GetAddonRequest & { path: string } => {\n  return {\n    path: `/v2/billing/addons/${encodeURIComponent(input['addonId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'addonId': input['addonId'] },\n    body: {  },\n  }\n}\n\nexport interface GetAddonResponse {\n  id: string;\n  name: string;\n  description: string;\n  price: number;\n  feature:\n    | \"human_in_the_loop\"\n    | \"ratelimit\"\n    | \"incoming_messages_events\"\n    | \"integration_spend\"\n    | \"integration_subscription\"\n    | \"table_rows\"\n    | \"bot_count\"\n    | \"always_alive_count\"\n    | \"always_alive_concurrency\"\n    | \"collaborator_count\"\n    | \"file_storage\"\n    | \"vector_db_storage\"\n    | \"saved_versions\";\n  increment: number;\n  metadata?: {\n    [k: string]: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListAddonsRequestHeaders {}\n\nexport interface ListAddonsRequestQuery {}\n\nexport interface ListAddonsRequestParams {}\n\nexport interface ListAddonsRequestBody {}\n\nexport type ListAddonsInput = ListAddonsRequestBody & ListAddonsRequestHeaders & ListAddonsRequestQuery & ListAddonsRequestParams\n\nexport type ListAddonsRequest = {\n  headers: ListAddonsRequestHeaders;\n  query: ListAddonsRequestQuery;\n  params: ListAddonsRequestParams;\n  body: ListAddonsRequestBody;\n}\n\nexport const parseReq = (_: ListAddonsInput): ListAddonsRequest & { path: string } => {\n  return {\n    path: `/v2/billing/addons`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport type ListAddonsResponse = GetAddonResponse[];\n\nexport interface GetAddonResponse {\n  id: string;\n  name: string;\n  description: string;\n  price: number;\n  feature:\n    | \"human_in_the_loop\"\n    | \"ratelimit\"\n    | \"incoming_messages_events\"\n    | \"integration_spend\"\n    | \"integration_subscription\"\n    | \"table_rows\"\n    | \"bot_count\"\n    | \"always_alive_count\"\n    | \"always_alive_concurrency\"\n    | \"collaborator_count\"\n    | \"file_storage\"\n    | \"vector_db_storage\"\n    | \"saved_versions\";\n  increment: number;\n  metadata?: {\n    [k: string]: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetSubscriptionRequestHeaders {}\n\nexport interface GetSubscriptionRequestQuery {}\n\nexport interface GetSubscriptionRequestParams {}\n\nexport interface GetSubscriptionRequestBody {}\n\nexport type GetSubscriptionInput = GetSubscriptionRequestBody & GetSubscriptionRequestHeaders & GetSubscriptionRequestQuery & GetSubscriptionRequestParams\n\nexport type GetSubscriptionRequest = {\n  headers: GetSubscriptionRequestHeaders;\n  query: GetSubscriptionRequestQuery;\n  params: GetSubscriptionRequestParams;\n  body: GetSubscriptionRequestBody;\n}\n\nexport const parseReq = (_: GetSubscriptionInput): GetSubscriptionRequest & { path: string } => {\n  return {\n    path: `/v2/billing/subscriptions`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetSubscriptionResponse {\n  plan: {\n    current: {\n      status: \"active\" | \"canceled\" | \"past_due\" | \"action_required\" | \"grace_period\";\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number;\n      proratedPrice?: number;\n      cancelAtPeriodEnd: boolean;\n      periodEnd: string;\n    };\n    next: {\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number | null;\n      effectiveDate: string;\n    } | null;\n  };\n  addons: {\n    [k: string]: {\n      current: {\n        quantity: number;\n        price: number;\n        proratedPrice?: number;\n      };\n      next: {\n        quantity: number;\n        price: number;\n        effectiveDate: string;\n      } | null;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface PreviewSubscriptionUpdateRequestHeaders {}\n\nexport interface PreviewSubscriptionUpdateRequestQuery {}\n\nexport interface PreviewSubscriptionUpdateRequestParams {}\n\nexport interface PreviewSubscriptionUpdateRequestBody {\n  plan: {\n    /**\n     * New plan ID (optional)\n     */\n    planId: string;\n    /**\n     * New billing interval (optional)\n     */\n    interval: \"month\" | \"year\";\n  };\n  /**\n   * Map of addon IDs to quantities (optional). Set quantity to 0 to remove addon.\n   */\n  addons?: {\n    [k: string]: number;\n  };\n}\n\nexport type PreviewSubscriptionUpdateInput = PreviewSubscriptionUpdateRequestBody & PreviewSubscriptionUpdateRequestHeaders & PreviewSubscriptionUpdateRequestQuery & PreviewSubscriptionUpdateRequestParams\n\nexport type PreviewSubscriptionUpdateRequest = {\n  headers: PreviewSubscriptionUpdateRequestHeaders;\n  query: PreviewSubscriptionUpdateRequestQuery;\n  params: PreviewSubscriptionUpdateRequestParams;\n  body: PreviewSubscriptionUpdateRequestBody;\n}\n\nexport const parseReq = (input: PreviewSubscriptionUpdateInput): PreviewSubscriptionUpdateRequest & { path: string } => {\n  return {\n    path: `/v2/billing/subscriptions/preview`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'plan': input['plan'], 'addons': input['addons'] },\n  }\n}\n\n/**\n * Preview of subscription update costs\n */\nexport interface PreviewSubscriptionUpdateResponse {\n  subscription: {\n    plan: {\n      planId: string;\n      interval: \"month\" | \"year\";\n      effectiveDate: string;\n    };\n    addons: {\n      [k: string]: {\n        quantity: number;\n        effectiveDate: string;\n      };\n    };\n  };\n  changeType: \"upgrade\" | \"downgrade\" | \"same\";\n  costs: {\n    /**\n     * Prorated charges due immediately (0 for downgrades)\n     */\n    immediate: {\n      total: number;\n      lineItems: {\n        type: \"plan\" | \"addon\" | \"proration_credit\";\n        id: string;\n        description: string;\n        amount: number;\n        quantity?: number;\n      }[];\n    };\n    /**\n     * Monthly recurring cost (addons, or plan if monthly interval)\n     */\n    monthly: {\n      total: number;\n      lineItems: {\n        type: \"plan\" | \"addon\" | \"proration_credit\";\n        id: string;\n        description: string;\n        amount: number;\n        quantity?: number;\n      }[];\n    };\n    /**\n     * Yearly recurring cost (plan if yearly interval)\n     */\n    yearly: {\n      total: number;\n      lineItems: {\n        type: \"plan\" | \"addon\" | \"proration_credit\";\n        id: string;\n        description: string;\n        amount: number;\n        quantity?: number;\n      }[];\n    };\n  };\n  currentPeriodEnd: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetPlanRequestHeaders {}\n\nexport interface SetPlanRequestQuery {}\n\nexport interface SetPlanRequestParams {}\n\n/**\n * Plan update parameters\n */\nexport interface SetPlanRequestBody {\n  planId: string;\n  interval: \"month\" | \"year\";\n  testReferenceTime?: number;\n}\n\nexport type SetPlanInput = SetPlanRequestBody & SetPlanRequestHeaders & SetPlanRequestQuery & SetPlanRequestParams\n\nexport type SetPlanRequest = {\n  headers: SetPlanRequestHeaders;\n  query: SetPlanRequestQuery;\n  params: SetPlanRequestParams;\n  body: SetPlanRequestBody;\n}\n\nexport const parseReq = (input: SetPlanInput): SetPlanRequest & { path: string } => {\n  return {\n    path: `/v2/billing/plans`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'planId': input['planId'], 'interval': input['interval'], 'testReferenceTime': input['testReferenceTime'] },\n  }\n}\n\n/**\n * Subscription details including current plan, addons, and costs\n */\nexport interface SetPlanResponse {\n  plan: {\n    current: {\n      status: \"active\" | \"canceled\" | \"past_due\" | \"action_required\" | \"grace_period\";\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number;\n      proratedPrice?: number;\n      cancelAtPeriodEnd: boolean;\n      periodEnd: string;\n    };\n    next: {\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number | null;\n      effectiveDate: string;\n    } | null;\n  };\n  addons: {\n    [k: string]: {\n      current: {\n        quantity: number;\n        price: number;\n        proratedPrice?: number;\n      };\n      next: {\n        quantity: number;\n        price: number;\n        effectiveDate: string;\n      } | null;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetAddonsRequestHeaders {}\n\nexport interface SetAddonsRequestQuery {}\n\nexport interface SetAddonsRequestParams {}\n\n/**\n * Addons update parameters. Set quantity to 0 to remove an addon.\n */\nexport interface SetAddonsRequestBody {\n  addons: {\n    [k: string]: number;\n  };\n}\n\nexport type SetAddonsInput = SetAddonsRequestBody & SetAddonsRequestHeaders & SetAddonsRequestQuery & SetAddonsRequestParams\n\nexport type SetAddonsRequest = {\n  headers: SetAddonsRequestHeaders;\n  query: SetAddonsRequestQuery;\n  params: SetAddonsRequestParams;\n  body: SetAddonsRequestBody;\n}\n\nexport const parseReq = (input: SetAddonsInput): SetAddonsRequest & { path: string } => {\n  return {\n    path: `/v2/billing/addons`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'addons': input['addons'] },\n  }\n}\n\n/**\n * Subscription details including current plan, addons, and costs\n */\nexport interface SetAddonsResponse {\n  plan: {\n    current: {\n      status: \"active\" | \"canceled\" | \"past_due\" | \"action_required\" | \"grace_period\";\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number;\n      proratedPrice?: number;\n      cancelAtPeriodEnd: boolean;\n      periodEnd: string;\n    };\n    next: {\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number | null;\n      effectiveDate: string;\n    } | null;\n  };\n  addons: {\n    [k: string]: {\n      current: {\n        quantity: number;\n        price: number;\n        proratedPrice?: number;\n      };\n      next: {\n        quantity: number;\n        price: number;\n        effectiveDate: string;\n      } | null;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetCancelAtPeriodEndRequestHeaders {}\n\nexport interface SetCancelAtPeriodEndRequestQuery {}\n\nexport interface SetCancelAtPeriodEndRequestParams {}\n\nexport interface SetCancelAtPeriodEndRequestBody {\n  cancelAtPeriodEnd: boolean;\n}\n\nexport type SetCancelAtPeriodEndInput = SetCancelAtPeriodEndRequestBody & SetCancelAtPeriodEndRequestHeaders & SetCancelAtPeriodEndRequestQuery & SetCancelAtPeriodEndRequestParams\n\nexport type SetCancelAtPeriodEndRequest = {\n  headers: SetCancelAtPeriodEndRequestHeaders;\n  query: SetCancelAtPeriodEndRequestQuery;\n  params: SetCancelAtPeriodEndRequestParams;\n  body: SetCancelAtPeriodEndRequestBody;\n}\n\nexport const parseReq = (input: SetCancelAtPeriodEndInput): SetCancelAtPeriodEndRequest & { path: string } => {\n  return {\n    path: `/v2/billing/subscriptions/cancel`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'cancelAtPeriodEnd': input['cancelAtPeriodEnd'] },\n  }\n}\n\n/**\n * Subscription details including current plan, addons, and costs\n */\nexport interface SetCancelAtPeriodEndResponse {\n  plan: {\n    current: {\n      status: \"active\" | \"canceled\" | \"past_due\" | \"action_required\" | \"grace_period\";\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number;\n      proratedPrice?: number;\n      cancelAtPeriodEnd: boolean;\n      periodEnd: string;\n    };\n    next: {\n      planId: string;\n      interval: \"month\" | \"year\";\n      price: number | null;\n      effectiveDate: string;\n    } | null;\n  };\n  addons: {\n    [k: string]: {\n      current: {\n        quantity: number;\n        price: number;\n        proratedPrice?: number;\n      };\n      next: {\n        quantity: number;\n        price: number;\n        effectiveDate: string;\n      } | null;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAutoRechargeSettingsRequestHeaders {}\n\nexport interface GetAutoRechargeSettingsRequestQuery {}\n\nexport interface GetAutoRechargeSettingsRequestParams {}\n\nexport interface GetAutoRechargeSettingsRequestBody {}\n\nexport type GetAutoRechargeSettingsInput = GetAutoRechargeSettingsRequestBody & GetAutoRechargeSettingsRequestHeaders & GetAutoRechargeSettingsRequestQuery & GetAutoRechargeSettingsRequestParams\n\nexport type GetAutoRechargeSettingsRequest = {\n  headers: GetAutoRechargeSettingsRequestHeaders;\n  query: GetAutoRechargeSettingsRequestQuery;\n  params: GetAutoRechargeSettingsRequestParams;\n  body: GetAutoRechargeSettingsRequestBody;\n}\n\nexport const parseReq = (_: GetAutoRechargeSettingsInput): GetAutoRechargeSettingsRequest & { path: string } => {\n  return {\n    path: `/v2/billing/auto-recharge/settings`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetAutoRechargeSettingsResponse {\n  settings: {\n    table_row_count: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    invocation_calls: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    knowledgebase_vector_storage: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    storage_count: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetAutoRechargeSettingsRequestHeaders {}\n\nexport interface SetAutoRechargeSettingsRequestQuery {}\n\nexport interface SetAutoRechargeSettingsRequestParams {}\n\nexport interface SetAutoRechargeSettingsRequestBody {\n  settings: {\n    table_row_count?: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    invocation_calls?: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    knowledgebase_vector_storage?: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    storage_count?: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n  };\n}\n\nexport type SetAutoRechargeSettingsInput = SetAutoRechargeSettingsRequestBody & SetAutoRechargeSettingsRequestHeaders & SetAutoRechargeSettingsRequestQuery & SetAutoRechargeSettingsRequestParams\n\nexport type SetAutoRechargeSettingsRequest = {\n  headers: SetAutoRechargeSettingsRequestHeaders;\n  query: SetAutoRechargeSettingsRequestQuery;\n  params: SetAutoRechargeSettingsRequestParams;\n  body: SetAutoRechargeSettingsRequestBody;\n}\n\nexport const parseReq = (input: SetAutoRechargeSettingsInput): SetAutoRechargeSettingsRequest & { path: string } => {\n  return {\n    path: `/v2/billing/auto-recharge/settings`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'settings': input['settings'] },\n  }\n}\n\nexport interface SetAutoRechargeSettingsResponse {\n  settings: {\n    table_row_count: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    invocation_calls: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    knowledgebase_vector_storage: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n    storage_count: {\n      enabled: boolean;\n      threshold?: number;\n      limit?: number;\n      disabledReason?: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTrialsRequestHeaders {}\n\nexport interface GetTrialsRequestQuery {}\n\nexport interface GetTrialsRequestParams {}\n\nexport interface GetTrialsRequestBody {}\n\nexport type GetTrialsInput = GetTrialsRequestBody & GetTrialsRequestHeaders & GetTrialsRequestQuery & GetTrialsRequestParams\n\nexport type GetTrialsRequest = {\n  headers: GetTrialsRequestHeaders;\n  query: GetTrialsRequestQuery;\n  params: GetTrialsRequestParams;\n  body: GetTrialsRequestBody;\n}\n\nexport const parseReq = (_: GetTrialsInput): GetTrialsRequest & { path: string } => {\n  return {\n    path: `/v2/billing/trials`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetTrialsResponse {\n  trials: {\n    id: string;\n    trialPlan: string;\n    fromPlan: string;\n    endsAt: string;\n    isActive: boolean;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateTrialRequestHeaders {}\n\nexport interface CreateTrialRequestQuery {}\n\nexport interface CreateTrialRequestParams {}\n\nexport interface CreateTrialRequestBody {\n  lengthInDays: number;\n  plan: string;\n}\n\nexport type CreateTrialInput = CreateTrialRequestBody & CreateTrialRequestHeaders & CreateTrialRequestQuery & CreateTrialRequestParams\n\nexport type CreateTrialRequest = {\n  headers: CreateTrialRequestHeaders;\n  query: CreateTrialRequestQuery;\n  params: CreateTrialRequestParams;\n  body: CreateTrialRequestBody;\n}\n\nexport const parseReq = (input: CreateTrialInput): CreateTrialRequest & { path: string } => {\n  return {\n    path: `/v2/billing/trials`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'lengthInDays': input['lengthInDays'], 'plan': input['plan'] },\n  }\n}\n\nexport interface CreateTrialResponse {\n  id: string;\n  trialPlan: string;\n  fromPlan: string;\n  endsAt: string;\n  isActive: boolean;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RemoveTrialRequestHeaders {}\n\nexport interface RemoveTrialRequestQuery {}\n\nexport interface RemoveTrialRequestParams {}\n\nexport interface RemoveTrialRequestBody {}\n\nexport type RemoveTrialInput = RemoveTrialRequestBody & RemoveTrialRequestHeaders & RemoveTrialRequestQuery & RemoveTrialRequestParams\n\nexport type RemoveTrialRequest = {\n  headers: RemoveTrialRequestHeaders;\n  query: RemoveTrialRequestQuery;\n  params: RemoveTrialRequestParams;\n  body: RemoveTrialRequestBody;\n}\n\nexport const parseReq = (_: RemoveTrialInput): RemoveTrialRequest & { path: string } => {\n  return {\n    path: `/v2/billing/trials`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface RemoveTrialResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListInvoicesRequestHeaders {}\n\nexport interface ListInvoicesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListInvoicesRequestParams {}\n\nexport interface ListInvoicesRequestBody {}\n\nexport type ListInvoicesInput = ListInvoicesRequestBody & ListInvoicesRequestHeaders & ListInvoicesRequestQuery & ListInvoicesRequestParams\n\nexport type ListInvoicesRequest = {\n  headers: ListInvoicesRequestHeaders;\n  query: ListInvoicesRequestQuery;\n  params: ListInvoicesRequestParams;\n  body: ListInvoicesRequestBody;\n}\n\nexport const parseReq = (input: ListInvoicesInput): ListInvoicesRequest & { path: string } => {\n  return {\n    path: `/v2/billing/invoices`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListInvoicesResponse {\n  invoices: {\n    id: string;\n    amount: number;\n    currency: string;\n    status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\";\n    createdAt: string;\n    periodStart: string | null;\n    periodEnd: string | null;\n    dueDate: string | null;\n    pdfUrl: string | null;\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 PayInvoiceRequestHeaders {}\n\nexport interface PayInvoiceRequestQuery {}\n\nexport interface PayInvoiceRequestParams {\n  invoiceId: string;\n}\n\nexport interface PayInvoiceRequestBody {\n  idempotencyKey?: string;\n}\n\nexport type PayInvoiceInput = PayInvoiceRequestBody & PayInvoiceRequestHeaders & PayInvoiceRequestQuery & PayInvoiceRequestParams\n\nexport type PayInvoiceRequest = {\n  headers: PayInvoiceRequestHeaders;\n  query: PayInvoiceRequestQuery;\n  params: PayInvoiceRequestParams;\n  body: PayInvoiceRequestBody;\n}\n\nexport const parseReq = (input: PayInvoiceInput): PayInvoiceRequest & { path: string } => {\n  return {\n    path: `/v2/billing/invoices/${encodeURIComponent(input['invoiceId'])}/pay`,\n    headers: {  },\n    query: {  },\n    params: { 'invoiceId': input['invoiceId'] },\n    body: { 'idempotencyKey': input['idempotencyKey'] },\n  }\n}\n\nexport interface PayInvoiceResponse {\n  id: string;\n  amount: number;\n  currency: string;\n  status: \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\";\n  createdAt: string;\n  periodStart: string | null;\n  periodEnd: string | null;\n  dueDate: string | null;\n  pdfUrl: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPaymentMethodRequestHeaders {}\n\nexport interface GetPaymentMethodRequestQuery {}\n\nexport interface GetPaymentMethodRequestParams {}\n\nexport interface GetPaymentMethodRequestBody {}\n\nexport type GetPaymentMethodInput = GetPaymentMethodRequestBody & GetPaymentMethodRequestHeaders & GetPaymentMethodRequestQuery & GetPaymentMethodRequestParams\n\nexport type GetPaymentMethodRequest = {\n  headers: GetPaymentMethodRequestHeaders;\n  query: GetPaymentMethodRequestQuery;\n  params: GetPaymentMethodRequestParams;\n  body: GetPaymentMethodRequestBody;\n}\n\nexport const parseReq = (_: GetPaymentMethodInput): GetPaymentMethodRequest & { path: string } => {\n  return {\n    path: `/v2/billing/payment-methods`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetPaymentMethodResponse {\n  paymentMethod: {\n    id: string;\n    type: string;\n    card: {\n      brand: string;\n      lastFour: string;\n      expMonth: number;\n      expYear: number;\n    } | null;\n  } | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetPaymentMethodRequestHeaders {}\n\nexport interface SetPaymentMethodRequestQuery {}\n\nexport interface SetPaymentMethodRequestParams {}\n\nexport interface SetPaymentMethodRequestBody {\n  /**\n   * Stripe payment method ID\n   */\n  paymentMethodId: string;\n}\n\nexport type SetPaymentMethodInput = SetPaymentMethodRequestBody & SetPaymentMethodRequestHeaders & SetPaymentMethodRequestQuery & SetPaymentMethodRequestParams\n\nexport type SetPaymentMethodRequest = {\n  headers: SetPaymentMethodRequestHeaders;\n  query: SetPaymentMethodRequestQuery;\n  params: SetPaymentMethodRequestParams;\n  body: SetPaymentMethodRequestBody;\n}\n\nexport const parseReq = (input: SetPaymentMethodInput): SetPaymentMethodRequest & { path: string } => {\n  return {\n    path: `/v2/billing/payment-methods`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'paymentMethodId': input['paymentMethodId'] },\n  }\n}\n\nexport interface SetPaymentMethodResponse {\n  id: string;\n  type: string;\n  card: {\n    brand: string;\n    lastFour: string;\n    expMonth: number;\n    expYear: number;\n  } | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreatePaymentMethodIntentRequestHeaders {}\n\nexport interface CreatePaymentMethodIntentRequestQuery {}\n\nexport interface CreatePaymentMethodIntentRequestParams {}\n\nexport interface CreatePaymentMethodIntentRequestBody {}\n\nexport type CreatePaymentMethodIntentInput = CreatePaymentMethodIntentRequestBody & CreatePaymentMethodIntentRequestHeaders & CreatePaymentMethodIntentRequestQuery & CreatePaymentMethodIntentRequestParams\n\nexport type CreatePaymentMethodIntentRequest = {\n  headers: CreatePaymentMethodIntentRequestHeaders;\n  query: CreatePaymentMethodIntentRequestQuery;\n  params: CreatePaymentMethodIntentRequestParams;\n  body: CreatePaymentMethodIntentRequestBody;\n}\n\nexport const parseReq = (_: CreatePaymentMethodIntentInput): CreatePaymentMethodIntentRequest & { path: string } => {\n  return {\n    path: `/v2/billing/payment-methods/intent`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface CreatePaymentMethodIntentResponse {\n  clientSecret: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetQuotasRequestHeaders {}\n\nexport interface GetQuotasRequestQuery {}\n\nexport interface GetQuotasRequestParams {}\n\nexport interface GetQuotasRequestBody {}\n\nexport type GetQuotasInput = GetQuotasRequestBody & GetQuotasRequestHeaders & GetQuotasRequestQuery & GetQuotasRequestParams\n\nexport type GetQuotasRequest = {\n  headers: GetQuotasRequestHeaders;\n  query: GetQuotasRequestQuery;\n  params: GetQuotasRequestParams;\n  body: GetQuotasRequestBody;\n}\n\nexport const parseReq = (_: GetQuotasInput): GetQuotasRequest & { path: string } => {\n  return {\n    path: `/v2/billing/quotas`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetQuotasResponse {\n  [k: string]: number;\n}\n\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as gen from '../gen/files'\nimport * as types from '../types'\nimport * as uploadFile from './upload-file'\n\ntype IClient = common.types.Simplify<\n  gen.Client & {\n    uploadFile: (input: uploadFile.UploadFileInput) => Promise<uploadFile.UploadFileOutput>\n  }\n>\n\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  token: string\n  botId: string\n  integrationId?: string\n  integrationAlias?: string\n}\n\nexport class Client extends gen.Client implements IClient {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\n  }\n\n  public get list() {\n    type ListInputs = common.types.ListInputs<IClient>\n    return {\n      files: (props: ListInputs['listFiles']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFiles({ nextToken, ...props }).then((r) => ({ ...r, items: r.files }))\n        ),\n      filePassages: (props: ListInputs['listFilePassages']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFilePassages({ nextToken, ...props }).then((r) => ({ ...r, items: r.passages }))\n        ),\n      fileTags: (props: ListInputs['listFileTags']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFileTags({ nextToken, ...props }).then((r) => ({ ...r, items: r.tags }))\n        ),\n      fileTagValues: (props: ListInputs['listFileTagValues']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFileTagValues({ nextToken, ...props }).then((r) => ({ ...r, items: r.values }))\n        ),\n      knowledgeBases: (props: ListInputs['listKnowledgeBases']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listKnowledgeBases({ nextToken, ...props }).then((r) => ({ ...r, items: r.knowledgeBases }))\n        ),\n    }\n  }\n\n  /**\n   * Create/update and upload a file in a single step. Returns an object containing the file metadata and the URL to retrieve the file.\n   */\n  public async uploadFile(input: uploadFile.UploadFileInput): Promise<uploadFile.UploadFileOutput> {\n    return await uploadFile.upload(this, input)\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 upsertFile from './operations/upsertFile'\nimport * as deleteFile from './operations/deleteFile'\nimport * as listFiles from './operations/listFiles'\nimport * as getFile from './operations/getFile'\nimport * as updateFileMetadata from './operations/updateFileMetadata'\nimport * as copyFile from './operations/copyFile'\nimport * as searchFiles from './operations/searchFiles'\nimport * as listFilePassages from './operations/listFilePassages'\nimport * as setFilePassages from './operations/setFilePassages'\nimport * as listFileTags from './operations/listFileTags'\nimport * as listFileTagValues from './operations/listFileTagValues'\nimport * as createKnowledgeBase from './operations/createKnowledgeBase'\nimport * as deleteKnowledgeBase from './operations/deleteKnowledgeBase'\nimport * as updateKnowledgeBase from './operations/updateKnowledgeBase'\nimport * as listKnowledgeBases from './operations/listKnowledgeBases'\n\nexport * from './models'\n\nexport * as upsertFile from './operations/upsertFile'\nexport * as deleteFile from './operations/deleteFile'\nexport * as listFiles from './operations/listFiles'\nexport * as getFile from './operations/getFile'\nexport * as updateFileMetadata from './operations/updateFileMetadata'\nexport * as copyFile from './operations/copyFile'\nexport * as searchFiles from './operations/searchFiles'\nexport * as listFilePassages from './operations/listFilePassages'\nexport * as setFilePassages from './operations/setFilePassages'\nexport * as listFileTags from './operations/listFileTags'\nexport * as listFileTagValues from './operations/listFileTagValues'\nexport * as createKnowledgeBase from './operations/createKnowledgeBase'\nexport * as deleteKnowledgeBase from './operations/deleteKnowledgeBase'\nexport * as updateKnowledgeBase from './operations/updateKnowledgeBase'\nexport * as listKnowledgeBases from './operations/listKnowledgeBases'\n\nexport const apiVersion = '1.73.4'\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 upsertFile = async (input: upsertFile.UpsertFileInput): Promise<upsertFile.UpsertFileResponse> => {\n    const { path, headers, query, body } = upsertFile.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<upsertFile.UpsertFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteFile = async (input: deleteFile.DeleteFileInput): Promise<deleteFile.DeleteFileResponse> => {\n    const { path, headers, query, body } = deleteFile.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<deleteFile.DeleteFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFiles = async (input: listFiles.ListFilesInput): Promise<listFiles.ListFilesResponse> => {\n    const { path, headers, query, body } = listFiles.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<listFiles.ListFilesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getFile = async (input: getFile.GetFileInput): Promise<getFile.GetFileResponse> => {\n    const { path, headers, query, body } = getFile.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<getFile.GetFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateFileMetadata = async (input: updateFileMetadata.UpdateFileMetadataInput): Promise<updateFileMetadata.UpdateFileMetadataResponse> => {\n    const { path, headers, query, body } = updateFileMetadata.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<updateFileMetadata.UpdateFileMetadataResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly copyFile = async (input: copyFile.CopyFileInput): Promise<copyFile.CopyFileResponse> => {\n    const { path, headers, query, body } = copyFile.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<copyFile.CopyFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly searchFiles = async (input: searchFiles.SearchFilesInput): Promise<searchFiles.SearchFilesResponse> => {\n    const { path, headers, query, body } = searchFiles.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<searchFiles.SearchFilesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFilePassages = async (input: listFilePassages.ListFilePassagesInput): Promise<listFilePassages.ListFilePassagesResponse> => {\n    const { path, headers, query, body } = listFilePassages.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<listFilePassages.ListFilePassagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setFilePassages = async (input: setFilePassages.SetFilePassagesInput): Promise<setFilePassages.SetFilePassagesResponse> => {\n    const { path, headers, query, body } = setFilePassages.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<setFilePassages.SetFilePassagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFileTags = async (input: listFileTags.ListFileTagsInput): Promise<listFileTags.ListFileTagsResponse> => {\n    const { path, headers, query, body } = listFileTags.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<listFileTags.ListFileTagsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFileTagValues = async (input: listFileTagValues.ListFileTagValuesInput): Promise<listFileTagValues.ListFileTagValuesResponse> => {\n    const { path, headers, query, body } = listFileTagValues.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<listFileTagValues.ListFileTagValuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createKnowledgeBase = async (input: createKnowledgeBase.CreateKnowledgeBaseInput): Promise<createKnowledgeBase.CreateKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = createKnowledgeBase.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<createKnowledgeBase.CreateKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteKnowledgeBase = async (input: deleteKnowledgeBase.DeleteKnowledgeBaseInput): Promise<deleteKnowledgeBase.DeleteKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = deleteKnowledgeBase.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<deleteKnowledgeBase.DeleteKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateKnowledgeBase = async (input: updateKnowledgeBase.UpdateKnowledgeBaseInput): Promise<updateKnowledgeBase.UpdateKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = updateKnowledgeBase.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<updateKnowledgeBase.UpdateKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listKnowledgeBases = async (input: listKnowledgeBases.ListKnowledgeBasesInput): Promise<listKnowledgeBases.ListKnowledgeBasesResponse> => {\n    const { path, headers, query, body } = listKnowledgeBases.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<listKnowledgeBases.ListKnowledgeBasesResponse>(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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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 UpsertFileRequestHeaders {}\n\nexport interface UpsertFileRequestQuery {}\n\nexport interface UpsertFileRequestParams {}\n\nexport interface UpsertFileRequestBody {\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 tags as an object of key-value pairs. Tag values should be of `string` (text) type.\n   */\n  tags?: {\n    [k: string]: string;\n  };\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   * Set to a value of 'true' to index the file in vector storage. Only certain file formats are currently supported for indexing. Files larger than 95 MB cannot be indexed. Note that if a file is indexed, it will count towards both the Vector DB Storage quota and the File Storage quota of the workspace.\n   */\n  index?: boolean;\n  indexing?: {\n    /**\n     * Configuration to use for indexing the file, will be stored in the file's metadata for reference.\n     */\n    configuration: {\n      parsing?: {\n        /**\n         * The parsing mode to index the file. Using `agent` will use agentic document processing to parse the file and will incurr in AI Spend cost, while `standard` will use a faster but less accurate parser that will not incur in AI Spend cost.\n         */\n        mode?: \"agent\" | \"standard\";\n        /**\n         * The minimum length a standalone paragraph should have. If a paragraph is shorter than this, it will be merged with the next immediate paragraph.\n         */\n        minimumParagraphLength?: number;\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) Enabling this will use a lightweight/inexpensive LLM to clean up the extracted content of PDF files before indexing them to increase the quality of the stored vectors, as PDFs often store raw text in unusual ways which when extracted may result in formatting issues (e.g. broken sentences/paragraphs, unexpected headings, garbled characters, etc.) that can affect retrieval performance for certain user queries if left untouched.\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         * - We recommend using this feature for PDFs that have custom layouts or design. For simple text-based PDFs like documents and books, this feature is usually not necessary.\n         * - The smart cleanup takes some time to perform due to the LLM calls involved, so enabling it will increase the total time it takes to index the file.\n         * - We take steps to prevent the original text from being fundamentally changed but due to the nature of LLMs this could theoretically still happen so it's recommended to review the passages generated for the file after indexing to ensure the content is still accurate.\n         * - This feature is limited to the first 30 pages or 20 KB of text in the PDF file (whichever comes first). If the file has more content than these limits then the rest of the file will be indexed as-is without any cleanup. If you need to clean up the content of the entire file, consider splitting it into smaller files.\n         */\n        smartCleanup?: boolean;\n      };\n      chunking?: {\n        /**\n         * The maximum length of a chunk in characters.\n         */\n        maximumChunkLength?: number;\n        /**\n         * The number of surrounding context levels to include in the vector embedding of the chunk.\n         */\n        embeddedContextLevels?: number;\n        /**\n         * Include the breadcrumb of the chunk in the vector embedding.\n         */\n        embedBreadcrumb?: boolean;\n      };\n      summarization?: {\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) Create summaries for this file and index them as standalone vectors. Enabling this option will incur in AI Spend cost (charged to the workspace of the bot) to generate the summaries based on the amount of content in the file and the summarization model used.\n         *\n         * Please note that this feature is only available in Team and Enterprise plans.\n         */\n        enable?: boolean;\n        /**\n         * The model type to use for summarization.\n         */\n        modelType?: \"inexpensive\" | \"balanced\" | \"accurate\";\n        /**\n         * The minimum length a section of the file should have to create a summary of it.\n         */\n        minimumInputLength?: number;\n        /**\n         * The maximum length of a summary (in tokens).\n         */\n        outputTokenLimit?: number;\n        /**\n         * Generate a summary of the entire file and index it as a standalone vector.\n         */\n        generateMasterSummary?: boolean;\n      };\n      /**\n       * If not set, the default indexing stack will be used.\n       */\n      stack?: \"legacy\" | \"realtime-v1\";\n      vision?: {\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) For PDF files, set this option to `true` or pass an array with specific page numbers to use a vision-enabled LLM to transcribe each page of the PDF as standalone vectors and index them.\n         *\n         * This feature is useful when a PDF file contains custom designs or layouts, or when your document has many infographics, which require visual processing in order to index the file effectively, as the default text-based indexing may not be enough to allow your bot to correctly understand the content in your PDFs.\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - Enabling this feature will incur in AI Spend cost to use a vision-enabled LLM to index the PDF pages.\n         * - This is limited to a maximum of 100 pages of the PDF. If the file has more pages then the rest of the pages will NOT be transcribed using this vision feature, and will be processed using the default text-based indexing instead. If you need to transcribe the entire file using vision, please split it into smaller files.\n         * - Pages that are vision-transcribed will not be processed by the default text-based indexing to avoid duplicate content in the index.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         */\n        transcribePages?: {\n          [k: string]: any;\n        };\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) For PDF files, set this option to `true` or pass an array with specific page numbers to use a vision-enabled LLM to index each page of the PDF as a standalone image.\n         *\n         * Enabling this feature will allow Autonomous Nodes in your bot to answer visual or higher-level questions about the content in these pages that can usually not be answered correctly by the default text-based indexing or visual transcription.\n         *\n         * This feature is useful when a PDF has:\n         * - Tables with complex layouts\n         * - Charts, diagrams or infographics\n         * - Photos or images that can be used to answer user queries\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - Enabling this will incur in extra AI Spend cost and additional File Storage usage, in order to use a vision-enabled LLM to visually index the PDF pages and store them as standalone page images in the bot's file storage.\n         * - Enabling this may increase the overall AI Spend cost of your bot as your bot may pass one or more indexed page images to a vision-enabled LLM for answering user queries.\n         * - This is limited to the first 100 pages of the PDF. If the file has more pages then the rest of the pages will NOT be vision-indexed. If you need to visually index the entire file, please split it into smaller files.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         */\n        indexPages?: {\n          [k: string]: any;\n        };\n      };\n    };\n  };\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?: (\"public_content\" | \"integrations\")[];\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   * Expiry timestamp in ISO 8601 format with UTC timezone. After expiry, the File will be deleted. Must be in the future. Cannot be more than 90 days from now. The value up to minutes is considered. Seconds and milliseconds are ignored.\n   */\n  expiresAt?: string;\n  /**\n   * Use when your file has \"public_content\" in its access policy and you need the file\\'s content to be immediately accessible through its URL after the file has been uploaded without having to wait for the upload to be processed by our system.\n   *\n   * If set to `true`, the `x-amz-tagging` HTTP header with a value of `public=true` will need to be sent in the HTTP PUT request to the `uploadUrl` in order for the upload request to work.\n   */\n  publicContentImmediatelyAccessible?: boolean;\n  /**\n   * Custom metadata for the file expressed as an object of key-value pairs. The values can be of any type.\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n}\n\nexport type UpsertFileInput = UpsertFileRequestBody & UpsertFileRequestHeaders & UpsertFileRequestQuery & UpsertFileRequestParams\n\nexport type UpsertFileRequest = {\n  headers: UpsertFileRequestHeaders;\n  query: UpsertFileRequestQuery;\n  params: UpsertFileRequestParams;\n  body: UpsertFileRequestBody;\n}\n\nexport const parseReq = (input: UpsertFileInput): UpsertFileRequest & { path: string } => {\n  return {\n    path: `/v1/files`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'key': input['key'], 'tags': input['tags'], 'size': input['size'], 'index': input['index'], 'indexing': input['indexing'], 'accessPolicies': input['accessPolicies'], 'contentType': input['contentType'], 'expiresAt': input['expiresAt'], 'publicContentImmediatelyAccessible': input['publicContentImmediatelyAccessible'], 'metadata': input['metadata'] },\n  }\n}\n\nexport interface UpsertFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n    /**\n     * URL to upload the file content. File content needs to be sent to this URL via a PUT request.\n     */\n    uploadUrl: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteFileRequestHeaders {}\n\nexport interface DeleteFileRequestQuery {}\n\nexport interface DeleteFileRequestParams {\n  id: string;\n}\n\nexport interface DeleteFileRequestBody {}\n\nexport type DeleteFileInput = DeleteFileRequestBody & DeleteFileRequestHeaders & DeleteFileRequestQuery & DeleteFileRequestParams\n\nexport type DeleteFileRequest = {\n  headers: DeleteFileRequestHeaders;\n  query: DeleteFileRequestQuery;\n  params: DeleteFileRequestParams;\n  body: DeleteFileRequestBody;\n}\n\nexport const parseReq = (input: DeleteFileInput): DeleteFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteFileResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFilesRequestHeaders {}\n\nexport interface ListFilesRequestQuery {\n  nextToken?: string;\n  sortField?: \"key\" | \"size\" | \"createdAt\" | \"updatedAt\" | \"status\";\n  sortDirection?: \"asc\" | \"desc\";\n  tags?: any;\n  /**\n   * @maxItems 50\n   */\n  ids?: string[];\n  indexed?: boolean;\n}\n\nexport interface ListFilesRequestParams {}\n\nexport interface ListFilesRequestBody {}\n\nexport type ListFilesInput = ListFilesRequestBody & ListFilesRequestHeaders & ListFilesRequestQuery & ListFilesRequestParams\n\nexport type ListFilesRequest = {\n  headers: ListFilesRequestHeaders;\n  query: ListFilesRequestQuery;\n  params: ListFilesRequestParams;\n  body: ListFilesRequestBody;\n}\n\nexport const parseReq = (input: ListFilesInput): ListFilesRequest & { path: string } => {\n  return {\n    path: `/v1/files`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'], 'tags': input['tags'], 'ids': input['ids'], 'indexed': input['indexed'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListFilesResponse {\n  files: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any | null;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\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 GetFileRequestHeaders {}\n\nexport interface GetFileRequestQuery {}\n\nexport interface GetFileRequestParams {\n  id: string;\n}\n\nexport interface GetFileRequestBody {}\n\nexport type GetFileInput = GetFileRequestBody & GetFileRequestHeaders & GetFileRequestQuery & GetFileRequestParams\n\nexport type GetFileRequest = {\n  headers: GetFileRequestHeaders;\n  query: GetFileRequestQuery;\n  params: GetFileRequestParams;\n  body: GetFileRequestBody;\n}\n\nexport const parseReq = (input: GetFileInput): GetFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateFileMetadataRequestHeaders {}\n\nexport interface UpdateFileMetadataRequestQuery {}\n\nexport interface UpdateFileMetadataRequestParams {\n  id: string;\n}\n\nexport interface UpdateFileMetadataRequestBody {\n  /**\n   * Custom metadata for the file expressed as an object of key-value pairs. Omit to keep existing metadata intact. Any existing metadata keys not included will be preserved. New keys will be added. To delete a metadata key, set its value to `null`.\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n  /**\n   * The file tags to update as an object of key-value pairs with `string` (text) values. Omit to keep existing tags intact. Any existing tags not included will be preserved. New tags will be added. To delete a tag, set its value to `null`.\n   */\n  tags?: {\n    [k: string]: string | null;\n  };\n  /**\n   * New access policies to set for the file. Omit to keep existing policies intact.\n   */\n  accessPolicies?: (\"integrations\" | \"public_content\")[];\n  /**\n   * Expiry timestamp in ISO 8601 format with UTC timezone. After expiry, the File will be deleted. Must be in the future. Cannot be more than 90 days from now. The value up to minutes is considered. Seconds and milliseconds are ignored. Omit to keep the existing expiry intact. Set to `null` to remove the expiry.\n   */\n  expiresAt?: string | null;\n}\n\nexport type UpdateFileMetadataInput = UpdateFileMetadataRequestBody & UpdateFileMetadataRequestHeaders & UpdateFileMetadataRequestQuery & UpdateFileMetadataRequestParams\n\nexport type UpdateFileMetadataRequest = {\n  headers: UpdateFileMetadataRequestHeaders;\n  query: UpdateFileMetadataRequestQuery;\n  params: UpdateFileMetadataRequestParams;\n  body: UpdateFileMetadataRequestBody;\n}\n\nexport const parseReq = (input: UpdateFileMetadataInput): UpdateFileMetadataRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'metadata': input['metadata'], 'tags': input['tags'], 'accessPolicies': input['accessPolicies'], 'expiresAt': input['expiresAt'] },\n  }\n}\n\nexport interface UpdateFileMetadataResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CopyFileRequestHeaders {\n  \"x-destination-bot-id\"?: string;\n}\n\nexport interface CopyFileRequestQuery {}\n\nexport interface CopyFileRequestParams {\n  idOrKey: string;\n  destinationKey: string;\n}\n\nexport interface CopyFileRequestBody {\n  /**\n   * Set to `true` to overwrite the file if it already exists, otherwise an error will be returned.\n   *\n   * When this endpoint is called using bot authentication, the existing file must have been originally created by the same bot making the file copy request in order to overwrite it.\n   */\n  overwrite?: boolean;\n}\n\nexport type CopyFileInput = CopyFileRequestBody & CopyFileRequestHeaders & CopyFileRequestQuery & CopyFileRequestParams\n\nexport type CopyFileRequest = {\n  headers: CopyFileRequestHeaders;\n  query: CopyFileRequestQuery;\n  params: CopyFileRequestParams;\n  body: CopyFileRequestBody;\n}\n\nexport const parseReq = (input: CopyFileInput): CopyFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['idOrKey'])}/${encodeURIComponent(input['destinationKey'])}`,\n    headers: { 'x-destination-bot-id': input['x-destination-bot-id'] },\n    query: {  },\n    params: { 'idOrKey': input['idOrKey'], 'destinationKey': input['destinationKey'] },\n    body: { 'overwrite': input['overwrite'] },\n  }\n}\n\nexport interface CopyFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SearchFilesRequestHeaders {}\n\nexport interface SearchFilesRequestQuery {\n  tags?: any;\n  query: string;\n  contextDepth?: number;\n  limit?: number;\n  consolidate?: boolean;\n  includeBreadcrumb?: boolean;\n  withContext?: boolean;\n}\n\nexport interface SearchFilesRequestParams {}\n\nexport interface SearchFilesRequestBody {}\n\nexport type SearchFilesInput = SearchFilesRequestBody & SearchFilesRequestHeaders & SearchFilesRequestQuery & SearchFilesRequestParams\n\nexport type SearchFilesRequest = {\n  headers: SearchFilesRequestHeaders;\n  query: SearchFilesRequestQuery;\n  params: SearchFilesRequestParams;\n  body: SearchFilesRequestBody;\n}\n\nexport const parseReq = (input: SearchFilesInput): SearchFilesRequest & { path: string } => {\n  return {\n    path: `/v1/files/search`,\n    headers: {  },\n    query: { 'tags': input['tags'], 'query': input['query'], 'contextDepth': input['contextDepth'], 'limit': input['limit'], 'consolidate': input['consolidate'], 'includeBreadcrumb': input['includeBreadcrumb'], 'withContext': input['withContext'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface SearchFilesResponse {\n  passages: {\n    /**\n     * The content of the matching passage in the file including surrounding context, if any.\n     */\n    content: string;\n    /**\n     * The score indicating the similarity of the passage to the query. A higher score indicates higher similarity.\n     */\n    score: number;\n    /**\n     * The passage metadata.\n     */\n    meta: {\n      /**\n       * The type of passage\n       */\n      type?: \"chunk\" | \"summary\" | \"consolidated\" | \"image\";\n      /**\n       * The subtype of passage, if available.\n       */\n      subtype?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\" | \"page\";\n      /**\n       * Page number the passage is located on. Only applicable if the passage was extracted from a PDF file.\n       */\n      pageNumber?: number;\n      /**\n       * Position number of the passage in the file relative to the other passages, if available. Can be used to know the order of passages within a file.\n       */\n      position?: number;\n      /**\n       * The URL of the source file for the vector, if applicable (e.g. for image vectors).\n       */\n      sourceUrl?: string;\n    };\n    file: {\n      /**\n       * File ID\n       */\n      id: string;\n      /**\n       * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n       */\n      key: string;\n      /**\n       * MIME type of the file's content\n       */\n      contentType: string;\n      /**\n       * Metadata of the file as an object of key-value pairs.\n       */\n      metadata: {\n        [k: string]: any | null;\n      };\n      /**\n       * The tags of the file as an object of key-value pairs.\n       */\n      tags: {\n        [k: string]: string;\n      };\n      /**\n       * File creation timestamp in ISO 8601 format\n       */\n      createdAt: string;\n      /**\n       * File last update timestamp in ISO 8601 format\n       */\n      updatedAt: string;\n    };\n    /**\n     * Surrounding passages including the current passage, based on the requested `contextDepth`. Only returned if the `withContext` parameter is set to `true`. Not supported when using the `consolidate` option.\n     */\n    context?: {\n      /**\n       * The ID of the vector that the context passage belongs to. Omitted for breadcrumbs.\n       */\n      id?: string;\n      text: string;\n      /**\n       * Position of the context passage relative to the current passage. Negative for preceding passages, positive for subsequent, ommited for breadcrumbs.\n       */\n      offset?: number;\n      /**\n       * The type of context passage\n       */\n      type: \"preceding\" | \"subsequent\" | \"current\" | \"breadcrumb\";\n    }[];\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFilePassagesRequestHeaders {}\n\nexport interface ListFilePassagesRequestQuery {\n  nextToken?: string;\n  limit?: number;\n}\n\nexport interface ListFilePassagesRequestParams {\n  id: string;\n}\n\nexport interface ListFilePassagesRequestBody {}\n\nexport type ListFilePassagesInput = ListFilePassagesRequestBody & ListFilePassagesRequestHeaders & ListFilePassagesRequestQuery & ListFilePassagesRequestParams\n\nexport type ListFilePassagesRequest = {\n  headers: ListFilePassagesRequestHeaders;\n  query: ListFilePassagesRequestQuery;\n  params: ListFilePassagesRequestParams;\n  body: ListFilePassagesRequestBody;\n}\n\nexport const parseReq = (input: ListFilePassagesInput): ListFilePassagesRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}/passages`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListFilePassagesResponse {\n  passages: {\n    /**\n     * Passage ID\n     */\n    id: string;\n    /**\n     * The content of the passage.\n     */\n    content: string;\n    /**\n     * The passage metadata.\n     */\n    meta: {\n      /**\n       * The type of passage\n       */\n      type?: \"chunk\" | \"summary\" | \"consolidated\" | \"image\";\n      /**\n       * The subtype of passage, if available.\n       */\n      subtype?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\" | \"page\";\n      /**\n       * Page number the passage is located on. Only applicable if the passage was extracted from a PDF file.\n       */\n      pageNumber?: number;\n      /**\n       * Position number of the passage in the file relative to the other passages, if available. Can be used to know the order of passages within a file.\n       */\n      position?: number;\n      /**\n       * The URL of the source file for the vector, if applicable (e.g. for image vectors).\n       */\n      sourceUrl?: 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 SetFilePassagesRequestHeaders {}\n\nexport interface SetFilePassagesRequestQuery {}\n\nexport interface SetFilePassagesRequestParams {\n  id: string;\n}\n\nexport interface SetFilePassagesRequestBody {\n  /**\n   * Note: The passages should appear in the array in the same order as they appear in the original document.\n   */\n  passages: {\n    /**\n     * The content of the passage, supports Markdown formatting.\n     */\n    content: string;\n    /**\n     * The type should match the Markdown format used for the passage content.\n     */\n    type?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\";\n    pageNumber?: number;\n  }[];\n}\n\nexport type SetFilePassagesInput = SetFilePassagesRequestBody & SetFilePassagesRequestHeaders & SetFilePassagesRequestQuery & SetFilePassagesRequestParams\n\nexport type SetFilePassagesRequest = {\n  headers: SetFilePassagesRequestHeaders;\n  query: SetFilePassagesRequestQuery;\n  params: SetFilePassagesRequestParams;\n  body: SetFilePassagesRequestBody;\n}\n\nexport const parseReq = (input: SetFilePassagesInput): SetFilePassagesRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}/passages`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'passages': input['passages'] },\n  }\n}\n\nexport interface SetFilePassagesResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFileTagsRequestHeaders {}\n\nexport interface ListFileTagsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListFileTagsRequestParams {}\n\nexport interface ListFileTagsRequestBody {}\n\nexport type ListFileTagsInput = ListFileTagsRequestBody & ListFileTagsRequestHeaders & ListFileTagsRequestQuery & ListFileTagsRequestParams\n\nexport type ListFileTagsRequest = {\n  headers: ListFileTagsRequestHeaders;\n  query: ListFileTagsRequestQuery;\n  params: ListFileTagsRequestParams;\n  body: ListFileTagsRequestBody;\n}\n\nexport const parseReq = (input: ListFileTagsInput): ListFileTagsRequest & { path: string } => {\n  return {\n    path: `/v1/files/tags`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListFileTagsResponse {\n  tags: string[];\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 ListFileTagValuesRequestHeaders {}\n\nexport interface ListFileTagValuesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListFileTagValuesRequestParams {\n  tag: string;\n}\n\nexport interface ListFileTagValuesRequestBody {}\n\nexport type ListFileTagValuesInput = ListFileTagValuesRequestBody & ListFileTagValuesRequestHeaders & ListFileTagValuesRequestQuery & ListFileTagValuesRequestParams\n\nexport type ListFileTagValuesRequest = {\n  headers: ListFileTagValuesRequestHeaders;\n  query: ListFileTagValuesRequestQuery;\n  params: ListFileTagValuesRequestParams;\n  body: ListFileTagValuesRequestBody;\n}\n\nexport const parseReq = (input: ListFileTagValuesInput): ListFileTagValuesRequest & { path: string } => {\n  return {\n    path: `/v1/files/tags/${encodeURIComponent(input['tag'])}/values`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'tag': input['tag'] },\n    body: {  },\n  }\n}\n\nexport interface ListFileTagValuesResponse {\n  values: string[];\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 CreateKnowledgeBaseRequestHeaders {}\n\nexport interface CreateKnowledgeBaseRequestQuery {}\n\nexport interface CreateKnowledgeBaseRequestParams {}\n\nexport interface CreateKnowledgeBaseRequestBody {\n  /**\n   * Name of the knowledge base.\n   */\n  name: string;\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport type CreateKnowledgeBaseInput = CreateKnowledgeBaseRequestBody & CreateKnowledgeBaseRequestHeaders & CreateKnowledgeBaseRequestQuery & CreateKnowledgeBaseRequestParams\n\nexport type CreateKnowledgeBaseRequest = {\n  headers: CreateKnowledgeBaseRequestHeaders;\n  query: CreateKnowledgeBaseRequestQuery;\n  params: CreateKnowledgeBaseRequestParams;\n  body: CreateKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: CreateKnowledgeBaseInput): CreateKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'tags': input['tags'] },\n  }\n}\n\nexport interface CreateKnowledgeBaseResponse {\n  knowledgeBase: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteKnowledgeBaseRequestHeaders {}\n\nexport interface DeleteKnowledgeBaseRequestQuery {}\n\nexport interface DeleteKnowledgeBaseRequestParams {\n  id: string;\n}\n\nexport interface DeleteKnowledgeBaseRequestBody {}\n\nexport type DeleteKnowledgeBaseInput = DeleteKnowledgeBaseRequestBody & DeleteKnowledgeBaseRequestHeaders & DeleteKnowledgeBaseRequestQuery & DeleteKnowledgeBaseRequestParams\n\nexport type DeleteKnowledgeBaseRequest = {\n  headers: DeleteKnowledgeBaseRequestHeaders;\n  query: DeleteKnowledgeBaseRequestQuery;\n  params: DeleteKnowledgeBaseRequestParams;\n  body: DeleteKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: DeleteKnowledgeBaseInput): DeleteKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteKnowledgeBaseResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateKnowledgeBaseRequestHeaders {}\n\nexport interface UpdateKnowledgeBaseRequestQuery {}\n\nexport interface UpdateKnowledgeBaseRequestParams {\n  id: string;\n}\n\nexport interface UpdateKnowledgeBaseRequestBody {\n  /**\n   * New name of the knowledge base.\n   */\n  name: string;\n  /**\n   * The knowledge base tags to update as an object of key-value pairs with `string` (text) values. Omit to keep existing tags intact. Any existing tags not included will be preserved. New tags will be added. To delete a tag, set its value to `null`.\n   */\n  tags?: {\n    [k: string]: string | null;\n  };\n}\n\nexport type UpdateKnowledgeBaseInput = UpdateKnowledgeBaseRequestBody & UpdateKnowledgeBaseRequestHeaders & UpdateKnowledgeBaseRequestQuery & UpdateKnowledgeBaseRequestParams\n\nexport type UpdateKnowledgeBaseRequest = {\n  headers: UpdateKnowledgeBaseRequestHeaders;\n  query: UpdateKnowledgeBaseRequestQuery;\n  params: UpdateKnowledgeBaseRequestParams;\n  body: UpdateKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: UpdateKnowledgeBaseInput): UpdateKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'tags': input['tags'] },\n  }\n}\n\nexport interface UpdateKnowledgeBaseResponse {\n  knowledgeBase: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListKnowledgeBasesRequestHeaders {}\n\nexport interface ListKnowledgeBasesRequestQuery {\n  nextToken?: string;\n  tags?: any;\n}\n\nexport interface ListKnowledgeBasesRequestParams {}\n\nexport interface ListKnowledgeBasesRequestBody {}\n\nexport type ListKnowledgeBasesInput = ListKnowledgeBasesRequestBody & ListKnowledgeBasesRequestHeaders & ListKnowledgeBasesRequestQuery & ListKnowledgeBasesRequestParams\n\nexport type ListKnowledgeBasesRequest = {\n  headers: ListKnowledgeBasesRequestHeaders;\n  query: ListKnowledgeBasesRequestQuery;\n  params: ListKnowledgeBasesRequestParams;\n  body: ListKnowledgeBasesRequestBody;\n}\n\nexport const parseReq = (input: ListKnowledgeBasesInput): ListKnowledgeBasesRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'tags': input['tags'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListKnowledgeBasesResponse {\n  knowledgeBases: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    /**\n     * Knowledge base creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    tags: {\n      [k: string]: 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", "import axios, { AxiosError } from 'axios'\nimport * as common from '../common'\nimport * as errors from '../errors'\nimport { UpsertFileInput, UpsertFileResponse } from '../gen/files/operations/upsertFile'\n\nexport type UploadFileInput = common.types.Simplify<\n  Omit<UpsertFileInput, 'size'> & {\n    content?: ArrayBuffer | Buffer | Blob | Uint8Array | string\n    url?: string\n  }\n>\n\nexport type UploadFileOutput = UpsertFileResponse\n\ntype UploadFileClient = {\n  upsertFile: (input: UpsertFileInput) => Promise<UpsertFileResponse>\n}\n\nexport const upload = async (\n  client: UploadFileClient,\n  {\n    key,\n    index,\n    tags,\n    contentType,\n    accessPolicies,\n    content,\n    url,\n    indexing,\n    expiresAt,\n    metadata,\n    publicContentImmediatelyAccessible,\n  }: UploadFileInput\n): Promise<UploadFileOutput> => {\n  if (url && content) {\n    throw new errors.UploadFileError('Cannot provide both content and URL, please provide only one of them')\n  }\n\n  if (url) {\n    content = await axios\n      .get(url, { responseType: 'arraybuffer' })\n      .then((res) => res.data)\n      .catch((err) => {\n        throw new errors.UploadFileError(`Failed to download file from provided URL: ${err.message}`, err)\n      })\n  }\n\n  if (!content) {\n    throw new errors.UploadFileError('No content was provided for the file')\n  }\n\n  let buffer: ArrayBuffer | Buffer | Blob | Uint8Array\n  let size: number\n\n  if (typeof content === 'string') {\n    const encoder = new TextEncoder()\n    const uint8Array = encoder.encode(content)\n    // Uint8Array is supported by both Node.js and browsers. Buffer.from() is easier but Buffer is only available in Node.js.\n    buffer = uint8Array\n    size = uint8Array.byteLength\n  } else if (content instanceof Uint8Array) {\n    // This supports Buffer too as it's a subclass of Uint8Array\n    buffer = content\n    size = buffer.byteLength\n  } else if (content instanceof ArrayBuffer) {\n    buffer = content\n    size = buffer.byteLength\n  } else if (content instanceof Blob) {\n    buffer = content\n    size = content.size\n  } else {\n    throw new errors.UploadFileError('The provided content is not supported')\n  }\n\n  const { file } = await client.upsertFile({\n    key,\n    tags,\n    index,\n    accessPolicies,\n    contentType,\n    metadata,\n    size,\n    expiresAt,\n    indexing,\n    publicContentImmediatelyAccessible,\n  })\n\n  const headers: Record<string, string> = {\n    'Content-Type': file.contentType,\n  }\n\n  if (publicContentImmediatelyAccessible) {\n    headers['x-amz-tagging'] = 'public=true'\n  }\n\n  try {\n    await axios.put(file.uploadUrl, buffer, {\n      maxBodyLength: Infinity,\n      headers,\n    })\n  } catch (thrown: unknown) {\n    const err = thrown instanceof Error ? thrown : new Error(String(thrown))\n    throw new errors.UploadFileError(`Failed to upload file: ${err.message}`, err as AxiosError, file)\n  }\n\n  return {\n    file: {\n      ...file,\n      size,\n    },\n  }\n}\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as gen from '../gen/tables'\nimport * as types from '../types'\n\ntype IClient = common.types.Simplify<gen.Client>\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  token: string\n  botId: string\n  integrationId?: string\n  integrationAlias?: string\n}\n\nexport class Client extends gen.Client {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\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 listTables from './operations/listTables'\nimport * as getTable from './operations/getTable'\nimport * as getOrCreateTable from './operations/getOrCreateTable'\nimport * as createTable from './operations/createTable'\nimport * as duplicateTable from './operations/duplicateTable'\nimport * as exportTable from './operations/exportTable'\nimport * as getTableJobs from './operations/getTableJobs'\nimport * as importTable from './operations/importTable'\nimport * as updateTable from './operations/updateTable'\nimport * as renameTableColumn from './operations/renameTableColumn'\nimport * as deleteTable from './operations/deleteTable'\nimport * as getTableRow from './operations/getTableRow'\nimport * as findTableRows from './operations/findTableRows'\nimport * as createTableRows from './operations/createTableRows'\nimport * as deleteTableRows from './operations/deleteTableRows'\nimport * as updateTableRows from './operations/updateTableRows'\nimport * as upsertTableRows from './operations/upsertTableRows'\n\nexport * from './models'\n\nexport * as listTables from './operations/listTables'\nexport * as getTable from './operations/getTable'\nexport * as getOrCreateTable from './operations/getOrCreateTable'\nexport * as createTable from './operations/createTable'\nexport * as duplicateTable from './operations/duplicateTable'\nexport * as exportTable from './operations/exportTable'\nexport * as getTableJobs from './operations/getTableJobs'\nexport * as importTable from './operations/importTable'\nexport * as updateTable from './operations/updateTable'\nexport * as renameTableColumn from './operations/renameTableColumn'\nexport * as deleteTable from './operations/deleteTable'\nexport * as getTableRow from './operations/getTableRow'\nexport * as findTableRows from './operations/findTableRows'\nexport * as createTableRows from './operations/createTableRows'\nexport * as deleteTableRows from './operations/deleteTableRows'\nexport * as updateTableRows from './operations/updateTableRows'\nexport * as upsertTableRows from './operations/upsertTableRows'\n\nexport const apiVersion = '1.73.4'\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 listTables = async (input: listTables.ListTablesInput): Promise<listTables.ListTablesResponse> => {\n    const { path, headers, query, body } = listTables.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<listTables.ListTablesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTable = async (input: getTable.GetTableInput): Promise<getTable.GetTableResponse> => {\n    const { path, headers, query, body } = getTable.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<getTable.GetTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateTable = async (input: getOrCreateTable.GetOrCreateTableInput): Promise<getOrCreateTable.GetOrCreateTableResponse> => {\n    const { path, headers, query, body } = getOrCreateTable.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<getOrCreateTable.GetOrCreateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createTable = async (input: createTable.CreateTableInput): Promise<createTable.CreateTableResponse> => {\n    const { path, headers, query, body } = createTable.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<createTable.CreateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly duplicateTable = async (input: duplicateTable.DuplicateTableInput): Promise<duplicateTable.DuplicateTableResponse> => {\n    const { path, headers, query, body } = duplicateTable.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<duplicateTable.DuplicateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly exportTable = async (input: exportTable.ExportTableInput): Promise<exportTable.ExportTableResponse> => {\n    const { path, headers, query, body } = exportTable.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<exportTable.ExportTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTableJobs = async (input: getTableJobs.GetTableJobsInput): Promise<getTableJobs.GetTableJobsResponse> => {\n    const { path, headers, query, body } = getTableJobs.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<getTableJobs.GetTableJobsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly importTable = async (input: importTable.ImportTableInput): Promise<importTable.ImportTableResponse> => {\n    const { path, headers, query, body } = importTable.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<importTable.ImportTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateTable = async (input: updateTable.UpdateTableInput): Promise<updateTable.UpdateTableResponse> => {\n    const { path, headers, query, body } = updateTable.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<updateTable.UpdateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly renameTableColumn = async (input: renameTableColumn.RenameTableColumnInput): Promise<renameTableColumn.RenameTableColumnResponse> => {\n    const { path, headers, query, body } = renameTableColumn.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<renameTableColumn.RenameTableColumnResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteTable = async (input: deleteTable.DeleteTableInput): Promise<deleteTable.DeleteTableResponse> => {\n    const { path, headers, query, body } = deleteTable.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<deleteTable.DeleteTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTableRow = async (input: getTableRow.GetTableRowInput): Promise<getTableRow.GetTableRowResponse> => {\n    const { path, headers, query, body } = getTableRow.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<getTableRow.GetTableRowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly findTableRows = async (input: findTableRows.FindTableRowsInput): Promise<findTableRows.FindTableRowsResponse> => {\n    const { path, headers, query, body } = findTableRows.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<findTableRows.FindTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createTableRows = async (input: createTableRows.CreateTableRowsInput): Promise<createTableRows.CreateTableRowsResponse> => {\n    const { path, headers, query, body } = createTableRows.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<createTableRows.CreateTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteTableRows = async (input: deleteTableRows.DeleteTableRowsInput): Promise<deleteTableRows.DeleteTableRowsResponse> => {\n    const { path, headers, query, body } = deleteTableRows.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<deleteTableRows.DeleteTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateTableRows = async (input: updateTableRows.UpdateTableRowsInput): Promise<updateTableRows.UpdateTableRowsResponse> => {\n    const { path, headers, query, body } = updateTableRows.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<updateTableRows.UpdateTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly upsertTableRows = async (input: upsertTableRows.UpsertTableRowsInput): Promise<upsertTableRows.UpsertTableRowsResponse> => {\n    const { path, headers, query, body } = upsertTableRows.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<upsertTableRows.UpsertTableRowsResponse>(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 ResourceGoneType = 'ResourceGone'\n\n/**\n *  The requested resource is no longer available.\n */\nexport class ResourceGoneError extends BaseApiError<410, ResourceGoneType, 'The requested resource is no longer available.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(410, 'The requested resource is no longer available.', 'ResourceGone', 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\ntype OperationTimeoutType = 'OperationTimeout'\n\n/**\n *  The operation timed out.\n */\nexport class OperationTimeoutError extends BaseApiError<504, OperationTimeoutType, 'The operation timed out.'> {\n  constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n    super(504, 'The operation timed out.', 'OperationTimeout', 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  | 'ResourceGone'\n  | 'ReferenceNotFound'\n  | 'InvalidQuery'\n  | 'Runtime'\n  | 'AlreadyExists'\n  | 'RateLimited'\n  | 'PaymentRequired'\n  | 'QuotaExceeded'\n  | 'LimitExceeded'\n  | 'BreakingChanges'\n  | 'OperationTimeout'\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  | ResourceGoneError\n  | ReferenceNotFoundError\n  | InvalidQueryError\n  | RuntimeError\n  | AlreadyExistsError\n  | RateLimitedError\n  | PaymentRequiredError\n  | QuotaExceededError\n  | LimitExceededError\n  | BreakingChangesError\n  | OperationTimeoutError\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  ResourceGone: ResourceGoneError,\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  OperationTimeout: OperationTimeoutError,\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 ListTablesRequestHeaders {}\n\nexport interface ListTablesRequestQuery {\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport interface ListTablesRequestParams {}\n\nexport interface ListTablesRequestBody {}\n\nexport type ListTablesInput = ListTablesRequestBody & ListTablesRequestHeaders & ListTablesRequestQuery & ListTablesRequestParams\n\nexport type ListTablesRequest = {\n  headers: ListTablesRequestHeaders;\n  query: ListTablesRequestQuery;\n  params: ListTablesRequestParams;\n  body: ListTablesRequestBody;\n}\n\nexport const parseReq = (input: ListTablesInput): ListTablesRequest & { path: string } => {\n  return {\n    path: `/v1/tables`,\n    headers: {  },\n    query: { 'tags': input['tags'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListTablesResponse {\n  tables: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableRequestHeaders {}\n\nexport interface GetTableRequestQuery {}\n\nexport interface GetTableRequestParams {\n  table: string;\n}\n\nexport interface GetTableRequestBody {}\n\nexport type GetTableInput = GetTableRequestBody & GetTableRequestHeaders & GetTableRequestQuery & GetTableRequestParams\n\nexport type GetTableRequest = {\n  headers: GetTableRequestHeaders;\n  query: GetTableRequestQuery;\n  params: GetTableRequestParams;\n  body: GetTableRequestBody;\n}\n\nexport const parseReq = (input: GetTableInput): GetTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n  /**\n   * The number of stale rows that are waiting to be processed\n   */\n  stale: number;\n  /**\n   * The number of rows that are waiting to be indexed (for search)\n   */\n  indexing: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrCreateTableRequestHeaders {}\n\nexport interface GetOrCreateTableRequestQuery {}\n\nexport interface GetOrCreateTableRequestParams {\n  table: string;\n}\n\nexport interface GetOrCreateTableRequestBody {\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n   */\n  factor?: number;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n}\n\nexport type GetOrCreateTableInput = GetOrCreateTableRequestBody & GetOrCreateTableRequestHeaders & GetOrCreateTableRequestQuery & GetOrCreateTableRequestParams\n\nexport type GetOrCreateTableRequest = {\n  headers: GetOrCreateTableRequestHeaders;\n  query: GetOrCreateTableRequestQuery;\n  params: GetOrCreateTableRequestParams;\n  body: GetOrCreateTableRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateTableInput): GetOrCreateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'factor': input['factor'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\n  }\n}\n\nexport interface GetOrCreateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * Flag indicating if the table was newly created.\n   */\n  created: boolean;\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n  /**\n   * The number of stale rows that are waiting to be processed\n   */\n  stale: number;\n  /**\n   * The number of rows that are waiting to be indexed (for search)\n   */\n  indexing: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateTableRequestHeaders {}\n\nexport interface CreateTableRequestQuery {}\n\nexport interface CreateTableRequestParams {}\n\nexport interface CreateTableRequestBody {\n  /**\n   * Required. This name is used to identify your table.\n   */\n  name: string;\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n   */\n  factor?: number;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n}\n\nexport type CreateTableInput = CreateTableRequestBody & CreateTableRequestHeaders & CreateTableRequestQuery & CreateTableRequestParams\n\nexport type CreateTableRequest = {\n  headers: CreateTableRequestHeaders;\n  query: CreateTableRequestQuery;\n  params: CreateTableRequestParams;\n  body: CreateTableRequestBody;\n}\n\nexport const parseReq = (input: CreateTableInput): CreateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'factor': input['factor'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\n  }\n}\n\nexport interface CreateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DuplicateTableRequestHeaders {}\n\nexport interface DuplicateTableRequestQuery {}\n\nexport interface DuplicateTableRequestParams {\n  sourceTableId: string;\n}\n\nexport interface DuplicateTableRequestBody {\n  tableName?: string;\n  /**\n   * Only duplicate the schema, not the content\n   */\n  schemaOnly?: boolean;\n  /**\n   * Override the factor for the duplicated table. If not provided, the new table will use the same factor as the source table.\n   */\n  factor?: number;\n}\n\nexport type DuplicateTableInput = DuplicateTableRequestBody & DuplicateTableRequestHeaders & DuplicateTableRequestQuery & DuplicateTableRequestParams\n\nexport type DuplicateTableRequest = {\n  headers: DuplicateTableRequestHeaders;\n  query: DuplicateTableRequestQuery;\n  params: DuplicateTableRequestParams;\n  body: DuplicateTableRequestBody;\n}\n\nexport const parseReq = (input: DuplicateTableInput): DuplicateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['sourceTableId'])}/duplicate`,\n    headers: {  },\n    query: {  },\n    params: { 'sourceTableId': input['sourceTableId'] },\n    body: { 'tableName': input['tableName'], 'schemaOnly': input['schemaOnly'], 'factor': input['factor'] },\n  }\n}\n\nexport interface DuplicateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ExportTableRequestHeaders {}\n\nexport interface ExportTableRequestQuery {\n  format?: \"csv\" | \"json\";\n  compress?: boolean;\n}\n\nexport interface ExportTableRequestParams {\n  table: string;\n}\n\nexport interface ExportTableRequestBody {}\n\nexport type ExportTableInput = ExportTableRequestBody & ExportTableRequestHeaders & ExportTableRequestQuery & ExportTableRequestParams\n\nexport type ExportTableRequest = {\n  headers: ExportTableRequestHeaders;\n  query: ExportTableRequestQuery;\n  params: ExportTableRequestParams;\n  body: ExportTableRequestBody;\n}\n\nexport const parseReq = (input: ExportTableInput): ExportTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/export`,\n    headers: {  },\n    query: { 'format': input['format'], 'compress': input['compress'] },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface ExportTableResponse {\n  job: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableJobsRequestHeaders {}\n\nexport interface GetTableJobsRequestQuery {}\n\nexport interface GetTableJobsRequestParams {\n  table: string;\n}\n\nexport interface GetTableJobsRequestBody {}\n\nexport type GetTableJobsInput = GetTableJobsRequestBody & GetTableJobsRequestHeaders & GetTableJobsRequestQuery & GetTableJobsRequestParams\n\nexport type GetTableJobsRequest = {\n  headers: GetTableJobsRequestHeaders;\n  query: GetTableJobsRequestQuery;\n  params: GetTableJobsRequestParams;\n  body: GetTableJobsRequestBody;\n}\n\nexport const parseReq = (input: GetTableJobsInput): GetTableJobsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/jobs`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableJobsResponse {\n  jobs: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ImportTableRequestHeaders {}\n\nexport interface ImportTableRequestQuery {}\n\nexport interface ImportTableRequestParams {\n  table: string;\n}\n\nexport interface ImportTableRequestBody {\n  /**\n   * The file ID to import. It must have been uploaded to the Files API before. Supported formats: CSV, JSON (gzipped or not)\n   */\n  fileId: string;\n}\n\nexport type ImportTableInput = ImportTableRequestBody & ImportTableRequestHeaders & ImportTableRequestQuery & ImportTableRequestParams\n\nexport type ImportTableRequest = {\n  headers: ImportTableRequestHeaders;\n  query: ImportTableRequestQuery;\n  params: ImportTableRequestParams;\n  body: ImportTableRequestBody;\n}\n\nexport const parseReq = (input: ImportTableInput): ImportTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/import`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'fileId': input['fileId'] },\n  }\n}\n\nexport interface ImportTableResponse {\n  job: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateTableRequestHeaders {}\n\nexport interface UpdateTableRequestQuery {}\n\nexport interface UpdateTableRequestParams {\n  table: string;\n}\n\nexport interface UpdateTableRequestBody {\n  /**\n   * Required. This name is used to identify your table.\n   */\n  name?: string;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema?: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased, not decreased. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota.\n   */\n  factor?: number;\n}\n\nexport type UpdateTableInput = UpdateTableRequestBody & UpdateTableRequestHeaders & UpdateTableRequestQuery & UpdateTableRequestParams\n\nexport type UpdateTableRequest = {\n  headers: UpdateTableRequestHeaders;\n  query: UpdateTableRequestQuery;\n  params: UpdateTableRequestParams;\n  body: UpdateTableRequestBody;\n}\n\nexport const parseReq = (input: UpdateTableInput): UpdateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'name': input['name'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'], 'factor': input['factor'] },\n  }\n}\n\nexport interface UpdateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * List of columns that have become stale following the modification.\n   */\n  staleColumns?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RenameTableColumnRequestHeaders {}\n\nexport interface RenameTableColumnRequestQuery {}\n\nexport interface RenameTableColumnRequestParams {\n  table: string;\n}\n\nexport interface RenameTableColumnRequestBody {\n  /**\n   * The existing name of the column.\n   */\n  name: string;\n  /**\n   * The new name to assign to the column.\n   */\n  newName: string;\n}\n\nexport type RenameTableColumnInput = RenameTableColumnRequestBody & RenameTableColumnRequestHeaders & RenameTableColumnRequestQuery & RenameTableColumnRequestParams\n\nexport type RenameTableColumnRequest = {\n  headers: RenameTableColumnRequestHeaders;\n  query: RenameTableColumnRequestQuery;\n  params: RenameTableColumnRequestParams;\n  body: RenameTableColumnRequestBody;\n}\n\nexport const parseReq = (input: RenameTableColumnInput): RenameTableColumnRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/column`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'name': input['name'], 'newName': input['newName'] },\n  }\n}\n\nexport interface RenameTableColumnResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteTableRequestHeaders {}\n\nexport interface DeleteTableRequestQuery {}\n\nexport interface DeleteTableRequestParams {\n  table: string;\n}\n\nexport interface DeleteTableRequestBody {}\n\nexport type DeleteTableInput = DeleteTableRequestBody & DeleteTableRequestHeaders & DeleteTableRequestQuery & DeleteTableRequestParams\n\nexport type DeleteTableRequest = {\n  headers: DeleteTableRequestHeaders;\n  query: DeleteTableRequestQuery;\n  params: DeleteTableRequestParams;\n  body: DeleteTableRequestBody;\n}\n\nexport const parseReq = (input: DeleteTableInput): DeleteTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteTableResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableRowRequestHeaders {}\n\nexport interface GetTableRowRequestQuery {\n  id: number;\n}\n\nexport interface GetTableRowRequestParams {\n  table: string;\n}\n\nexport interface GetTableRowRequestBody {}\n\nexport type GetTableRowInput = GetTableRowRequestBody & GetTableRowRequestHeaders & GetTableRowRequestQuery & GetTableRowRequestParams\n\nexport type GetTableRowRequest = {\n  headers: GetTableRowRequestHeaders;\n  query: GetTableRowRequestQuery;\n  params: GetTableRowRequestParams;\n  body: GetTableRowRequestBody;\n}\n\nexport const parseReq = (input: GetTableRowInput): GetTableRowRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/row`,\n    headers: {  },\n    query: { 'id': input['id'] },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableRowResponse {\n  row: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface FindTableRowsRequestHeaders {}\n\nexport interface FindTableRowsRequestQuery {}\n\nexport interface FindTableRowsRequestParams {\n  table: string;\n}\n\nexport interface FindTableRowsRequestBody {\n  /**\n   * Limit for pagination, specifying the maximum number of rows to return.\n   */\n  limit?: number;\n  /**\n   * Offset for pagination, specifying where to start returning rows from.\n   */\n  offset?: number;\n  /**\n   * Provide a mongodb-like filter to apply to the query. Example: \\{ \"name\": \\{ \"$eq\": \"John\" \\} \\}\n   */\n  filter?: {\n    [k: string]: any;\n  };\n  /**\n   * Group the rows by a specific column and apply aggregations to them. Allowed values: key, avg, max, min, sum, count. Example: \\{ \"someId\": \"key\", \"orders\": [\"sum\", \"avg\"] \\}\n   */\n  group?: {\n    [k: string]: any;\n  };\n  /**\n   * Search term to apply to the row search. When using this parameter, some rows which doesn't match the search term will be returned, use the similarity field to know how much the row matches the search term.\n   */\n  search?: string;\n  /**\n   * Specify which columns to return in the response. Supports both top-level columns (e.g., \"name\") and nested attributes using dot notation (e.g., \"attributes.price\"). System columns (id, createdAt, updatedAt, etc.) are always included. If omitted, all columns are returned.\n   */\n  select?: string[];\n  /**\n   * Specifies the column by which to order the results. By default it is ordered by id. Build-in columns: id, createdAt, updatedAt\n   */\n  orderBy?: string;\n  /**\n   * Specifies the direction of sorting, either ascending or descending.\n   */\n  orderDirection?: \"asc\" | \"desc\";\n}\n\nexport type FindTableRowsInput = FindTableRowsRequestBody & FindTableRowsRequestHeaders & FindTableRowsRequestQuery & FindTableRowsRequestParams\n\nexport type FindTableRowsRequest = {\n  headers: FindTableRowsRequestHeaders;\n  query: FindTableRowsRequestQuery;\n  params: FindTableRowsRequestParams;\n  body: FindTableRowsRequestBody;\n}\n\nexport const parseReq = (input: FindTableRowsInput): FindTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/find`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'limit': input['limit'], 'offset': input['offset'], 'filter': input['filter'], 'group': input['group'], 'search': input['search'], 'select': input['select'], 'orderBy': input['orderBy'], 'orderDirection': input['orderDirection'] },\n  }\n}\n\nexport interface FindTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Flag indicating if there are more rows to fetch.\n   */\n  hasMore: boolean;\n  offset: number;\n  limit: number;\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateTableRowsRequestHeaders {}\n\nexport interface CreateTableRowsRequestQuery {}\n\nexport interface CreateTableRowsRequestParams {\n  table: string;\n}\n\nexport interface CreateTableRowsRequestBody {\n  /**\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    [k: string]: any;\n  }[];\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type CreateTableRowsInput = CreateTableRowsRequestBody & CreateTableRowsRequestHeaders & CreateTableRowsRequestQuery & CreateTableRowsRequestParams\n\nexport type CreateTableRowsRequest = {\n  headers: CreateTableRowsRequestHeaders;\n  query: CreateTableRowsRequestQuery;\n  params: CreateTableRowsRequestParams;\n  body: CreateTableRowsRequestBody;\n}\n\nexport const parseReq = (input: CreateTableRowsInput): CreateTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface CreateTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteTableRowsRequestHeaders {}\n\nexport interface DeleteTableRowsRequestQuery {}\n\nexport interface DeleteTableRowsRequestParams {\n  table: string;\n}\n\nexport interface DeleteTableRowsRequestBody {\n  /**\n   * @maxItems 1000\n   */\n  ids?: number[];\n  /**\n   * Filter to apply when deleting rows. Example: \\{ \"name\": \\{ \"$eq\": \"John\" \\} \\}\n   */\n  filter?: {\n    [k: string]: any;\n  };\n  /**\n   * Flag to delete all rows. Use with caution as this action is irreversible.\n   */\n  deleteAllRows?: boolean;\n}\n\nexport type DeleteTableRowsInput = DeleteTableRowsRequestBody & DeleteTableRowsRequestHeaders & DeleteTableRowsRequestQuery & DeleteTableRowsRequestParams\n\nexport type DeleteTableRowsRequest = {\n  headers: DeleteTableRowsRequestHeaders;\n  query: DeleteTableRowsRequestQuery;\n  params: DeleteTableRowsRequestParams;\n  body: DeleteTableRowsRequestBody;\n}\n\nexport const parseReq = (input: DeleteTableRowsInput): DeleteTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/delete`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'ids': input['ids'], 'filter': input['filter'], 'deleteAllRows': input['deleteAllRows'] },\n  }\n}\n\nexport interface DeleteTableRowsResponse {\n  deletedRows: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateTableRowsRequestHeaders {}\n\nexport interface UpdateTableRowsRequestQuery {}\n\nexport interface UpdateTableRowsRequestParams {\n  table: string;\n}\n\nexport interface UpdateTableRowsRequestBody {\n  /**\n   * Rows with updated data, identified by ID.\n   *\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    id: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type UpdateTableRowsInput = UpdateTableRowsRequestBody & UpdateTableRowsRequestHeaders & UpdateTableRowsRequestQuery & UpdateTableRowsRequestParams\n\nexport type UpdateTableRowsRequest = {\n  headers: UpdateTableRowsRequestHeaders;\n  query: UpdateTableRowsRequestQuery;\n  params: UpdateTableRowsRequestParams;\n  body: UpdateTableRowsRequestBody;\n}\n\nexport const parseReq = (input: UpdateTableRowsInput): UpdateTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface UpdateTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpsertTableRowsRequestHeaders {}\n\nexport interface UpsertTableRowsRequestQuery {}\n\nexport interface UpsertTableRowsRequestParams {\n  table: string;\n}\n\nexport interface UpsertTableRowsRequestBody {\n  /**\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    id?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Determines if a row is inserted or updated. Defaults to \"id\".\n   */\n  keyColumn?: string;\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type UpsertTableRowsInput = UpsertTableRowsRequestBody & UpsertTableRowsRequestHeaders & UpsertTableRowsRequestQuery & UpsertTableRowsRequestParams\n\nexport type UpsertTableRowsRequest = {\n  headers: UpsertTableRowsRequestHeaders;\n  query: UpsertTableRowsRequestQuery;\n  params: UpsertTableRowsRequestParams;\n  body: UpsertTableRowsRequestBody;\n}\n\nexport const parseReq = (input: UpsertTableRowsInput): UpsertTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/upsert`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'keyColumn': input['keyColumn'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface UpsertTableRowsResponse {\n  inserted: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  updated: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\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 createConversation from './operations/createConversation'\nimport * as getConversation from './operations/getConversation'\nimport * as listConversations from './operations/listConversations'\nimport * as getOrCreateConversation from './operations/getOrCreateConversation'\nimport * as updateConversation from './operations/updateConversation'\nimport * as deleteConversation from './operations/deleteConversation'\nimport * as listParticipants from './operations/listParticipants'\nimport * as addParticipant from './operations/addParticipant'\nimport * as getParticipant from './operations/getParticipant'\nimport * as removeParticipant from './operations/removeParticipant'\nimport * as createEvent from './operations/createEvent'\nimport * as getEvent from './operations/getEvent'\nimport * as listEvents from './operations/listEvents'\nimport * as cancelScheduledEvent from './operations/cancelScheduledEvent'\nimport * as createMessage from './operations/createMessage'\nimport * as getOrCreateMessage from './operations/getOrCreateMessage'\nimport * as getMessage from './operations/getMessage'\nimport * as updateMessage from './operations/updateMessage'\nimport * as listMessages from './operations/listMessages'\nimport * as deleteMessage from './operations/deleteMessage'\nimport * as initializeIncomingMessage from './operations/initializeIncomingMessage'\nimport * as importMessages from './operations/importMessages'\nimport * as createUser from './operations/createUser'\nimport * as getUser from './operations/getUser'\nimport * as listUsers from './operations/listUsers'\nimport * as getOrCreateUser from './operations/getOrCreateUser'\nimport * as updateUser from './operations/updateUser'\nimport * as deleteUser from './operations/deleteUser'\nimport * as setStateExpiry from './operations/setStateExpiry'\nimport * as getState from './operations/getState'\nimport * as setState from './operations/setState'\nimport * as getOrSetState from './operations/getOrSetState'\nimport * as patchState from './operations/patchState'\nimport * as callAction from './operations/callAction'\nimport * as configureIntegration from './operations/configureIntegration'\nimport * as createWorkflow from './operations/createWorkflow'\nimport * as getWorkflow from './operations/getWorkflow'\nimport * as updateWorkflow from './operations/updateWorkflow'\nimport * as deleteWorkflow from './operations/deleteWorkflow'\nimport * as listWorkflows from './operations/listWorkflows'\nimport * as getOrCreateWorkflow from './operations/getOrCreateWorkflow'\nimport * as listTagValues from './operations/listTagValues'\nimport * as trackAnalytics from './operations/trackAnalytics'\nimport * as captureObservation from './operations/captureObservation'\nimport * as runVrl from './operations/runVrl'\nimport * as getAccount from './operations/getAccount'\nimport * as updateAccount from './operations/updateAccount'\nimport * as deleteAccount from './operations/deleteAccount'\nimport * as listPersonalAccessTokens from './operations/listPersonalAccessTokens'\nimport * as createPersonalAccessToken from './operations/createPersonalAccessToken'\nimport * as deletePersonalAccessToken from './operations/deletePersonalAccessToken'\nimport * as setAccountPreference from './operations/setAccountPreference'\nimport * as getAccountPreference from './operations/getAccountPreference'\nimport * as listPublicIntegrations from './operations/listPublicIntegrations'\nimport * as getPublicIntegrationById from './operations/getPublicIntegrationById'\nimport * as getPublicIntegration from './operations/getPublicIntegration'\nimport * as listPublicPlugins from './operations/listPublicPlugins'\nimport * as getPublicPluginById from './operations/getPublicPluginById'\nimport * as getDereferencedPublicPluginById from './operations/getDereferencedPublicPluginById'\nimport * as getPublicPlugin from './operations/getPublicPlugin'\nimport * as getPublicPluginCode from './operations/getPublicPluginCode'\nimport * as listPublicInterfaces from './operations/listPublicInterfaces'\nimport * as getPublicInterfaceById from './operations/getPublicInterfaceById'\nimport * as getPublicInterface from './operations/getPublicInterface'\nimport * as createBot from './operations/createBot'\nimport * as updateBot from './operations/updateBot'\nimport * as rotateBotSigningSecrets from './operations/rotateBotSigningSecrets'\nimport * as transferBot from './operations/transferBot'\nimport * as listBots from './operations/listBots'\nimport * as getBot from './operations/getBot'\nimport * as deleteBot from './operations/deleteBot'\nimport * as getBotLogs from './operations/getBotLogs'\nimport * as getBotWebchat from './operations/getBotWebchat'\nimport * as getBotAnalytics from './operations/getBotAnalytics'\nimport * as listActionRuns from './operations/listActionRuns'\nimport * as getBotIssue from './operations/getBotIssue'\nimport * as listBotIssues from './operations/listBotIssues'\nimport * as deleteBotIssue from './operations/deleteBotIssue'\nimport * as listBotIssueEvents from './operations/listBotIssueEvents'\nimport * as listBotVersions from './operations/listBotVersions'\nimport * as getBotVersion from './operations/getBotVersion'\nimport * as getBotJson from './operations/getBotJson'\nimport * as publishFromBotJson from './operations/publishFromBotJson'\nimport * as createBotVersion from './operations/createBotVersion'\nimport * as deployBotVersion from './operations/deployBotVersion'\nimport * as createIntegrationShareableId from './operations/createIntegrationShareableId'\nimport * as deleteIntegrationShareableId from './operations/deleteIntegrationShareableId'\nimport * as getIntegrationShareableId from './operations/getIntegrationShareableId'\nimport * as unlinkSandboxedConversations from './operations/unlinkSandboxedConversations'\nimport * as listBotApiKeys from './operations/listBotApiKeys'\nimport * as createBotApiKey from './operations/createBotApiKey'\nimport * as deleteBotApiKey from './operations/deleteBotApiKey'\nimport * as getBotAllowlist from './operations/getBotAllowlist'\nimport * as updateBotAllowlist from './operations/updateBotAllowlist'\nimport * as listWorkspaceInvoices from './operations/listWorkspaceInvoices'\nimport * as getUpcomingInvoice from './operations/getUpcomingInvoice'\nimport * as chargeWorkspaceUnpaidInvoices from './operations/chargeWorkspaceUnpaidInvoices'\nimport * as createWorkspace from './operations/createWorkspace'\nimport * as getPublicWorkspace from './operations/getPublicWorkspace'\nimport * as getWorkspace from './operations/getWorkspace'\nimport * as listWorkspaceUsages from './operations/listWorkspaceUsages'\nimport * as breakDownWorkspaceUsageByBot from './operations/breakDownWorkspaceUsageByBot'\nimport * as getAllWorkspaceQuotaCompletion from './operations/getAllWorkspaceQuotaCompletion'\nimport * as getWorkspaceQuota from './operations/getWorkspaceQuota'\nimport * as listWorkspaceQuotas from './operations/listWorkspaceQuotas'\nimport * as updateWorkspace from './operations/updateWorkspace'\nimport * as checkHandleAvailability from './operations/checkHandleAvailability'\nimport * as listWorkspaces from './operations/listWorkspaces'\nimport * as listPublicWorkspaces from './operations/listPublicWorkspaces'\nimport * as deleteWorkspace from './operations/deleteWorkspace'\nimport * as getAuditRecords from './operations/getAuditRecords'\nimport * as setWorkspacePreference from './operations/setWorkspacePreference'\nimport * as getWorkspacePreference from './operations/getWorkspacePreference'\nimport * as listWorkspaceMembers from './operations/listWorkspaceMembers'\nimport * as getWorkspaceMember from './operations/getWorkspaceMember'\nimport * as deleteWorkspaceMember from './operations/deleteWorkspaceMember'\nimport * as createWorkspaceMember from './operations/createWorkspaceMember'\nimport * as updateWorkspaceMember from './operations/updateWorkspaceMember'\nimport * as listIntegrationApiKeys from './operations/listIntegrationApiKeys'\nimport * as createIntegrationApiKey from './operations/createIntegrationApiKey'\nimport * as deleteIntegrationApiKey from './operations/deleteIntegrationApiKey'\nimport * as createIntegration from './operations/createIntegration'\nimport * as validateIntegrationCreation from './operations/validateIntegrationCreation'\nimport * as updateIntegration from './operations/updateIntegration'\nimport * as rotateIntegrationSigningSecrets from './operations/rotateIntegrationSigningSecrets'\nimport * as validateIntegrationUpdate from './operations/validateIntegrationUpdate'\nimport * as listIntegrations from './operations/listIntegrations'\nimport * as getIntegration from './operations/getIntegration'\nimport * as getIntegrationLogs from './operations/getIntegrationLogs'\nimport * as getIntegrationByName from './operations/getIntegrationByName'\nimport * as deleteIntegration from './operations/deleteIntegration'\nimport * as requestIntegrationVerification from './operations/requestIntegrationVerification'\nimport * as createInterface from './operations/createInterface'\nimport * as getInterface from './operations/getInterface'\nimport * as getInterfaceByName from './operations/getInterfaceByName'\nimport * as updateInterface from './operations/updateInterface'\nimport * as deleteInterface from './operations/deleteInterface'\nimport * as listInterfaces from './operations/listInterfaces'\nimport * as createPlugin from './operations/createPlugin'\nimport * as getPlugin from './operations/getPlugin'\nimport * as getDereferencedPlugin from './operations/getDereferencedPlugin'\nimport * as getPluginByName from './operations/getPluginByName'\nimport * as updatePlugin from './operations/updatePlugin'\nimport * as deletePlugin from './operations/deletePlugin'\nimport * as listPlugins from './operations/listPlugins'\nimport * as getPluginCode from './operations/getPluginCode'\nimport * as getUsage from './operations/getUsage'\nimport * as getMultipleUsages from './operations/getMultipleUsages'\nimport * as listUsageHistory from './operations/listUsageHistory'\nimport * as listUsageActivity from './operations/listUsageActivity'\nimport * as listUsageActivityDaily from './operations/listUsageActivityDaily'\nimport * as changeAISpendQuota from './operations/changeAISpendQuota'\nimport * as listActivities from './operations/listActivities'\nimport * as introspect from './operations/introspect'\nimport * as upsertFile from './operations/upsertFile'\nimport * as deleteFile from './operations/deleteFile'\nimport * as listFiles from './operations/listFiles'\nimport * as getFile from './operations/getFile'\nimport * as updateFileMetadata from './operations/updateFileMetadata'\nimport * as copyFile from './operations/copyFile'\nimport * as searchFiles from './operations/searchFiles'\nimport * as listFilePassages from './operations/listFilePassages'\nimport * as setFilePassages from './operations/setFilePassages'\nimport * as listFileTags from './operations/listFileTags'\nimport * as listFileTagValues from './operations/listFileTagValues'\nimport * as createKnowledgeBase from './operations/createKnowledgeBase'\nimport * as deleteKnowledgeBase from './operations/deleteKnowledgeBase'\nimport * as updateKnowledgeBase from './operations/updateKnowledgeBase'\nimport * as listKnowledgeBases from './operations/listKnowledgeBases'\nimport * as listTables from './operations/listTables'\nimport * as getTable from './operations/getTable'\nimport * as getOrCreateTable from './operations/getOrCreateTable'\nimport * as createTable from './operations/createTable'\nimport * as duplicateTable from './operations/duplicateTable'\nimport * as exportTable from './operations/exportTable'\nimport * as getTableJobs from './operations/getTableJobs'\nimport * as importTable from './operations/importTable'\nimport * as updateTable from './operations/updateTable'\nimport * as renameTableColumn from './operations/renameTableColumn'\nimport * as deleteTable from './operations/deleteTable'\nimport * as getTableRow from './operations/getTableRow'\nimport * as findTableRows from './operations/findTableRows'\nimport * as createTableRows from './operations/createTableRows'\nimport * as deleteTableRows from './operations/deleteTableRows'\nimport * as updateTableRows from './operations/updateTableRows'\nimport * as upsertTableRows from './operations/upsertTableRows'\n\nexport * from './models'\n\nexport * as createConversation from './operations/createConversation'\nexport * as getConversation from './operations/getConversation'\nexport * as listConversations from './operations/listConversations'\nexport * as getOrCreateConversation from './operations/getOrCreateConversation'\nexport * as updateConversation from './operations/updateConversation'\nexport * as deleteConversation from './operations/deleteConversation'\nexport * as listParticipants from './operations/listParticipants'\nexport * as addParticipant from './operations/addParticipant'\nexport * as getParticipant from './operations/getParticipant'\nexport * as removeParticipant from './operations/removeParticipant'\nexport * as createEvent from './operations/createEvent'\nexport * as getEvent from './operations/getEvent'\nexport * as listEvents from './operations/listEvents'\nexport * as cancelScheduledEvent from './operations/cancelScheduledEvent'\nexport * as createMessage from './operations/createMessage'\nexport * as getOrCreateMessage from './operations/getOrCreateMessage'\nexport * as getMessage from './operations/getMessage'\nexport * as updateMessage from './operations/updateMessage'\nexport * as listMessages from './operations/listMessages'\nexport * as deleteMessage from './operations/deleteMessage'\nexport * as initializeIncomingMessage from './operations/initializeIncomingMessage'\nexport * as importMessages from './operations/importMessages'\nexport * as createUser from './operations/createUser'\nexport * as getUser from './operations/getUser'\nexport * as listUsers from './operations/listUsers'\nexport * as getOrCreateUser from './operations/getOrCreateUser'\nexport * as updateUser from './operations/updateUser'\nexport * as deleteUser from './operations/deleteUser'\nexport * as setStateExpiry from './operations/setStateExpiry'\nexport * as getState from './operations/getState'\nexport * as setState from './operations/setState'\nexport * as getOrSetState from './operations/getOrSetState'\nexport * as patchState from './operations/patchState'\nexport * as callAction from './operations/callAction'\nexport * as configureIntegration from './operations/configureIntegration'\nexport * as createWorkflow from './operations/createWorkflow'\nexport * as getWorkflow from './operations/getWorkflow'\nexport * as updateWorkflow from './operations/updateWorkflow'\nexport * as deleteWorkflow from './operations/deleteWorkflow'\nexport * as listWorkflows from './operations/listWorkflows'\nexport * as getOrCreateWorkflow from './operations/getOrCreateWorkflow'\nexport * as listTagValues from './operations/listTagValues'\nexport * as trackAnalytics from './operations/trackAnalytics'\nexport * as captureObservation from './operations/captureObservation'\nexport * as runVrl from './operations/runVrl'\nexport * as getAccount from './operations/getAccount'\nexport * as updateAccount from './operations/updateAccount'\nexport * as deleteAccount from './operations/deleteAccount'\nexport * as listPersonalAccessTokens from './operations/listPersonalAccessTokens'\nexport * as createPersonalAccessToken from './operations/createPersonalAccessToken'\nexport * as deletePersonalAccessToken from './operations/deletePersonalAccessToken'\nexport * as setAccountPreference from './operations/setAccountPreference'\nexport * as getAccountPreference from './operations/getAccountPreference'\nexport * as listPublicIntegrations from './operations/listPublicIntegrations'\nexport * as getPublicIntegrationById from './operations/getPublicIntegrationById'\nexport * as getPublicIntegration from './operations/getPublicIntegration'\nexport * as listPublicPlugins from './operations/listPublicPlugins'\nexport * as getPublicPluginById from './operations/getPublicPluginById'\nexport * as getDereferencedPublicPluginById from './operations/getDereferencedPublicPluginById'\nexport * as getPublicPlugin from './operations/getPublicPlugin'\nexport * as getPublicPluginCode from './operations/getPublicPluginCode'\nexport * as listPublicInterfaces from './operations/listPublicInterfaces'\nexport * as getPublicInterfaceById from './operations/getPublicInterfaceById'\nexport * as getPublicInterface from './operations/getPublicInterface'\nexport * as createBot from './operations/createBot'\nexport * as updateBot from './operations/updateBot'\nexport * as rotateBotSigningSecrets from './operations/rotateBotSigningSecrets'\nexport * as transferBot from './operations/transferBot'\nexport * as listBots from './operations/listBots'\nexport * as getBot from './operations/getBot'\nexport * as deleteBot from './operations/deleteBot'\nexport * as getBotLogs from './operations/getBotLogs'\nexport * as getBotWebchat from './operations/getBotWebchat'\nexport * as getBotAnalytics from './operations/getBotAnalytics'\nexport * as listActionRuns from './operations/listActionRuns'\nexport * as getBotIssue from './operations/getBotIssue'\nexport * as listBotIssues from './operations/listBotIssues'\nexport * as deleteBotIssue from './operations/deleteBotIssue'\nexport * as listBotIssueEvents from './operations/listBotIssueEvents'\nexport * as listBotVersions from './operations/listBotVersions'\nexport * as getBotVersion from './operations/getBotVersion'\nexport * as getBotJson from './operations/getBotJson'\nexport * as publishFromBotJson from './operations/publishFromBotJson'\nexport * as createBotVersion from './operations/createBotVersion'\nexport * as deployBotVersion from './operations/deployBotVersion'\nexport * as createIntegrationShareableId from './operations/createIntegrationShareableId'\nexport * as deleteIntegrationShareableId from './operations/deleteIntegrationShareableId'\nexport * as getIntegrationShareableId from './operations/getIntegrationShareableId'\nexport * as unlinkSandboxedConversations from './operations/unlinkSandboxedConversations'\nexport * as listBotApiKeys from './operations/listBotApiKeys'\nexport * as createBotApiKey from './operations/createBotApiKey'\nexport * as deleteBotApiKey from './operations/deleteBotApiKey'\nexport * as getBotAllowlist from './operations/getBotAllowlist'\nexport * as updateBotAllowlist from './operations/updateBotAllowlist'\nexport * as listWorkspaceInvoices from './operations/listWorkspaceInvoices'\nexport * as getUpcomingInvoice from './operations/getUpcomingInvoice'\nexport * as chargeWorkspaceUnpaidInvoices from './operations/chargeWorkspaceUnpaidInvoices'\nexport * as createWorkspace from './operations/createWorkspace'\nexport * as getPublicWorkspace from './operations/getPublicWorkspace'\nexport * as getWorkspace from './operations/getWorkspace'\nexport * as listWorkspaceUsages from './operations/listWorkspaceUsages'\nexport * as breakDownWorkspaceUsageByBot from './operations/breakDownWorkspaceUsageByBot'\nexport * as getAllWorkspaceQuotaCompletion from './operations/getAllWorkspaceQuotaCompletion'\nexport * as getWorkspaceQuota from './operations/getWorkspaceQuota'\nexport * as listWorkspaceQuotas from './operations/listWorkspaceQuotas'\nexport * as updateWorkspace from './operations/updateWorkspace'\nexport * as checkHandleAvailability from './operations/checkHandleAvailability'\nexport * as listWorkspaces from './operations/listWorkspaces'\nexport * as listPublicWorkspaces from './operations/listPublicWorkspaces'\nexport * as deleteWorkspace from './operations/deleteWorkspace'\nexport * as getAuditRecords from './operations/getAuditRecords'\nexport * as setWorkspacePreference from './operations/setWorkspacePreference'\nexport * as getWorkspacePreference from './operations/getWorkspacePreference'\nexport * as listWorkspaceMembers from './operations/listWorkspaceMembers'\nexport * as getWorkspaceMember from './operations/getWorkspaceMember'\nexport * as deleteWorkspaceMember from './operations/deleteWorkspaceMember'\nexport * as createWorkspaceMember from './operations/createWorkspaceMember'\nexport * as updateWorkspaceMember from './operations/updateWorkspaceMember'\nexport * as listIntegrationApiKeys from './operations/listIntegrationApiKeys'\nexport * as createIntegrationApiKey from './operations/createIntegrationApiKey'\nexport * as deleteIntegrationApiKey from './operations/deleteIntegrationApiKey'\nexport * as createIntegration from './operations/createIntegration'\nexport * as validateIntegrationCreation from './operations/validateIntegrationCreation'\nexport * as updateIntegration from './operations/updateIntegration'\nexport * as rotateIntegrationSigningSecrets from './operations/rotateIntegrationSigningSecrets'\nexport * as validateIntegrationUpdate from './operations/validateIntegrationUpdate'\nexport * as listIntegrations from './operations/listIntegrations'\nexport * as getIntegration from './operations/getIntegration'\nexport * as getIntegrationLogs from './operations/getIntegrationLogs'\nexport * as getIntegrationByName from './operations/getIntegrationByName'\nexport * as deleteIntegration from './operations/deleteIntegration'\nexport * as requestIntegrationVerification from './operations/requestIntegrationVerification'\nexport * as createInterface from './operations/createInterface'\nexport * as getInterface from './operations/getInterface'\nexport * as getInterfaceByName from './operations/getInterfaceByName'\nexport * as updateInterface from './operations/updateInterface'\nexport * as deleteInterface from './operations/deleteInterface'\nexport * as listInterfaces from './operations/listInterfaces'\nexport * as createPlugin from './operations/createPlugin'\nexport * as getPlugin from './operations/getPlugin'\nexport * as getDereferencedPlugin from './operations/getDereferencedPlugin'\nexport * as getPluginByName from './operations/getPluginByName'\nexport * as updatePlugin from './operations/updatePlugin'\nexport * as deletePlugin from './operations/deletePlugin'\nexport * as listPlugins from './operations/listPlugins'\nexport * as getPluginCode from './operations/getPluginCode'\nexport * as getUsage from './operations/getUsage'\nexport * as getMultipleUsages from './operations/getMultipleUsages'\nexport * as listUsageHistory from './operations/listUsageHistory'\nexport * as listUsageActivity from './operations/listUsageActivity'\nexport * as listUsageActivityDaily from './operations/listUsageActivityDaily'\nexport * as changeAISpendQuota from './operations/changeAISpendQuota'\nexport * as listActivities from './operations/listActivities'\nexport * as introspect from './operations/introspect'\nexport * as upsertFile from './operations/upsertFile'\nexport * as deleteFile from './operations/deleteFile'\nexport * as listFiles from './operations/listFiles'\nexport * as getFile from './operations/getFile'\nexport * as updateFileMetadata from './operations/updateFileMetadata'\nexport * as copyFile from './operations/copyFile'\nexport * as searchFiles from './operations/searchFiles'\nexport * as listFilePassages from './operations/listFilePassages'\nexport * as setFilePassages from './operations/setFilePassages'\nexport * as listFileTags from './operations/listFileTags'\nexport * as listFileTagValues from './operations/listFileTagValues'\nexport * as createKnowledgeBase from './operations/createKnowledgeBase'\nexport * as deleteKnowledgeBase from './operations/deleteKnowledgeBase'\nexport * as updateKnowledgeBase from './operations/updateKnowledgeBase'\nexport * as listKnowledgeBases from './operations/listKnowledgeBases'\nexport * as listTables from './operations/listTables'\nexport * as getTable from './operations/getTable'\nexport * as getOrCreateTable from './operations/getOrCreateTable'\nexport * as createTable from './operations/createTable'\nexport * as duplicateTable from './operations/duplicateTable'\nexport * as exportTable from './operations/exportTable'\nexport * as getTableJobs from './operations/getTableJobs'\nexport * as importTable from './operations/importTable'\nexport * as updateTable from './operations/updateTable'\nexport * as renameTableColumn from './operations/renameTableColumn'\nexport * as deleteTable from './operations/deleteTable'\nexport * as getTableRow from './operations/getTableRow'\nexport * as findTableRows from './operations/findTableRows'\nexport * as createTableRows from './operations/createTableRows'\nexport * as deleteTableRows from './operations/deleteTableRows'\nexport * as updateTableRows from './operations/updateTableRows'\nexport * as upsertTableRows from './operations/upsertTableRows'\n\nexport const apiVersion = '1.73.4'\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 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 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 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 getOrCreateConversation = async (input: getOrCreateConversation.GetOrCreateConversationInput): Promise<getOrCreateConversation.GetOrCreateConversationResponse> => {\n    const { path, headers, query, body } = getOrCreateConversation.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<getOrCreateConversation.GetOrCreateConversationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateConversation = async (input: updateConversation.UpdateConversationInput): Promise<updateConversation.UpdateConversationResponse> => {\n    const { path, headers, query, body } = updateConversation.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<updateConversation.UpdateConversationResponse>(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 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 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 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 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 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 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 listEvents = async (input: listEvents.ListEventsInput): Promise<listEvents.ListEventsResponse> => {\n    const { path, headers, query, body } = listEvents.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<listEvents.ListEventsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly cancelScheduledEvent = async (input: cancelScheduledEvent.CancelScheduledEventInput): Promise<cancelScheduledEvent.CancelScheduledEventResponse> => {\n    const { path, headers, query, body } = cancelScheduledEvent.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<cancelScheduledEvent.CancelScheduledEventResponse>(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 getOrCreateMessage = async (input: getOrCreateMessage.GetOrCreateMessageInput): Promise<getOrCreateMessage.GetOrCreateMessageResponse> => {\n    const { path, headers, query, body } = getOrCreateMessage.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<getOrCreateMessage.GetOrCreateMessageResponse>(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 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 listMessages = async (input: listMessages.ListMessagesInput): Promise<listMessages.ListMessagesResponse> => {\n    const { path, headers, query, body } = listMessages.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<listMessages.ListMessagesResponse>(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 initializeIncomingMessage = async (input: initializeIncomingMessage.InitializeIncomingMessageInput): Promise<initializeIncomingMessage.InitializeIncomingMessageResponse> => {\n    const { path, headers, query, body } = initializeIncomingMessage.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<initializeIncomingMessage.InitializeIncomingMessageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly importMessages = async (input: importMessages.ImportMessagesInput): Promise<importMessages.ImportMessagesResponse> => {\n    const { path, headers, query, body } = importMessages.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<importMessages.ImportMessagesResponse>(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 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 listUsers = async (input: listUsers.ListUsersInput): Promise<listUsers.ListUsersResponse> => {\n    const { path, headers, query, body } = listUsers.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<listUsers.ListUsersResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateUser = async (input: getOrCreateUser.GetOrCreateUserInput): Promise<getOrCreateUser.GetOrCreateUserResponse> => {\n    const { path, headers, query, body } = getOrCreateUser.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<getOrCreateUser.GetOrCreateUserResponse>(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 setStateExpiry = async (input: setStateExpiry.SetStateExpiryInput): Promise<setStateExpiry.SetStateExpiryResponse> => {\n    const { path, headers, query, body } = setStateExpiry.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<setStateExpiry.SetStateExpiryResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getState = async (input: getState.GetStateInput): Promise<getState.GetStateResponse> => {\n    const { path, headers, query, body } = getState.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<getState.GetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setState = async (input: setState.SetStateInput): Promise<setState.SetStateResponse> => {\n    const { path, headers, query, body } = setState.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<setState.SetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrSetState = async (input: getOrSetState.GetOrSetStateInput): Promise<getOrSetState.GetOrSetStateResponse> => {\n    const { path, headers, query, body } = getOrSetState.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<getOrSetState.GetOrSetStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly patchState = async (input: patchState.PatchStateInput): Promise<patchState.PatchStateResponse> => {\n    const { path, headers, query, body } = patchState.parseReq(input)\n\n    const mapRequest = this.props.toAxiosRequest ?? toAxiosRequest\n    const mapErrorResponse = this.props.toApiError ?? toApiError\n\n    const axiosReq = mapRequest({\n        method: \"patch\",\n        path,\n        headers: { ...headers },\n        query: { ...query },\n        body,\n    })\n    return this.axiosInstance.request<patchState.PatchStateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly callAction = async (input: callAction.CallActionInput): Promise<callAction.CallActionResponse> => {\n    const { path, headers, query, body } = callAction.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<callAction.CallActionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly configureIntegration = async (input: configureIntegration.ConfigureIntegrationInput): Promise<configureIntegration.ConfigureIntegrationResponse> => {\n    const { path, headers, query, body } = configureIntegration.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<configureIntegration.ConfigureIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkflow = async (input: createWorkflow.CreateWorkflowInput): Promise<createWorkflow.CreateWorkflowResponse> => {\n    const { path, headers, query, body } = createWorkflow.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<createWorkflow.CreateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkflow = async (input: getWorkflow.GetWorkflowInput): Promise<getWorkflow.GetWorkflowResponse> => {\n    const { path, headers, query, body } = getWorkflow.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<getWorkflow.GetWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkflow = async (input: updateWorkflow.UpdateWorkflowInput): Promise<updateWorkflow.UpdateWorkflowResponse> => {\n    const { path, headers, query, body } = updateWorkflow.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<updateWorkflow.UpdateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkflow = async (input: deleteWorkflow.DeleteWorkflowInput): Promise<deleteWorkflow.DeleteWorkflowResponse> => {\n    const { path, headers, query, body } = deleteWorkflow.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<deleteWorkflow.DeleteWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkflows = async (input: listWorkflows.ListWorkflowsInput): Promise<listWorkflows.ListWorkflowsResponse> => {\n    const { path, headers, query, body } = listWorkflows.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<listWorkflows.ListWorkflowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateWorkflow = async (input: getOrCreateWorkflow.GetOrCreateWorkflowInput): Promise<getOrCreateWorkflow.GetOrCreateWorkflowResponse> => {\n    const { path, headers, query, body } = getOrCreateWorkflow.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<getOrCreateWorkflow.GetOrCreateWorkflowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listTagValues = async (input: listTagValues.ListTagValuesInput): Promise<listTagValues.ListTagValuesResponse> => {\n    const { path, headers, query, body } = listTagValues.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<listTagValues.ListTagValuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly trackAnalytics = async (input: trackAnalytics.TrackAnalyticsInput): Promise<trackAnalytics.TrackAnalyticsResponse> => {\n    const { path, headers, query, body } = trackAnalytics.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<trackAnalytics.TrackAnalyticsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly captureObservation = async (input: captureObservation.CaptureObservationInput): Promise<captureObservation.CaptureObservationResponse> => {\n    const { path, headers, query, body } = captureObservation.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<captureObservation.CaptureObservationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly runVrl = async (input: runVrl.RunVrlInput): Promise<runVrl.RunVrlResponse> => {\n    const { path, headers, query, body } = runVrl.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<runVrl.RunVrlResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAccount = async (input: getAccount.GetAccountInput): Promise<getAccount.GetAccountResponse> => {\n    const { path, headers, query, body } = getAccount.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<getAccount.GetAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateAccount = async (input: updateAccount.UpdateAccountInput): Promise<updateAccount.UpdateAccountResponse> => {\n    const { path, headers, query, body } = updateAccount.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<updateAccount.UpdateAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteAccount = async (input: deleteAccount.DeleteAccountInput): Promise<deleteAccount.DeleteAccountResponse> => {\n    const { path, headers, query, body } = deleteAccount.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<deleteAccount.DeleteAccountResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPersonalAccessTokens = async (input: listPersonalAccessTokens.ListPersonalAccessTokensInput): Promise<listPersonalAccessTokens.ListPersonalAccessTokensResponse> => {\n    const { path, headers, query, body } = listPersonalAccessTokens.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<listPersonalAccessTokens.ListPersonalAccessTokensResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createPersonalAccessToken = async (input: createPersonalAccessToken.CreatePersonalAccessTokenInput): Promise<createPersonalAccessToken.CreatePersonalAccessTokenResponse> => {\n    const { path, headers, query, body } = createPersonalAccessToken.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<createPersonalAccessToken.CreatePersonalAccessTokenResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deletePersonalAccessToken = async (input: deletePersonalAccessToken.DeletePersonalAccessTokenInput): Promise<deletePersonalAccessToken.DeletePersonalAccessTokenResponse> => {\n    const { path, headers, query, body } = deletePersonalAccessToken.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<deletePersonalAccessToken.DeletePersonalAccessTokenResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setAccountPreference = async (input: setAccountPreference.SetAccountPreferenceInput): Promise<setAccountPreference.SetAccountPreferenceResponse> => {\n    const { path, headers, query, body } = setAccountPreference.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<setAccountPreference.SetAccountPreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAccountPreference = async (input: getAccountPreference.GetAccountPreferenceInput): Promise<getAccountPreference.GetAccountPreferenceResponse> => {\n    const { path, headers, query, body } = getAccountPreference.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<getAccountPreference.GetAccountPreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicIntegrations = async (input: listPublicIntegrations.ListPublicIntegrationsInput): Promise<listPublicIntegrations.ListPublicIntegrationsResponse> => {\n    const { path, headers, query, body } = listPublicIntegrations.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<listPublicIntegrations.ListPublicIntegrationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicIntegrationById = async (input: getPublicIntegrationById.GetPublicIntegrationByIdInput): Promise<getPublicIntegrationById.GetPublicIntegrationByIdResponse> => {\n    const { path, headers, query, body } = getPublicIntegrationById.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<getPublicIntegrationById.GetPublicIntegrationByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicIntegration = async (input: getPublicIntegration.GetPublicIntegrationInput): Promise<getPublicIntegration.GetPublicIntegrationResponse> => {\n    const { path, headers, query, body } = getPublicIntegration.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<getPublicIntegration.GetPublicIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicPlugins = async (input: listPublicPlugins.ListPublicPluginsInput): Promise<listPublicPlugins.ListPublicPluginsResponse> => {\n    const { path, headers, query, body } = listPublicPlugins.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<listPublicPlugins.ListPublicPluginsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPluginById = async (input: getPublicPluginById.GetPublicPluginByIdInput): Promise<getPublicPluginById.GetPublicPluginByIdResponse> => {\n    const { path, headers, query, body } = getPublicPluginById.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<getPublicPluginById.GetPublicPluginByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getDereferencedPublicPluginById = async (input: getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdInput): Promise<getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdResponse> => {\n    const { path, headers, query, body } = getDereferencedPublicPluginById.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<getDereferencedPublicPluginById.GetDereferencedPublicPluginByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPlugin = async (input: getPublicPlugin.GetPublicPluginInput): Promise<getPublicPlugin.GetPublicPluginResponse> => {\n    const { path, headers, query, body } = getPublicPlugin.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<getPublicPlugin.GetPublicPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicPluginCode = async (input: getPublicPluginCode.GetPublicPluginCodeInput): Promise<getPublicPluginCode.GetPublicPluginCodeResponse> => {\n    const { path, headers, query, body } = getPublicPluginCode.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<getPublicPluginCode.GetPublicPluginCodeResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicInterfaces = async (input: listPublicInterfaces.ListPublicInterfacesInput): Promise<listPublicInterfaces.ListPublicInterfacesResponse> => {\n    const { path, headers, query, body } = listPublicInterfaces.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<listPublicInterfaces.ListPublicInterfacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicInterfaceById = async (input: getPublicInterfaceById.GetPublicInterfaceByIdInput): Promise<getPublicInterfaceById.GetPublicInterfaceByIdResponse> => {\n    const { path, headers, query, body } = getPublicInterfaceById.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<getPublicInterfaceById.GetPublicInterfaceByIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicInterface = async (input: getPublicInterface.GetPublicInterfaceInput): Promise<getPublicInterface.GetPublicInterfaceResponse> => {\n    const { path, headers, query, body } = getPublicInterface.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<getPublicInterface.GetPublicInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBot = async (input: createBot.CreateBotInput): Promise<createBot.CreateBotResponse> => {\n    const { path, headers, query, body } = createBot.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<createBot.CreateBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateBot = async (input: updateBot.UpdateBotInput): Promise<updateBot.UpdateBotResponse> => {\n    const { path, headers, query, body } = updateBot.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<updateBot.UpdateBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly rotateBotSigningSecrets = async (input: rotateBotSigningSecrets.RotateBotSigningSecretsInput): Promise<rotateBotSigningSecrets.RotateBotSigningSecretsResponse> => {\n    const { path, headers, query, body } = rotateBotSigningSecrets.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<rotateBotSigningSecrets.RotateBotSigningSecretsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly transferBot = async (input: transferBot.TransferBotInput): Promise<transferBot.TransferBotResponse> => {\n    const { path, headers, query, body } = transferBot.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<transferBot.TransferBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBots = async (input: listBots.ListBotsInput): Promise<listBots.ListBotsResponse> => {\n    const { path, headers, query, body } = listBots.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<listBots.ListBotsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBot = async (input: getBot.GetBotInput): Promise<getBot.GetBotResponse> => {\n    const { path, headers, query, body } = getBot.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<getBot.GetBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBot = async (input: deleteBot.DeleteBotInput): Promise<deleteBot.DeleteBotResponse> => {\n    const { path, headers, query, body } = deleteBot.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<deleteBot.DeleteBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotLogs = async (input: getBotLogs.GetBotLogsInput): Promise<getBotLogs.GetBotLogsResponse> => {\n    const { path, headers, query, body } = getBotLogs.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<getBotLogs.GetBotLogsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotWebchat = async (input: getBotWebchat.GetBotWebchatInput): Promise<getBotWebchat.GetBotWebchatResponse> => {\n    const { path, headers, query, body } = getBotWebchat.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<getBotWebchat.GetBotWebchatResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotAnalytics = async (input: getBotAnalytics.GetBotAnalyticsInput): Promise<getBotAnalytics.GetBotAnalyticsResponse> => {\n    const { path, headers, query, body } = getBotAnalytics.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<getBotAnalytics.GetBotAnalyticsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listActionRuns = async (input: listActionRuns.ListActionRunsInput): Promise<listActionRuns.ListActionRunsResponse> => {\n    const { path, headers, query, body } = listActionRuns.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<listActionRuns.ListActionRunsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotIssue = async (input: getBotIssue.GetBotIssueInput): Promise<getBotIssue.GetBotIssueResponse> => {\n    const { path, headers, query, body } = getBotIssue.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<getBotIssue.GetBotIssueResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotIssues = async (input: listBotIssues.ListBotIssuesInput): Promise<listBotIssues.ListBotIssuesResponse> => {\n    const { path, headers, query, body } = listBotIssues.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<listBotIssues.ListBotIssuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBotIssue = async (input: deleteBotIssue.DeleteBotIssueInput): Promise<deleteBotIssue.DeleteBotIssueResponse> => {\n    const { path, headers, query, body } = deleteBotIssue.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<deleteBotIssue.DeleteBotIssueResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotIssueEvents = async (input: listBotIssueEvents.ListBotIssueEventsInput): Promise<listBotIssueEvents.ListBotIssueEventsResponse> => {\n    const { path, headers, query, body } = listBotIssueEvents.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<listBotIssueEvents.ListBotIssueEventsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotVersions = async (input: listBotVersions.ListBotVersionsInput): Promise<listBotVersions.ListBotVersionsResponse> => {\n    const { path, headers, query, body } = listBotVersions.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<listBotVersions.ListBotVersionsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotVersion = async (input: getBotVersion.GetBotVersionInput): Promise<getBotVersion.GetBotVersionResponse> => {\n    const { path, headers, query, body } = getBotVersion.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<getBotVersion.GetBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotJson = async (input: getBotJson.GetBotJsonInput): Promise<getBotJson.GetBotJsonResponse> => {\n    const { path, headers, query, body } = getBotJson.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<getBotJson.GetBotJsonResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly publishFromBotJson = async (input: publishFromBotJson.PublishFromBotJsonInput): Promise<publishFromBotJson.PublishFromBotJsonResponse> => {\n    const { path, headers, query, body } = publishFromBotJson.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<publishFromBotJson.PublishFromBotJsonResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBotVersion = async (input: createBotVersion.CreateBotVersionInput): Promise<createBotVersion.CreateBotVersionResponse> => {\n    const { path, headers, query, body } = createBotVersion.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<createBotVersion.CreateBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deployBotVersion = async (input: deployBotVersion.DeployBotVersionInput): Promise<deployBotVersion.DeployBotVersionResponse> => {\n    const { path, headers, query, body } = deployBotVersion.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<deployBotVersion.DeployBotVersionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegrationShareableId = async (input: createIntegrationShareableId.CreateIntegrationShareableIdInput): Promise<createIntegrationShareableId.CreateIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = createIntegrationShareableId.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<createIntegrationShareableId.CreateIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegrationShareableId = async (input: deleteIntegrationShareableId.DeleteIntegrationShareableIdInput): Promise<deleteIntegrationShareableId.DeleteIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = deleteIntegrationShareableId.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<deleteIntegrationShareableId.DeleteIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationShareableId = async (input: getIntegrationShareableId.GetIntegrationShareableIdInput): Promise<getIntegrationShareableId.GetIntegrationShareableIdResponse> => {\n    const { path, headers, query, body } = getIntegrationShareableId.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<getIntegrationShareableId.GetIntegrationShareableIdResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly unlinkSandboxedConversations = async (input: unlinkSandboxedConversations.UnlinkSandboxedConversationsInput): Promise<unlinkSandboxedConversations.UnlinkSandboxedConversationsResponse> => {\n    const { path, headers, query, body } = unlinkSandboxedConversations.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<unlinkSandboxedConversations.UnlinkSandboxedConversationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listBotApiKeys = async (input: listBotApiKeys.ListBotApiKeysInput): Promise<listBotApiKeys.ListBotApiKeysResponse> => {\n    const { path, headers, query, body } = listBotApiKeys.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<listBotApiKeys.ListBotApiKeysResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createBotApiKey = async (input: createBotApiKey.CreateBotApiKeyInput): Promise<createBotApiKey.CreateBotApiKeyResponse> => {\n    const { path, headers, query, body } = createBotApiKey.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<createBotApiKey.CreateBotApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteBotApiKey = async (input: deleteBotApiKey.DeleteBotApiKeyInput): Promise<deleteBotApiKey.DeleteBotApiKeyResponse> => {\n    const { path, headers, query, body } = deleteBotApiKey.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<deleteBotApiKey.DeleteBotApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getBotAllowlist = async (input: getBotAllowlist.GetBotAllowlistInput): Promise<getBotAllowlist.GetBotAllowlistResponse> => {\n    const { path, headers, query, body } = getBotAllowlist.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<getBotAllowlist.GetBotAllowlistResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateBotAllowlist = async (input: updateBotAllowlist.UpdateBotAllowlistInput): Promise<updateBotAllowlist.UpdateBotAllowlistResponse> => {\n    const { path, headers, query, body } = updateBotAllowlist.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<updateBotAllowlist.UpdateBotAllowlistResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceInvoices = async (input: listWorkspaceInvoices.ListWorkspaceInvoicesInput): Promise<listWorkspaceInvoices.ListWorkspaceInvoicesResponse> => {\n    const { path, headers, query, body } = listWorkspaceInvoices.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<listWorkspaceInvoices.ListWorkspaceInvoicesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getUpcomingInvoice = async (input: getUpcomingInvoice.GetUpcomingInvoiceInput): Promise<getUpcomingInvoice.GetUpcomingInvoiceResponse> => {\n    const { path, headers, query, body } = getUpcomingInvoice.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<getUpcomingInvoice.GetUpcomingInvoiceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly chargeWorkspaceUnpaidInvoices = async (input: chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesInput): Promise<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse> => {\n    const { path, headers, query, body } = chargeWorkspaceUnpaidInvoices.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<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkspace = async (input: createWorkspace.CreateWorkspaceInput): Promise<createWorkspace.CreateWorkspaceResponse> => {\n    const { path, headers, query, body } = createWorkspace.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<createWorkspace.CreateWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPublicWorkspace = async (input: getPublicWorkspace.GetPublicWorkspaceInput): Promise<getPublicWorkspace.GetPublicWorkspaceResponse> => {\n    const { path, headers, query, body } = getPublicWorkspace.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<getPublicWorkspace.GetPublicWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspace = async (input: getWorkspace.GetWorkspaceInput): Promise<getWorkspace.GetWorkspaceResponse> => {\n    const { path, headers, query, body } = getWorkspace.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<getWorkspace.GetWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceUsages = async (input: listWorkspaceUsages.ListWorkspaceUsagesInput): Promise<listWorkspaceUsages.ListWorkspaceUsagesResponse> => {\n    const { path, headers, query, body } = listWorkspaceUsages.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<listWorkspaceUsages.ListWorkspaceUsagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly breakDownWorkspaceUsageByBot = async (input: breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotInput): Promise<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse> => {\n    const { path, headers, query, body } = breakDownWorkspaceUsageByBot.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<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAllWorkspaceQuotaCompletion = async (input: getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionInput): Promise<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse> => {\n    const { path, headers, query, body } = getAllWorkspaceQuotaCompletion.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<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspaceQuota = async (input: getWorkspaceQuota.GetWorkspaceQuotaInput): Promise<getWorkspaceQuota.GetWorkspaceQuotaResponse> => {\n    const { path, headers, query, body } = getWorkspaceQuota.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<getWorkspaceQuota.GetWorkspaceQuotaResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceQuotas = async (input: listWorkspaceQuotas.ListWorkspaceQuotasInput): Promise<listWorkspaceQuotas.ListWorkspaceQuotasResponse> => {\n    const { path, headers, query, body } = listWorkspaceQuotas.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<listWorkspaceQuotas.ListWorkspaceQuotasResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkspace = async (input: updateWorkspace.UpdateWorkspaceInput): Promise<updateWorkspace.UpdateWorkspaceResponse> => {\n    const { path, headers, query, body } = updateWorkspace.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<updateWorkspace.UpdateWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly checkHandleAvailability = async (input: checkHandleAvailability.CheckHandleAvailabilityInput): Promise<checkHandleAvailability.CheckHandleAvailabilityResponse> => {\n    const { path, headers, query, body } = checkHandleAvailability.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<checkHandleAvailability.CheckHandleAvailabilityResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaces = async (input: listWorkspaces.ListWorkspacesInput): Promise<listWorkspaces.ListWorkspacesResponse> => {\n    const { path, headers, query, body } = listWorkspaces.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<listWorkspaces.ListWorkspacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPublicWorkspaces = async (input: listPublicWorkspaces.ListPublicWorkspacesInput): Promise<listPublicWorkspaces.ListPublicWorkspacesResponse> => {\n    const { path, headers, query, body } = listPublicWorkspaces.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<listPublicWorkspaces.ListPublicWorkspacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkspace = async (input: deleteWorkspace.DeleteWorkspaceInput): Promise<deleteWorkspace.DeleteWorkspaceResponse> => {\n    const { path, headers, query, body } = deleteWorkspace.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<deleteWorkspace.DeleteWorkspaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getAuditRecords = async (input: getAuditRecords.GetAuditRecordsInput): Promise<getAuditRecords.GetAuditRecordsResponse> => {\n    const { path, headers, query, body } = getAuditRecords.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<getAuditRecords.GetAuditRecordsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setWorkspacePreference = async (input: setWorkspacePreference.SetWorkspacePreferenceInput): Promise<setWorkspacePreference.SetWorkspacePreferenceResponse> => {\n    const { path, headers, query, body } = setWorkspacePreference.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<setWorkspacePreference.SetWorkspacePreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspacePreference = async (input: getWorkspacePreference.GetWorkspacePreferenceInput): Promise<getWorkspacePreference.GetWorkspacePreferenceResponse> => {\n    const { path, headers, query, body } = getWorkspacePreference.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<getWorkspacePreference.GetWorkspacePreferenceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listWorkspaceMembers = async (input: listWorkspaceMembers.ListWorkspaceMembersInput): Promise<listWorkspaceMembers.ListWorkspaceMembersResponse> => {\n    const { path, headers, query, body } = listWorkspaceMembers.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<listWorkspaceMembers.ListWorkspaceMembersResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getWorkspaceMember = async (input: getWorkspaceMember.GetWorkspaceMemberInput): Promise<getWorkspaceMember.GetWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = getWorkspaceMember.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<getWorkspaceMember.GetWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteWorkspaceMember = async (input: deleteWorkspaceMember.DeleteWorkspaceMemberInput): Promise<deleteWorkspaceMember.DeleteWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = deleteWorkspaceMember.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<deleteWorkspaceMember.DeleteWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createWorkspaceMember = async (input: createWorkspaceMember.CreateWorkspaceMemberInput): Promise<createWorkspaceMember.CreateWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = createWorkspaceMember.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<createWorkspaceMember.CreateWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateWorkspaceMember = async (input: updateWorkspaceMember.UpdateWorkspaceMemberInput): Promise<updateWorkspaceMember.UpdateWorkspaceMemberResponse> => {\n    const { path, headers, query, body } = updateWorkspaceMember.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<updateWorkspaceMember.UpdateWorkspaceMemberResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listIntegrationApiKeys = async (input: listIntegrationApiKeys.ListIntegrationApiKeysInput): Promise<listIntegrationApiKeys.ListIntegrationApiKeysResponse> => {\n    const { path, headers, query, body } = listIntegrationApiKeys.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<listIntegrationApiKeys.ListIntegrationApiKeysResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegrationApiKey = async (input: createIntegrationApiKey.CreateIntegrationApiKeyInput): Promise<createIntegrationApiKey.CreateIntegrationApiKeyResponse> => {\n    const { path, headers, query, body } = createIntegrationApiKey.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<createIntegrationApiKey.CreateIntegrationApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegrationApiKey = async (input: deleteIntegrationApiKey.DeleteIntegrationApiKeyInput): Promise<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse> => {\n    const { path, headers, query, body } = deleteIntegrationApiKey.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<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createIntegration = async (input: createIntegration.CreateIntegrationInput): Promise<createIntegration.CreateIntegrationResponse> => {\n    const { path, headers, query, body } = createIntegration.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<createIntegration.CreateIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly validateIntegrationCreation = async (input: validateIntegrationCreation.ValidateIntegrationCreationInput): Promise<validateIntegrationCreation.ValidateIntegrationCreationResponse> => {\n    const { path, headers, query, body } = validateIntegrationCreation.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<validateIntegrationCreation.ValidateIntegrationCreationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateIntegration = async (input: updateIntegration.UpdateIntegrationInput): Promise<updateIntegration.UpdateIntegrationResponse> => {\n    const { path, headers, query, body } = updateIntegration.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<updateIntegration.UpdateIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly rotateIntegrationSigningSecrets = async (input: rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsInput): Promise<rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsResponse> => {\n    const { path, headers, query, body } = rotateIntegrationSigningSecrets.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<rotateIntegrationSigningSecrets.RotateIntegrationSigningSecretsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly validateIntegrationUpdate = async (input: validateIntegrationUpdate.ValidateIntegrationUpdateInput): Promise<validateIntegrationUpdate.ValidateIntegrationUpdateResponse> => {\n    const { path, headers, query, body } = validateIntegrationUpdate.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<validateIntegrationUpdate.ValidateIntegrationUpdateResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listIntegrations = async (input: listIntegrations.ListIntegrationsInput): Promise<listIntegrations.ListIntegrationsResponse> => {\n    const { path, headers, query, body } = listIntegrations.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<listIntegrations.ListIntegrationsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegration = async (input: getIntegration.GetIntegrationInput): Promise<getIntegration.GetIntegrationResponse> => {\n    const { path, headers, query, body } = getIntegration.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<getIntegration.GetIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationLogs = async (input: getIntegrationLogs.GetIntegrationLogsInput): Promise<getIntegrationLogs.GetIntegrationLogsResponse> => {\n    const { path, headers, query, body } = getIntegrationLogs.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<getIntegrationLogs.GetIntegrationLogsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getIntegrationByName = async (input: getIntegrationByName.GetIntegrationByNameInput): Promise<getIntegrationByName.GetIntegrationByNameResponse> => {\n    const { path, headers, query, body } = getIntegrationByName.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<getIntegrationByName.GetIntegrationByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteIntegration = async (input: deleteIntegration.DeleteIntegrationInput): Promise<deleteIntegration.DeleteIntegrationResponse> => {\n    const { path, headers, query, body } = deleteIntegration.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<deleteIntegration.DeleteIntegrationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly requestIntegrationVerification = async (input: requestIntegrationVerification.RequestIntegrationVerificationInput): Promise<requestIntegrationVerification.RequestIntegrationVerificationResponse> => {\n    const { path, headers, query, body } = requestIntegrationVerification.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<requestIntegrationVerification.RequestIntegrationVerificationResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createInterface = async (input: createInterface.CreateInterfaceInput): Promise<createInterface.CreateInterfaceResponse> => {\n    const { path, headers, query, body } = createInterface.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<createInterface.CreateInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getInterface = async (input: getInterface.GetInterfaceInput): Promise<getInterface.GetInterfaceResponse> => {\n    const { path, headers, query, body } = getInterface.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<getInterface.GetInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getInterfaceByName = async (input: getInterfaceByName.GetInterfaceByNameInput): Promise<getInterfaceByName.GetInterfaceByNameResponse> => {\n    const { path, headers, query, body } = getInterfaceByName.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<getInterfaceByName.GetInterfaceByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateInterface = async (input: updateInterface.UpdateInterfaceInput): Promise<updateInterface.UpdateInterfaceResponse> => {\n    const { path, headers, query, body } = updateInterface.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<updateInterface.UpdateInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteInterface = async (input: deleteInterface.DeleteInterfaceInput): Promise<deleteInterface.DeleteInterfaceResponse> => {\n    const { path, headers, query, body } = deleteInterface.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<deleteInterface.DeleteInterfaceResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listInterfaces = async (input: listInterfaces.ListInterfacesInput): Promise<listInterfaces.ListInterfacesResponse> => {\n    const { path, headers, query, body } = listInterfaces.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<listInterfaces.ListInterfacesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createPlugin = async (input: createPlugin.CreatePluginInput): Promise<createPlugin.CreatePluginResponse> => {\n    const { path, headers, query, body } = createPlugin.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<createPlugin.CreatePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPlugin = async (input: getPlugin.GetPluginInput): Promise<getPlugin.GetPluginResponse> => {\n    const { path, headers, query, body } = getPlugin.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<getPlugin.GetPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getDereferencedPlugin = async (input: getDereferencedPlugin.GetDereferencedPluginInput): Promise<getDereferencedPlugin.GetDereferencedPluginResponse> => {\n    const { path, headers, query, body } = getDereferencedPlugin.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<getDereferencedPlugin.GetDereferencedPluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPluginByName = async (input: getPluginByName.GetPluginByNameInput): Promise<getPluginByName.GetPluginByNameResponse> => {\n    const { path, headers, query, body } = getPluginByName.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<getPluginByName.GetPluginByNameResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updatePlugin = async (input: updatePlugin.UpdatePluginInput): Promise<updatePlugin.UpdatePluginResponse> => {\n    const { path, headers, query, body } = updatePlugin.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<updatePlugin.UpdatePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deletePlugin = async (input: deletePlugin.DeletePluginInput): Promise<deletePlugin.DeletePluginResponse> => {\n    const { path, headers, query, body } = deletePlugin.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<deletePlugin.DeletePluginResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listPlugins = async (input: listPlugins.ListPluginsInput): Promise<listPlugins.ListPluginsResponse> => {\n    const { path, headers, query, body } = listPlugins.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<listPlugins.ListPluginsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getPluginCode = async (input: getPluginCode.GetPluginCodeInput): Promise<getPluginCode.GetPluginCodeResponse> => {\n    const { path, headers, query, body } = getPluginCode.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<getPluginCode.GetPluginCodeResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getUsage = async (input: getUsage.GetUsageInput): Promise<getUsage.GetUsageResponse> => {\n    const { path, headers, query, body } = getUsage.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<getUsage.GetUsageResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getMultipleUsages = async (input: getMultipleUsages.GetMultipleUsagesInput): Promise<getMultipleUsages.GetMultipleUsagesResponse> => {\n    const { path, headers, query, body } = getMultipleUsages.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<getMultipleUsages.GetMultipleUsagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageHistory = async (input: listUsageHistory.ListUsageHistoryInput): Promise<listUsageHistory.ListUsageHistoryResponse> => {\n    const { path, headers, query, body } = listUsageHistory.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<listUsageHistory.ListUsageHistoryResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageActivity = async (input: listUsageActivity.ListUsageActivityInput): Promise<listUsageActivity.ListUsageActivityResponse> => {\n    const { path, headers, query, body } = listUsageActivity.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<listUsageActivity.ListUsageActivityResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listUsageActivityDaily = async (input: listUsageActivityDaily.ListUsageActivityDailyInput): Promise<listUsageActivityDaily.ListUsageActivityDailyResponse> => {\n    const { path, headers, query, body } = listUsageActivityDaily.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<listUsageActivityDaily.ListUsageActivityDailyResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly changeAISpendQuota = async (input: changeAISpendQuota.ChangeAispendQuotaInput): Promise<changeAISpendQuota.ChangeAispendQuotaResponse> => {\n    const { path, headers, query, body } = changeAISpendQuota.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<changeAISpendQuota.ChangeAispendQuotaResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listActivities = async (input: listActivities.ListActivitiesInput): Promise<listActivities.ListActivitiesResponse> => {\n    const { path, headers, query, body } = listActivities.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<listActivities.ListActivitiesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly introspect = async (input: introspect.IntrospectInput): Promise<introspect.IntrospectResponse> => {\n    const { path, headers, query, body } = introspect.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<introspect.IntrospectResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly upsertFile = async (input: upsertFile.UpsertFileInput): Promise<upsertFile.UpsertFileResponse> => {\n    const { path, headers, query, body } = upsertFile.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<upsertFile.UpsertFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteFile = async (input: deleteFile.DeleteFileInput): Promise<deleteFile.DeleteFileResponse> => {\n    const { path, headers, query, body } = deleteFile.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<deleteFile.DeleteFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFiles = async (input: listFiles.ListFilesInput): Promise<listFiles.ListFilesResponse> => {\n    const { path, headers, query, body } = listFiles.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<listFiles.ListFilesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getFile = async (input: getFile.GetFileInput): Promise<getFile.GetFileResponse> => {\n    const { path, headers, query, body } = getFile.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<getFile.GetFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateFileMetadata = async (input: updateFileMetadata.UpdateFileMetadataInput): Promise<updateFileMetadata.UpdateFileMetadataResponse> => {\n    const { path, headers, query, body } = updateFileMetadata.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<updateFileMetadata.UpdateFileMetadataResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly copyFile = async (input: copyFile.CopyFileInput): Promise<copyFile.CopyFileResponse> => {\n    const { path, headers, query, body } = copyFile.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<copyFile.CopyFileResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly searchFiles = async (input: searchFiles.SearchFilesInput): Promise<searchFiles.SearchFilesResponse> => {\n    const { path, headers, query, body } = searchFiles.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<searchFiles.SearchFilesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFilePassages = async (input: listFilePassages.ListFilePassagesInput): Promise<listFilePassages.ListFilePassagesResponse> => {\n    const { path, headers, query, body } = listFilePassages.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<listFilePassages.ListFilePassagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly setFilePassages = async (input: setFilePassages.SetFilePassagesInput): Promise<setFilePassages.SetFilePassagesResponse> => {\n    const { path, headers, query, body } = setFilePassages.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<setFilePassages.SetFilePassagesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFileTags = async (input: listFileTags.ListFileTagsInput): Promise<listFileTags.ListFileTagsResponse> => {\n    const { path, headers, query, body } = listFileTags.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<listFileTags.ListFileTagsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listFileTagValues = async (input: listFileTagValues.ListFileTagValuesInput): Promise<listFileTagValues.ListFileTagValuesResponse> => {\n    const { path, headers, query, body } = listFileTagValues.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<listFileTagValues.ListFileTagValuesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createKnowledgeBase = async (input: createKnowledgeBase.CreateKnowledgeBaseInput): Promise<createKnowledgeBase.CreateKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = createKnowledgeBase.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<createKnowledgeBase.CreateKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteKnowledgeBase = async (input: deleteKnowledgeBase.DeleteKnowledgeBaseInput): Promise<deleteKnowledgeBase.DeleteKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = deleteKnowledgeBase.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<deleteKnowledgeBase.DeleteKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateKnowledgeBase = async (input: updateKnowledgeBase.UpdateKnowledgeBaseInput): Promise<updateKnowledgeBase.UpdateKnowledgeBaseResponse> => {\n    const { path, headers, query, body } = updateKnowledgeBase.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<updateKnowledgeBase.UpdateKnowledgeBaseResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listKnowledgeBases = async (input: listKnowledgeBases.ListKnowledgeBasesInput): Promise<listKnowledgeBases.ListKnowledgeBasesResponse> => {\n    const { path, headers, query, body } = listKnowledgeBases.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<listKnowledgeBases.ListKnowledgeBasesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly listTables = async (input: listTables.ListTablesInput): Promise<listTables.ListTablesResponse> => {\n    const { path, headers, query, body } = listTables.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<listTables.ListTablesResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTable = async (input: getTable.GetTableInput): Promise<getTable.GetTableResponse> => {\n    const { path, headers, query, body } = getTable.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<getTable.GetTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getOrCreateTable = async (input: getOrCreateTable.GetOrCreateTableInput): Promise<getOrCreateTable.GetOrCreateTableResponse> => {\n    const { path, headers, query, body } = getOrCreateTable.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<getOrCreateTable.GetOrCreateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createTable = async (input: createTable.CreateTableInput): Promise<createTable.CreateTableResponse> => {\n    const { path, headers, query, body } = createTable.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<createTable.CreateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly duplicateTable = async (input: duplicateTable.DuplicateTableInput): Promise<duplicateTable.DuplicateTableResponse> => {\n    const { path, headers, query, body } = duplicateTable.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<duplicateTable.DuplicateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly exportTable = async (input: exportTable.ExportTableInput): Promise<exportTable.ExportTableResponse> => {\n    const { path, headers, query, body } = exportTable.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<exportTable.ExportTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTableJobs = async (input: getTableJobs.GetTableJobsInput): Promise<getTableJobs.GetTableJobsResponse> => {\n    const { path, headers, query, body } = getTableJobs.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<getTableJobs.GetTableJobsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly importTable = async (input: importTable.ImportTableInput): Promise<importTable.ImportTableResponse> => {\n    const { path, headers, query, body } = importTable.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<importTable.ImportTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateTable = async (input: updateTable.UpdateTableInput): Promise<updateTable.UpdateTableResponse> => {\n    const { path, headers, query, body } = updateTable.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<updateTable.UpdateTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly renameTableColumn = async (input: renameTableColumn.RenameTableColumnInput): Promise<renameTableColumn.RenameTableColumnResponse> => {\n    const { path, headers, query, body } = renameTableColumn.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<renameTableColumn.RenameTableColumnResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteTable = async (input: deleteTable.DeleteTableInput): Promise<deleteTable.DeleteTableResponse> => {\n    const { path, headers, query, body } = deleteTable.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<deleteTable.DeleteTableResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly getTableRow = async (input: getTableRow.GetTableRowInput): Promise<getTableRow.GetTableRowResponse> => {\n    const { path, headers, query, body } = getTableRow.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<getTableRow.GetTableRowResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly findTableRows = async (input: findTableRows.FindTableRowsInput): Promise<findTableRows.FindTableRowsResponse> => {\n    const { path, headers, query, body } = findTableRows.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<findTableRows.FindTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly createTableRows = async (input: createTableRows.CreateTableRowsInput): Promise<createTableRows.CreateTableRowsResponse> => {\n    const { path, headers, query, body } = createTableRows.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<createTableRows.CreateTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly deleteTableRows = async (input: deleteTableRows.DeleteTableRowsInput): Promise<deleteTableRows.DeleteTableRowsResponse> => {\n    const { path, headers, query, body } = deleteTableRows.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<deleteTableRows.DeleteTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly updateTableRows = async (input: updateTableRows.UpdateTableRowsInput): Promise<updateTableRows.UpdateTableRowsResponse> => {\n    const { path, headers, query, body } = updateTableRows.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<updateTableRows.UpdateTableRowsResponse>(axiosReq)\n      .then((res) => res.data)\n      .catch((e) => { throw mapErrorResponse(e) })\n  }\n\n  public readonly upsertTableRows = async (input: upsertTableRows.UpsertTableRowsInput): Promise<upsertTableRows.UpsertTableRowsResponse> => {\n    const { path, headers, query, body } = upsertTableRows.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<upsertTableRows.UpsertTableRowsResponse>(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 { 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 CreateConversationRequestHeaders {}\n\nexport interface CreateConversationRequestQuery {}\n\nexport interface CreateConversationRequestParams {}\n\nexport interface CreateConversationRequestBody {\n  /**\n   * Channel name\n   */\n  channel: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n   */\n  integrationName?: 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: `/v1/chat/conversations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'channel': input['channel'], 'tags': input['tags'], 'integrationName': input['integrationName'] },\n  }\n}\n\nexport interface CreateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetConversationRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListConversationsRequestHeaders {}\n\nexport interface ListConversationsRequestQuery {\n  nextToken?: string;\n  sortField?: \"createdAt\" | \"updatedAt\";\n  sortDirection?: \"asc\" | \"desc\";\n  tags?: {\n    [k: string]: string;\n  };\n  participantIds?: string[];\n  integrationName?: string;\n  channel?: string;\n  afterDate?: string;\n  beforeDate?: 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: `/v1/chat/conversations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'], 'tags': input['tags'], 'participantIds': input['participantIds'], 'integrationName': input['integrationName'], 'channel': input['channel'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'] },\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     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: 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 GetOrCreateConversationRequestHeaders {}\n\nexport interface GetOrCreateConversationRequestQuery {}\n\nexport interface GetOrCreateConversationRequestParams {}\n\nexport interface GetOrCreateConversationRequestBody {\n  /**\n   * Channel name\n   */\n  channel: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing conversations. If provided, all specified tags must match exactly for a conversation to be considered a match. For example, with an existing conversation whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateConversationInput = GetOrCreateConversationRequestBody & GetOrCreateConversationRequestHeaders & GetOrCreateConversationRequestQuery & GetOrCreateConversationRequestParams\n\nexport type GetOrCreateConversationRequest = {\n  headers: GetOrCreateConversationRequestHeaders;\n  query: GetOrCreateConversationRequestQuery;\n  params: GetOrCreateConversationRequestParams;\n  body: GetOrCreateConversationRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateConversationInput): GetOrCreateConversationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/conversations/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'channel': input['channel'], 'tags': input['tags'], 'integrationName': input['integrationName'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateConversationRequestHeaders {}\n\nexport interface UpdateConversationRequestQuery {}\n\nexport interface UpdateConversationRequestParams {\n  id: string;\n}\n\nexport interface UpdateConversationRequestBody {\n  /**\n   * @deprecated\n   * Unused. This parameter will be ignored if provided and should not be used when updating a conversation.\n   */\n  currentTaskId?: string;\n  /**\n   * Tags for the [Conversation](#schema_conversation)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport type UpdateConversationInput = UpdateConversationRequestBody & UpdateConversationRequestHeaders & UpdateConversationRequestQuery & UpdateConversationRequestParams\n\nexport type UpdateConversationRequest = {\n  headers: UpdateConversationRequestHeaders;\n  query: UpdateConversationRequestQuery;\n  params: UpdateConversationRequestParams;\n  body: UpdateConversationRequestBody;\n}\n\nexport const parseReq = (input: UpdateConversationInput): UpdateConversationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'currentTaskId': input['currentTaskId'], 'tags': input['tags'] },\n  }\n}\n\nexport interface UpdateConversationResponse {\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteConversationRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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 ListParticipantsRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListParticipantsResponse {\n  participants: {\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: 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\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants`,\n    headers: {  },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetParticipantRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: {  },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RemoveParticipantRequestHeaders {}\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: `/v1/chat/conversations/${encodeURIComponent(input['id'])}/participants/${encodeURIComponent(input['userId'])}`,\n    headers: {  },\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 CreateEventRequestHeaders {}\n\nexport interface CreateEventRequestQuery {}\n\nexport interface CreateEventRequestParams {}\n\nexport interface CreateEventRequestBody {\n  /**\n   * Type of the [Event](#schema_event).\n   */\n  type: string;\n  /**\n   * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our API.\n   */\n  payload: {\n    [k: string]: any;\n  };\n  /**\n   * Schedule the Event to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Event](#schema_event) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Event](#schema_event)\n     */\n    delay?: number;\n  };\n  /**\n   * ID of the [Conversation](#schema_conversation) to link the event to.\n   */\n  conversationId?: string;\n  /**\n   * ID of the [User](#schema_user) to link the event to.\n   */\n  userId?: string;\n  /**\n   * ID of the [Workflow](#schema_workflow) to link the event to.\n   */\n  workflowId?: string;\n  /**\n   * ID of the [Message](#schema_message) to link the event to.\n   */\n  messageId?: string;\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: `/v1/chat/events`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'type': input['type'], 'payload': input['payload'], 'schedule': input['schedule'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'workflowId': input['workflowId'], 'messageId': input['messageId'] },\n  }\n}\n\nexport interface CreateEventResponse {\n  /**\n   * The event object represents an action or an occurrence.\n   */\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetEventRequestHeaders {}\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: `/v1/chat/events/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetEventResponse {\n  /**\n   * The event object represents an action or an occurrence.\n   */\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListEventsRequestHeaders {}\n\nexport interface ListEventsRequestQuery {\n  nextToken?: string;\n  type?: string;\n  conversationId?: string;\n  userId?: string;\n  messageId?: string;\n  workflowId?: string;\n  status?: \"pending\" | \"ignored\" | \"processed\" | \"failed\" | \"scheduled\";\n}\n\nexport interface ListEventsRequestParams {}\n\nexport interface ListEventsRequestBody {}\n\nexport type ListEventsInput = ListEventsRequestBody & ListEventsRequestHeaders & ListEventsRequestQuery & ListEventsRequestParams\n\nexport type ListEventsRequest = {\n  headers: ListEventsRequestHeaders;\n  query: ListEventsRequestQuery;\n  params: ListEventsRequestParams;\n  body: ListEventsRequestBody;\n}\n\nexport const parseReq = (input: ListEventsInput): ListEventsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/events`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'type': input['type'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'messageId': input['messageId'], 'workflowId': input['workflowId'], 'status': input['status'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListEventsResponse {\n  events: {\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     * Type of the [Event](#schema_event).\n     */\n    type: string;\n    /**\n     * Payload is the content of the event defined by the integration installed on your bot or one of the default events created by our api.\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * ID of the [Conversation](#schema_conversation) to link the event to.\n     */\n    conversationId?: string;\n    /**\n     * ID of the [User](#schema_user) to link the event to.\n     */\n    userId?: string;\n    /**\n     * ID of the [Message](#schema_message) to link the event to.\n     */\n    messageId?: string;\n    status: \"pending\" | \"processed\" | \"ignored\" | \"failed\" | \"scheduled\" | \"canceled\";\n    /**\n     * Reason why the event failed to be processed\n     */\n    failureReason: string | null;\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 CancelScheduledEventRequestHeaders {}\n\nexport interface CancelScheduledEventRequestQuery {}\n\nexport interface CancelScheduledEventRequestParams {\n  id: string;\n}\n\nexport interface CancelScheduledEventRequestBody {}\n\nexport type CancelScheduledEventInput = CancelScheduledEventRequestBody & CancelScheduledEventRequestHeaders & CancelScheduledEventRequestQuery & CancelScheduledEventRequestParams\n\nexport type CancelScheduledEventRequest = {\n  headers: CancelScheduledEventRequestHeaders;\n  query: CancelScheduledEventRequestQuery;\n  params: CancelScheduledEventRequestParams;\n  body: CancelScheduledEventRequestBody;\n}\n\nexport const parseReq = (input: CancelScheduledEventInput): CancelScheduledEventRequest & { path: string } => {\n  return {\n    path: `/v1/chat/events/scheduled/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface CancelScheduledEventResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateMessageRequestHeaders {}\n\nexport interface CreateMessageRequestQuery {}\n\nexport interface CreateMessageRequestParams {}\n\nexport interface CreateMessageRequestBody {\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload: {\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   * Type of the [Message](#schema_message) represents the resource type that the message is related to\n   */\n  type: string;\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Schedule the Message to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Message](#schema_message) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Message](#schema_message)\n     */\n    delay?: number;\n  };\n  origin?: \"synthetic\";\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: `/v1/chat/messages`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'type': input['type'], 'tags': input['tags'], 'schedule': input['schedule'], 'origin': input['origin'] },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrCreateMessageRequestHeaders {}\n\nexport interface GetOrCreateMessageRequestQuery {}\n\nexport interface GetOrCreateMessageRequestParams {}\n\nexport interface GetOrCreateMessageRequestBody {\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload: {\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   * Type of the [Message](#schema_message) represents the resource type that the message is related to\n   */\n  type: string;\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Schedule the Message to be sent at a specific time. Either dateTime or delay must be provided.\n   */\n  schedule?: {\n    /**\n     * When the [Message](#schema_message) will be sent, in the ISO 8601 format\n     */\n    dateTime?: string;\n    /**\n     * Delay in milliseconds before sending the [Message](#schema_message)\n     */\n    delay?: number;\n  };\n  origin?: \"synthetic\";\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateMessageInput = GetOrCreateMessageRequestBody & GetOrCreateMessageRequestHeaders & GetOrCreateMessageRequestQuery & GetOrCreateMessageRequestParams\n\nexport type GetOrCreateMessageRequest = {\n  headers: GetOrCreateMessageRequestHeaders;\n  query: GetOrCreateMessageRequestQuery;\n  params: GetOrCreateMessageRequestParams;\n  body: GetOrCreateMessageRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateMessageInput): GetOrCreateMessageRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'payload': input['payload'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'type': input['type'], 'tags': input['tags'], 'schedule': input['schedule'], 'origin': input['origin'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateMessageResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetMessageRequestHeaders {}\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateMessageRequestHeaders {}\n\nexport interface UpdateMessageRequestQuery {}\n\nexport interface UpdateMessageRequestParams {\n  id: string;\n}\n\nexport interface UpdateMessageRequestBody {\n  /**\n   * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n   */\n  payload?: {\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'tags': input['tags'], 'payload': input['payload'] },\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListMessagesRequestHeaders {}\n\nexport interface ListMessagesRequestQuery {\n  nextToken?: string;\n  conversationId?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  afterDate?: string;\n  beforeDate?: string;\n}\n\nexport interface ListMessagesRequestParams {}\n\nexport interface ListMessagesRequestBody {}\n\nexport type ListMessagesInput = ListMessagesRequestBody & ListMessagesRequestHeaders & ListMessagesRequestQuery & ListMessagesRequestParams\n\nexport type ListMessagesRequest = {\n  headers: ListMessagesRequestHeaders;\n  query: ListMessagesRequestQuery;\n  params: ListMessagesRequestParams;\n  body: ListMessagesRequestBody;\n}\n\nexport const parseReq = (input: ListMessagesInput): ListMessagesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'conversationId': input['conversationId'], 'tags': input['tags'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListMessagesResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\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 DeleteMessageRequestHeaders {}\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: `/v1/chat/messages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\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 InitializeIncomingMessageRequestHeaders {}\n\nexport interface InitializeIncomingMessageRequestQuery {}\n\nexport interface InitializeIncomingMessageRequestParams {}\n\nexport interface InitializeIncomingMessageRequestBody {\n  userId?: string;\n  user?: {\n    /**\n     * Tags for the [User](#schema_user)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * @deprecated\n     * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n     */\n    integrationName?: string;\n    /**\n     * Name of the user\n     */\n    name?: string;\n    /**\n     * URI of the user picture\n     */\n    pictureUrl?: string;\n    /**\n     * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n  conversationId?: string;\n  conversation?: {\n    /**\n     * Channel name\n     */\n    channel: string;\n    /**\n     * Tags for the [Conversation](#schema_conversation)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * @deprecated\n     * [DEPRECATED] To create a conversation from within a bot, call an action of the integration instead.\n     */\n    integrationName?: string;\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n  message?: {\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    origin?: \"synthetic\";\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  };\n}\n\nexport type InitializeIncomingMessageInput = InitializeIncomingMessageRequestBody & InitializeIncomingMessageRequestHeaders & InitializeIncomingMessageRequestQuery & InitializeIncomingMessageRequestParams\n\nexport type InitializeIncomingMessageRequest = {\n  headers: InitializeIncomingMessageRequestHeaders;\n  query: InitializeIncomingMessageRequestQuery;\n  params: InitializeIncomingMessageRequestParams;\n  body: InitializeIncomingMessageRequestBody;\n}\n\nexport const parseReq = (input: InitializeIncomingMessageInput): InitializeIncomingMessageRequest & { path: string } => {\n  return {\n    path: `/v1/chat/initialize-incoming-message`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'userId': input['userId'], 'user': input['user'], 'conversationId': input['conversationId'], 'conversation': input['conversation'], 'message': input['message'] },\n  }\n}\n\nexport interface InitializeIncomingMessageResponse {\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n  /**\n   * The [Conversation](#schema_conversation) object represents an exchange of messages between one or more users. A [Conversation](#schema_conversation) is always linked to an integration's channels. For example, a Slack channel represents a conversation.\n   */\n  conversation: {\n    /**\n     * Id of the [Conversation](#schema_conversation)\n     */\n    id: string;\n    /**\n     * @deprecated\n     * Unused. This field will be removed in the future.\n     */\n    currentTaskId?: string;\n    /**\n     * Id of the current [Workflow](#schema_workflow)\n     */\n    currentWorkflowId?: 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     * Name of the channel where the [Conversation](#schema_conversation) is happening\n     */\n    channel: string;\n    /**\n     * Name of the integration that created the [Conversation](#schema_conversation)\n     */\n    integration: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ImportMessagesRequestHeaders {}\n\nexport interface ImportMessagesRequestQuery {}\n\nexport interface ImportMessagesRequestParams {}\n\nexport interface ImportMessagesRequestBody {\n  /**\n   * @maxItems 100\n   */\n  messages: {\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\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     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Message](#schema_message). The set of [Tags](/docs/developers/concepts/tags) available on a [Message](#schema_message) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Creation date of the [Message](#schema_message) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Optional list of tag names to use for strict matching when looking up existing messages. If provided, all specified tags must match exactly for a message to be considered a match. For example, with an existing message whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n     */\n    discriminateByTags: string[];\n  }[];\n}\n\nexport type ImportMessagesInput = ImportMessagesRequestBody & ImportMessagesRequestHeaders & ImportMessagesRequestQuery & ImportMessagesRequestParams\n\nexport type ImportMessagesRequest = {\n  headers: ImportMessagesRequestHeaders;\n  query: ImportMessagesRequestQuery;\n  params: ImportMessagesRequestParams;\n  body: ImportMessagesRequestBody;\n}\n\nexport const parseReq = (input: ImportMessagesInput): ImportMessagesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/messages/import-messages`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'messages': input['messages'] },\n  }\n}\n\nexport interface ImportMessagesResponse {\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     * Update date of the [Message](#schema_message) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Type of the [Message](#schema_message) represents the resource type that the message is related to\n     */\n    type: string;\n    /**\n     * Payload is the content type of the message. Accepted payload options: Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location\n     */\n    payload: {\n      [k: string]: any;\n    };\n    /**\n     * Direction of the message (`incoming` or `outgoing`).\n     */\n    direction: \"incoming\" | \"outgoing\";\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Conversation](#schema_conversation). The set of [Tags](/docs/developers/concepts/tags) available on a [Conversation](#schema_conversation) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Origin of the message (`synthetic`).\n     */\n    origin?: \"synthetic\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateUserRequestHeaders {}\n\nexport interface CreateUserRequestQuery {}\n\nexport interface CreateUserRequestParams {}\n\nexport interface CreateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Name of the user\n   */\n  name?: string;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n   */\n  attributes?: {\n    [k: string]: string;\n  };\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: `/v1/chat/users`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'tags': input['tags'], 'integrationName': input['integrationName'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], '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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUserRequestHeaders {}\n\nexport interface GetUserRequestQuery {}\n\nexport interface GetUserRequestParams {\n  id: string;\n}\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsersRequestHeaders {}\n\nexport interface ListUsersRequestQuery {\n  nextToken?: string;\n  conversationId?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  afterDate?: string;\n  beforeDate?: string;\n  rangeField?: \"updatedAt\" | \"createdAt\";\n  sortField?: \"updatedAt\" | \"createdAt\";\n  sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface ListUsersRequestParams {}\n\nexport interface ListUsersRequestBody {}\n\nexport type ListUsersInput = ListUsersRequestBody & ListUsersRequestHeaders & ListUsersRequestQuery & ListUsersRequestParams\n\nexport type ListUsersRequest = {\n  headers: ListUsersRequestHeaders;\n  query: ListUsersRequestQuery;\n  params: ListUsersRequestParams;\n  body: ListUsersRequestBody;\n}\n\nexport const parseReq = (input: ListUsersInput): ListUsersRequest & { path: string } => {\n  return {\n    path: `/v1/chat/users`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'conversationId': input['conversationId'], 'tags': input['tags'], 'afterDate': input['afterDate'], 'beforeDate': input['beforeDate'], 'rangeField': input['rangeField'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListUsersResponse {\n  users: {\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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: 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 GetOrCreateUserRequestHeaders {}\n\nexport interface GetOrCreateUserRequestQuery {}\n\nexport interface GetOrCreateUserRequestParams {}\n\nexport interface GetOrCreateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags: {\n    [k: string]: string;\n  };\n  /**\n   * @deprecated\n   * [DEPRECATED] To create a [User](#schema_user) from within a bot, call an action of the integration instead.\n   */\n  integrationName?: string;\n  /**\n   * Name of the user\n   */\n  name?: string;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations.\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing users. If provided, all specified tags must match exactly for a user to be considered a match. For example, with an existing user whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n}\n\nexport type GetOrCreateUserInput = GetOrCreateUserRequestBody & GetOrCreateUserRequestHeaders & GetOrCreateUserRequestQuery & GetOrCreateUserRequestParams\n\nexport type GetOrCreateUserRequest = {\n  headers: GetOrCreateUserRequestHeaders;\n  query: GetOrCreateUserRequestQuery;\n  params: GetOrCreateUserRequestParams;\n  body: GetOrCreateUserRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateUserInput): GetOrCreateUserRequest & { path: string } => {\n  return {\n    path: `/v1/chat/users/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'tags': input['tags'], 'integrationName': input['integrationName'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], 'attributes': input['attributes'], 'discriminateByTags': input['discriminateByTags'] },\n  }\n}\n\nexport interface GetOrCreateUserResponse {\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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateUserRequestHeaders {}\n\nexport interface UpdateUserRequestQuery {}\n\nexport interface UpdateUserRequestParams {\n  id: string;\n}\n\nexport interface UpdateUserRequestBody {\n  /**\n   * Tags for the [User](#schema_user)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Name of the user\n   */\n  name?: string | null;\n  /**\n   * URI of the user picture\n   */\n  pictureUrl?: string | null;\n  /**\n   * EXPERIMENTAL - Optional shared attributes that can be accessed and modified by both the bot and any of its integrations. Set individual attributes to null to remove them.\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'tags': input['tags'], 'name': input['name'], 'pictureUrl': input['pictureUrl'], '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     * 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     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [User](#schema_user). The set of [Tags](/docs/developers/concepts/tags) available on a [User](#schema_user) is restricted by the list of [Tags](/docs/developers/concepts/tags) defined previously by the [Bot](#schema_bot). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\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     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteUserRequestHeaders {}\n\nexport interface DeleteUserRequestQuery {}\n\nexport interface DeleteUserRequestParams {\n  id: string;\n}\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: `/v1/chat/users/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteUserResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetStateExpiryRequestHeaders {}\n\nexport interface SetStateExpiryRequestQuery {}\n\nexport interface SetStateExpiryRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface SetStateExpiryRequestBody {\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry: number | null;\n}\n\nexport type SetStateExpiryInput = SetStateExpiryRequestBody & SetStateExpiryRequestHeaders & SetStateExpiryRequestQuery & SetStateExpiryRequestParams\n\nexport type SetStateExpiryRequest = {\n  headers: SetStateExpiryRequestHeaders;\n  query: SetStateExpiryRequestQuery;\n  params: SetStateExpiryRequestParams;\n  body: SetStateExpiryRequestBody;\n}\n\nexport const parseReq = (input: SetStateExpiryInput): SetStateExpiryRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}/expiry`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'expiry': input['expiry'] },\n  }\n}\n\nexport interface SetStateExpiryResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetStateRequestHeaders {}\n\nexport interface GetStateRequestQuery {}\n\nexport interface GetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface GetStateRequestBody {}\n\nexport type GetStateInput = GetStateRequestBody & GetStateRequestHeaders & GetStateRequestQuery & GetStateRequestParams\n\nexport type GetStateRequest = {\n  headers: GetStateRequestHeaders;\n  query: GetStateRequestQuery;\n  params: GetStateRequestParams;\n  body: GetStateRequestBody;\n}\n\nexport const parseReq = (input: GetStateInput): GetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: {  },\n  }\n}\n\nexport interface GetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetStateRequestHeaders {}\n\nexport interface SetStateRequestQuery {}\n\nexport interface SetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface SetStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  } | null;\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry?: number | null;\n}\n\nexport type SetStateInput = SetStateRequestBody & SetStateRequestHeaders & SetStateRequestQuery & SetStateRequestParams\n\nexport type SetStateRequest = {\n  headers: SetStateRequestHeaders;\n  query: SetStateRequestQuery;\n  params: SetStateRequestParams;\n  body: SetStateRequestBody;\n}\n\nexport const parseReq = (input: SetStateInput): SetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'], 'expiry': input['expiry'] },\n  }\n}\n\nexport interface SetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrSetStateRequestHeaders {}\n\nexport interface GetOrSetStateRequestQuery {}\n\nexport interface GetOrSetStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface GetOrSetStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  };\n  /**\n   * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n   */\n  expiry?: number | null;\n}\n\nexport type GetOrSetStateInput = GetOrSetStateRequestBody & GetOrSetStateRequestHeaders & GetOrSetStateRequestQuery & GetOrSetStateRequestParams\n\nexport type GetOrSetStateRequest = {\n  headers: GetOrSetStateRequestHeaders;\n  query: GetOrSetStateRequestQuery;\n  params: GetOrSetStateRequestParams;\n  body: GetOrSetStateRequestBody;\n}\n\nexport const parseReq = (input: GetOrSetStateInput): GetOrSetStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}/get-or-set`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'], 'expiry': input['expiry'] },\n  }\n}\n\nexport interface GetOrSetStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface PatchStateRequestHeaders {}\n\nexport interface PatchStateRequestQuery {}\n\nexport interface PatchStateRequestParams {\n  type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n  id: string;\n  name: string;\n}\n\nexport interface PatchStateRequestBody {\n  /**\n   * Payload is the content of the state defined by your bot.\n   */\n  payload: {\n    [k: string]: any;\n  };\n}\n\nexport type PatchStateInput = PatchStateRequestBody & PatchStateRequestHeaders & PatchStateRequestQuery & PatchStateRequestParams\n\nexport type PatchStateRequest = {\n  headers: PatchStateRequestHeaders;\n  query: PatchStateRequestQuery;\n  params: PatchStateRequestParams;\n  body: PatchStateRequestBody;\n}\n\nexport const parseReq = (input: PatchStateInput): PatchStateRequest & { path: string } => {\n  return {\n    path: `/v1/chat/states/${encodeURIComponent(input['type'])}/${encodeURIComponent(input['id'])}/${encodeURIComponent(input['name'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'type': input['type'], 'id': input['id'], 'name': input['name'] },\n    body: { 'payload': input['payload'] },\n  }\n}\n\nexport interface PatchStateResponse {\n  /**\n   * The state object represents the current payload. A state is always linked to either a bot, a conversation or a user.\n   */\n  state: {\n    /**\n     * Id of the [State](#schema_state)\n     */\n    id: string;\n    /**\n     * Creation date of the [State](#schema_state) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [State](#schema_state) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    botId: string;\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     * Name of the [State](#schema_state) which is declared inside the bot definition\n     */\n    name: string;\n    /**\n     * Type of the [State](#schema_state) represents the resource type (`conversation`, `user`, `bot`, `integration` or `workflow`) that the state is related to\n     */\n    type: \"conversation\" | \"user\" | \"bot\" | \"integration\" | \"workflow\";\n    /**\n     * Payload is the content of the state defined by your bot.\n     */\n    payload: {\n      [k: string]: any;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CallActionRequestHeaders {}\n\nexport interface CallActionRequestQuery {}\n\nexport interface CallActionRequestParams {}\n\nexport interface CallActionRequestBody {\n  /**\n   * Type of the action\n   */\n  type: string;\n  /**\n   * Input of the action\n   */\n  input: {\n    [k: string]: any;\n  };\n}\n\nexport type CallActionInput = CallActionRequestBody & CallActionRequestHeaders & CallActionRequestQuery & CallActionRequestParams\n\nexport type CallActionRequest = {\n  headers: CallActionRequestHeaders;\n  query: CallActionRequestQuery;\n  params: CallActionRequestParams;\n  body: CallActionRequestBody;\n}\n\nexport const parseReq = (input: CallActionInput): CallActionRequest & { path: string } => {\n  return {\n    path: `/v1/chat/actions`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'type': input['type'], 'input': input['input'] },\n  }\n}\n\nexport interface CallActionResponse {\n  /**\n   * Input of the action\n   */\n  output: {\n    [k: string]: any;\n  };\n  meta: {\n    cached: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ConfigureIntegrationRequestHeaders {}\n\nexport interface ConfigureIntegrationRequestQuery {}\n\nexport interface ConfigureIntegrationRequestParams {}\n\nexport interface ConfigureIntegrationRequestBody {\n  /**\n   * Unique identifier of the integration that was installed on the bot\n   */\n  identifier?: string | null;\n  /**\n   * Recurring schedule on which `register()` will be called on the integration\n   */\n  scheduleRegisterCall?:\n    | \"hourly\"\n    | \"daily\"\n    | \"weekly\"\n    | \"bi-weekly\"\n    | \"monthly\"\n    | \"bi-monthly\"\n    | \"quarterly\"\n    | \"yearly\";\n  /**\n   * **EXPERIMENTAL** Sandbox identifiers for the integration. Setting this to null will remove all sandbox identifiers.           This is an experimental feature meant to be used by specific integrations.\n   */\n  sandboxIdentifiers?: {} | null;\n}\n\nexport type ConfigureIntegrationInput = ConfigureIntegrationRequestBody & ConfigureIntegrationRequestHeaders & ConfigureIntegrationRequestQuery & ConfigureIntegrationRequestParams\n\nexport type ConfigureIntegrationRequest = {\n  headers: ConfigureIntegrationRequestHeaders;\n  query: ConfigureIntegrationRequestQuery;\n  params: ConfigureIntegrationRequestParams;\n  body: ConfigureIntegrationRequestBody;\n}\n\nexport const parseReq = (input: ConfigureIntegrationInput): ConfigureIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/integrations/configure`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'identifier': input['identifier'], 'scheduleRegisterCall': input['scheduleRegisterCall'], 'sandboxIdentifiers': input['sandboxIdentifiers'] },\n  }\n}\n\nexport interface ConfigureIntegrationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkflowRequestHeaders {}\n\nexport interface CreateWorkflowRequestQuery {}\n\nexport interface CreateWorkflowRequestParams {}\n\nexport interface CreateWorkflowRequestBody {\n  /**\n   * Name of the workflow\n   */\n  name: string;\n  /**\n   * Content related to the workflow\n   */\n  input?: {\n    [k: string]: any;\n  };\n  /**\n   * Parent workflow id is the parent workflow that created this workflow\n   */\n  parentWorkflowId?: string;\n  /**\n   * Conversation id related to this workflow\n   */\n  conversationId?: string;\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  status: \"pending\" | \"in_progress\" | \"listening\";\n  /**\n   * Event id must be specified if the workflow is created with the status in_progress\n   */\n  eventId?: string;\n}\n\nexport type CreateWorkflowInput = CreateWorkflowRequestBody & CreateWorkflowRequestHeaders & CreateWorkflowRequestQuery & CreateWorkflowRequestParams\n\nexport type CreateWorkflowRequest = {\n  headers: CreateWorkflowRequestHeaders;\n  query: CreateWorkflowRequestQuery;\n  params: CreateWorkflowRequestParams;\n  body: CreateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkflowInput): CreateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'input': input['input'], 'parentWorkflowId': input['parentWorkflowId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'], 'status': input['status'], 'eventId': input['eventId'] },\n  }\n}\n\nexport interface CreateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkflowRequestHeaders {}\n\nexport interface GetWorkflowRequestQuery {}\n\nexport interface GetWorkflowRequestParams {\n  id: string;\n}\n\nexport interface GetWorkflowRequestBody {}\n\nexport type GetWorkflowInput = GetWorkflowRequestBody & GetWorkflowRequestHeaders & GetWorkflowRequestQuery & GetWorkflowRequestParams\n\nexport type GetWorkflowRequest = {\n  headers: GetWorkflowRequestHeaders;\n  query: GetWorkflowRequestQuery;\n  params: GetWorkflowRequestParams;\n  body: GetWorkflowRequestBody;\n}\n\nexport const parseReq = (input: GetWorkflowInput): GetWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkflowRequestHeaders {}\n\nexport interface UpdateWorkflowRequestQuery {}\n\nexport interface UpdateWorkflowRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkflowRequestBody {\n  /**\n   * Content related to the workflow\n   */\n  output?: {\n    [k: string]: any;\n  };\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Status of the workflow\n   */\n  status?: \"completed\" | \"cancelled\" | \"listening\" | \"paused\" | \"failed\" | \"in_progress\";\n  /**\n   * Reason why the workflow failed\n   */\n  failureReason?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * Event id must be specified if the workflow is updated with the status in_progress\n   */\n  eventId?: string;\n}\n\nexport type UpdateWorkflowInput = UpdateWorkflowRequestBody & UpdateWorkflowRequestHeaders & UpdateWorkflowRequestQuery & UpdateWorkflowRequestParams\n\nexport type UpdateWorkflowRequest = {\n  headers: UpdateWorkflowRequestHeaders;\n  query: UpdateWorkflowRequestQuery;\n  params: UpdateWorkflowRequestParams;\n  body: UpdateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkflowInput): UpdateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'output': input['output'], 'timeoutAt': input['timeoutAt'], 'status': input['status'], 'failureReason': input['failureReason'], 'tags': input['tags'], 'userId': input['userId'], 'eventId': input['eventId'] },\n  }\n}\n\nexport interface UpdateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkflowRequestHeaders {}\n\nexport interface DeleteWorkflowRequestQuery {}\n\nexport interface DeleteWorkflowRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkflowRequestBody {}\n\nexport type DeleteWorkflowInput = DeleteWorkflowRequestBody & DeleteWorkflowRequestHeaders & DeleteWorkflowRequestQuery & DeleteWorkflowRequestParams\n\nexport type DeleteWorkflowRequest = {\n  headers: DeleteWorkflowRequestHeaders;\n  query: DeleteWorkflowRequestQuery;\n  params: DeleteWorkflowRequestParams;\n  body: DeleteWorkflowRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkflowInput): DeleteWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkflowResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkflowsRequestHeaders {}\n\nexport interface ListWorkflowsRequestQuery {\n  nextToken?: string;\n  tags?: {\n    [k: string]: string;\n  };\n  conversationId?: string;\n  userId?: string;\n  parentWorkflowId?: string;\n  statuses?: (\"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\")[];\n  name?: string;\n}\n\nexport interface ListWorkflowsRequestParams {}\n\nexport interface ListWorkflowsRequestBody {}\n\nexport type ListWorkflowsInput = ListWorkflowsRequestBody & ListWorkflowsRequestHeaders & ListWorkflowsRequestQuery & ListWorkflowsRequestParams\n\nexport type ListWorkflowsRequest = {\n  headers: ListWorkflowsRequestHeaders;\n  query: ListWorkflowsRequestQuery;\n  params: ListWorkflowsRequestParams;\n  body: ListWorkflowsRequestBody;\n}\n\nexport const parseReq = (input: ListWorkflowsInput): ListWorkflowsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'tags': input['tags'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'parentWorkflowId': input['parentWorkflowId'], 'statuses': input['statuses'], 'name': input['name'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkflowsResponse {\n  workflows: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: 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 GetOrCreateWorkflowRequestHeaders {}\n\nexport interface GetOrCreateWorkflowRequestQuery {}\n\nexport interface GetOrCreateWorkflowRequestParams {}\n\nexport interface GetOrCreateWorkflowRequestBody {\n  /**\n   * Name of the workflow\n   */\n  name: string;\n  /**\n   * Content related to the workflow\n   */\n  input?: {\n    [k: string]: any;\n  };\n  /**\n   * Parent workflow id is the parent workflow that created this workflow\n   */\n  parentWorkflowId?: string;\n  /**\n   * Conversation id related to this workflow\n   */\n  conversationId?: string;\n  /**\n   * Specific user related to this workflow\n   */\n  userId?: string;\n  /**\n   * The timeout date where the workflow should be failed in the ISO 8601 format\n   */\n  timeoutAt?: string;\n  /**\n   * Tags for the [Workflow](#schema_workflow)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  status: \"pending\" | \"in_progress\" | \"listening\";\n  /**\n   * Event id must be specified if the workflow is created with the status in_progress\n   */\n  eventId?: string;\n  /**\n   * Optional list of tag names to use for strict matching when looking up existing workflows. If provided, all specified tags must match exactly for a workflow to be considered a match. For example, with an existing workflow whose tags are {\"foo\": \"a\", \"bar\": \"b\", baz: \"c\"}: Without this parameter, ALL tags must match exactly. With [\"bar\",\"baz\"], all listed tags must match their values, and other tags are not considered.\n   */\n  discriminateByTags?: string[];\n  /**\n   * When provided, will only match workflows whose status corresponds to the status group.\n   */\n  discriminateByStatusGroup?: \"active\" | \"finished\";\n}\n\nexport type GetOrCreateWorkflowInput = GetOrCreateWorkflowRequestBody & GetOrCreateWorkflowRequestHeaders & GetOrCreateWorkflowRequestQuery & GetOrCreateWorkflowRequestParams\n\nexport type GetOrCreateWorkflowRequest = {\n  headers: GetOrCreateWorkflowRequestHeaders;\n  query: GetOrCreateWorkflowRequestQuery;\n  params: GetOrCreateWorkflowRequestParams;\n  body: GetOrCreateWorkflowRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateWorkflowInput): GetOrCreateWorkflowRequest & { path: string } => {\n  return {\n    path: `/v1/chat/workflows/get-or-create`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'input': input['input'], 'parentWorkflowId': input['parentWorkflowId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'], 'status': input['status'], 'eventId': input['eventId'], 'discriminateByTags': input['discriminateByTags'], 'discriminateByStatusGroup': input['discriminateByStatusGroup'] },\n  }\n}\n\nexport interface GetOrCreateWorkflowResponse {\n  /**\n   * Workflow definition\n   */\n  workflow: {\n    /**\n     * Id of the [Workflow](#schema_workflow)\n     */\n    id: string;\n    /**\n     * Name of the workflow\n     */\n    name: string;\n    /**\n     * Status of the [Workflow](#schema_workflow)\n     */\n    status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"listening\" | \"paused\" | \"timedout\" | \"cancelled\";\n    /**\n     * Input provided to the [Workflow](#schema_workflow)\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Data returned by the [Workflow](#schema_workflow) output\n     */\n    output: {\n      [k: string]: any;\n    };\n    /**\n     * Parent [Workflow](#schema_workflow) id is the parent [Workflow](#schema_workflow) that created this [Workflow](#schema_workflow)\n     */\n    parentWorkflowId?: string;\n    /**\n     * Conversation id related to this [Workflow](#schema_workflow)\n     */\n    conversationId?: string;\n    /**\n     * User id related to this [Workflow](#schema_workflow)\n     */\n    userId?: string;\n    /**\n     * Creation date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Workflow](#schema_workflow) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * The date when the [Workflow](#schema_workflow) completed in ISO 8601 format\n     */\n    completedAt?: string;\n    /**\n     * If the [Workflow](#schema_workflow) fails this is the reason behind it\n     */\n    failureReason?: string;\n    /**\n     * The timeout date when the [Workflow](#schema_workflow) will fail in the ISO 8601 format\n     */\n    timeoutAt: string;\n    /**\n     * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Workflow](#schema_workflow). Individual keys can be unset by posting an empty value to them.\n     */\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListTagValuesRequestHeaders {}\n\nexport interface ListTagValuesRequestQuery {\n  nextToken?: string;\n  type: \"user\" | \"conversation\" | \"message\";\n}\n\nexport interface ListTagValuesRequestParams {\n  key: string;\n}\n\nexport interface ListTagValuesRequestBody {}\n\nexport type ListTagValuesInput = ListTagValuesRequestBody & ListTagValuesRequestHeaders & ListTagValuesRequestQuery & ListTagValuesRequestParams\n\nexport type ListTagValuesRequest = {\n  headers: ListTagValuesRequestHeaders;\n  query: ListTagValuesRequestQuery;\n  params: ListTagValuesRequestParams;\n  body: ListTagValuesRequestBody;\n}\n\nexport const parseReq = (input: ListTagValuesInput): ListTagValuesRequest & { path: string } => {\n  return {\n    path: `/v1/chat/tags/${encodeURIComponent(input['key'])}/values`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'type': input['type'] },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface ListTagValuesResponse {\n  tags: {\n    value: 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 TrackAnalyticsRequestHeaders {}\n\nexport interface TrackAnalyticsRequestQuery {}\n\nexport interface TrackAnalyticsRequestParams {}\n\nexport interface TrackAnalyticsRequestBody {\n  name: string;\n  count: number;\n}\n\nexport type TrackAnalyticsInput = TrackAnalyticsRequestBody & TrackAnalyticsRequestHeaders & TrackAnalyticsRequestQuery & TrackAnalyticsRequestParams\n\nexport type TrackAnalyticsRequest = {\n  headers: TrackAnalyticsRequestHeaders;\n  query: TrackAnalyticsRequestQuery;\n  params: TrackAnalyticsRequestParams;\n  body: TrackAnalyticsRequestBody;\n}\n\nexport const parseReq = (input: TrackAnalyticsInput): TrackAnalyticsRequest & { path: string } => {\n  return {\n    path: `/v1/chat/analytics`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'count': input['count'] },\n  }\n}\n\nexport interface TrackAnalyticsResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CaptureObservationRequestHeaders {}\n\nexport interface CaptureObservationRequestQuery {}\n\nexport interface CaptureObservationRequestParams {}\n\nexport interface CaptureObservationRequestBody {\n  /**\n   * Caller-defined identifier for the observation (e.g. llmz context ID). Uniqueness is not enforced nor guaranteed.\n   */\n  id?: string;\n  /**\n   * Name of the observation\n   */\n  name: string;\n  /**\n   * Data of the observation\n   */\n  data: {\n    [k: string]: any;\n  };\n  /**\n   * ID of the message associated with the observation\n   */\n  messageId?: string;\n  /**\n   * ID of the event associated with the observation\n   */\n  eventId?: string;\n  /**\n   * ID of the conversation associated with the observation\n   */\n  conversationId?: string;\n  /**\n   * ID of the user associated with the observation\n   */\n  userId?: string;\n  /**\n   * ID of the error associated with the observation\n   */\n  errorId?: string;\n  /**\n   * ID of the trace associated with the observation\n   */\n  traceId?: string;\n}\n\nexport type CaptureObservationInput = CaptureObservationRequestBody & CaptureObservationRequestHeaders & CaptureObservationRequestQuery & CaptureObservationRequestParams\n\nexport type CaptureObservationRequest = {\n  headers: CaptureObservationRequestHeaders;\n  query: CaptureObservationRequestQuery;\n  params: CaptureObservationRequestParams;\n  body: CaptureObservationRequestBody;\n}\n\nexport const parseReq = (input: CaptureObservationInput): CaptureObservationRequest & { path: string } => {\n  return {\n    path: `/v1/chat/observations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'id': input['id'], 'name': input['name'], 'data': input['data'], 'messageId': input['messageId'], 'eventId': input['eventId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'errorId': input['errorId'], 'traceId': input['traceId'] },\n  }\n}\n\nexport interface CaptureObservationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RunVrlRequestHeaders {}\n\nexport interface RunVrlRequestQuery {}\n\nexport interface RunVrlRequestParams {}\n\nexport interface RunVrlRequestBody {\n  data: {\n    [k: string]: any;\n  };\n  script: string;\n}\n\nexport type RunVrlInput = RunVrlRequestBody & RunVrlRequestHeaders & RunVrlRequestQuery & RunVrlRequestParams\n\nexport type RunVrlRequest = {\n  headers: RunVrlRequestHeaders;\n  query: RunVrlRequestQuery;\n  params: RunVrlRequestParams;\n  body: RunVrlRequestBody;\n}\n\nexport const parseReq = (input: RunVrlInput): RunVrlRequest & { path: string } => {\n  return {\n    path: `/v1/admin/helper/vrl`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'data': input['data'], 'script': input['script'] },\n  }\n}\n\nexport interface RunVrlResponse {\n  data: {\n    [k: string]: any;\n  };\n  result?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAccountRequestHeaders {}\n\nexport interface GetAccountRequestQuery {}\n\nexport interface GetAccountRequestParams {}\n\nexport interface GetAccountRequestBody {}\n\nexport type GetAccountInput = GetAccountRequestBody & GetAccountRequestHeaders & GetAccountRequestQuery & GetAccountRequestParams\n\nexport type GetAccountRequest = {\n  headers: GetAccountRequestHeaders;\n  query: GetAccountRequestQuery;\n  params: GetAccountRequestParams;\n  body: GetAccountRequestBody;\n}\n\nexport const parseReq = (_: GetAccountInput): GetAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetAccountResponse {\n  account: {\n    id: string;\n    email: string;\n    displayName?: string;\n    emailVerified: boolean;\n    profilePicture?: string;\n    /**\n     * Creation date of the [Account](#schema_account) in ISO 8601 format\n     */\n    createdAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateAccountRequestHeaders {}\n\nexport interface UpdateAccountRequestQuery {}\n\nexport interface UpdateAccountRequestParams {}\n\nexport interface UpdateAccountRequestBody {\n  displayName?: string;\n  profilePicture?: string;\n  refresh?: boolean;\n}\n\nexport type UpdateAccountInput = UpdateAccountRequestBody & UpdateAccountRequestHeaders & UpdateAccountRequestQuery & UpdateAccountRequestParams\n\nexport type UpdateAccountRequest = {\n  headers: UpdateAccountRequestHeaders;\n  query: UpdateAccountRequestQuery;\n  params: UpdateAccountRequestParams;\n  body: UpdateAccountRequestBody;\n}\n\nexport const parseReq = (input: UpdateAccountInput): UpdateAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'displayName': input['displayName'], 'profilePicture': input['profilePicture'], 'refresh': input['refresh'] },\n  }\n}\n\nexport interface UpdateAccountResponse {\n  account: {\n    id: string;\n    email: string;\n    displayName?: string;\n    emailVerified: boolean;\n    profilePicture?: string;\n    /**\n     * Creation date of the [Account](#schema_account) in ISO 8601 format\n     */\n    createdAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteAccountRequestHeaders {}\n\nexport interface DeleteAccountRequestQuery {}\n\nexport interface DeleteAccountRequestParams {}\n\nexport interface DeleteAccountRequestBody {}\n\nexport type DeleteAccountInput = DeleteAccountRequestBody & DeleteAccountRequestHeaders & DeleteAccountRequestQuery & DeleteAccountRequestParams\n\nexport type DeleteAccountRequest = {\n  headers: DeleteAccountRequestHeaders;\n  query: DeleteAccountRequestQuery;\n  params: DeleteAccountRequestParams;\n  body: DeleteAccountRequestBody;\n}\n\nexport const parseReq = (_: DeleteAccountInput): DeleteAccountRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface DeleteAccountResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPersonalAccessTokensRequestHeaders {}\n\nexport interface ListPersonalAccessTokensRequestQuery {}\n\nexport interface ListPersonalAccessTokensRequestParams {}\n\nexport interface ListPersonalAccessTokensRequestBody {}\n\nexport type ListPersonalAccessTokensInput = ListPersonalAccessTokensRequestBody & ListPersonalAccessTokensRequestHeaders & ListPersonalAccessTokensRequestQuery & ListPersonalAccessTokensRequestParams\n\nexport type ListPersonalAccessTokensRequest = {\n  headers: ListPersonalAccessTokensRequestHeaders;\n  query: ListPersonalAccessTokensRequestQuery;\n  params: ListPersonalAccessTokensRequestParams;\n  body: ListPersonalAccessTokensRequestBody;\n}\n\nexport const parseReq = (_: ListPersonalAccessTokensInput): ListPersonalAccessTokensRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPersonalAccessTokensResponse {\n  pats: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreatePersonalAccessTokenRequestHeaders {}\n\nexport interface CreatePersonalAccessTokenRequestQuery {}\n\nexport interface CreatePersonalAccessTokenRequestParams {}\n\nexport interface CreatePersonalAccessTokenRequestBody {\n  /**\n   * Note to identify the PAT\n   */\n  note: string;\n}\n\nexport type CreatePersonalAccessTokenInput = CreatePersonalAccessTokenRequestBody & CreatePersonalAccessTokenRequestHeaders & CreatePersonalAccessTokenRequestQuery & CreatePersonalAccessTokenRequestParams\n\nexport type CreatePersonalAccessTokenRequest = {\n  headers: CreatePersonalAccessTokenRequestHeaders;\n  query: CreatePersonalAccessTokenRequestQuery;\n  params: CreatePersonalAccessTokenRequestParams;\n  body: CreatePersonalAccessTokenRequestBody;\n}\n\nexport const parseReq = (input: CreatePersonalAccessTokenInput): CreatePersonalAccessTokenRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'note': input['note'] },\n  }\n}\n\nexport interface CreatePersonalAccessTokenResponse {\n  pat: {\n    id: string;\n    createdAt: string;\n    note: string;\n    /**\n     * The PAT value. This will only be returned here when created and cannot be retrieved later.\n     */\n    value: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeletePersonalAccessTokenRequestHeaders {}\n\nexport interface DeletePersonalAccessTokenRequestQuery {}\n\nexport interface DeletePersonalAccessTokenRequestParams {\n  id: string;\n}\n\nexport interface DeletePersonalAccessTokenRequestBody {}\n\nexport type DeletePersonalAccessTokenInput = DeletePersonalAccessTokenRequestBody & DeletePersonalAccessTokenRequestHeaders & DeletePersonalAccessTokenRequestQuery & DeletePersonalAccessTokenRequestParams\n\nexport type DeletePersonalAccessTokenRequest = {\n  headers: DeletePersonalAccessTokenRequestHeaders;\n  query: DeletePersonalAccessTokenRequestQuery;\n  params: DeletePersonalAccessTokenRequestParams;\n  body: DeletePersonalAccessTokenRequestBody;\n}\n\nexport const parseReq = (input: DeletePersonalAccessTokenInput): DeletePersonalAccessTokenRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/pats/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeletePersonalAccessTokenResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SetAccountPreferenceRequestHeaders {}\n\nexport interface SetAccountPreferenceRequestQuery {}\n\nexport interface SetAccountPreferenceRequestParams {\n  key: string;\n}\n\nexport interface SetAccountPreferenceRequestBody {\n  value?: any;\n}\n\nexport type SetAccountPreferenceInput = SetAccountPreferenceRequestBody & SetAccountPreferenceRequestHeaders & SetAccountPreferenceRequestQuery & SetAccountPreferenceRequestParams\n\nexport type SetAccountPreferenceRequest = {\n  headers: SetAccountPreferenceRequestHeaders;\n  query: SetAccountPreferenceRequestQuery;\n  params: SetAccountPreferenceRequestParams;\n  body: SetAccountPreferenceRequestBody;\n}\n\nexport const parseReq = (input: SetAccountPreferenceInput): SetAccountPreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: { 'value': input['value'] },\n  }\n}\n\nexport interface SetAccountPreferenceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAccountPreferenceRequestHeaders {}\n\nexport interface GetAccountPreferenceRequestQuery {}\n\nexport interface GetAccountPreferenceRequestParams {\n  key: string;\n}\n\nexport interface GetAccountPreferenceRequestBody {}\n\nexport type GetAccountPreferenceInput = GetAccountPreferenceRequestBody & GetAccountPreferenceRequestHeaders & GetAccountPreferenceRequestQuery & GetAccountPreferenceRequestParams\n\nexport type GetAccountPreferenceRequest = {\n  headers: GetAccountPreferenceRequestHeaders;\n  query: GetAccountPreferenceRequestQuery;\n  params: GetAccountPreferenceRequestParams;\n  body: GetAccountPreferenceRequestBody;\n}\n\nexport const parseReq = (input: GetAccountPreferenceInput): GetAccountPreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/account/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface GetAccountPreferenceResponse {\n  value?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicIntegrationsRequestHeaders {}\n\nexport interface ListPublicIntegrationsRequestQuery {\n  nextToken?: string;\n  limit?: number;\n  name?: string;\n  version?: string;\n  interfaceId?: string;\n  interfaceName?: string;\n  installedByBotId?: string;\n  verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n  search?: string;\n  sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n  direction?: \"asc\" | \"desc\";\n}\n\nexport interface ListPublicIntegrationsRequestParams {}\n\nexport interface ListPublicIntegrationsRequestBody {}\n\nexport type ListPublicIntegrationsInput = ListPublicIntegrationsRequestBody & ListPublicIntegrationsRequestHeaders & ListPublicIntegrationsRequestQuery & ListPublicIntegrationsRequestParams\n\nexport type ListPublicIntegrationsRequest = {\n  headers: ListPublicIntegrationsRequestHeaders;\n  query: ListPublicIntegrationsRequestQuery;\n  params: ListPublicIntegrationsRequestParams;\n  body: ListPublicIntegrationsRequestBody;\n}\n\nexport const parseReq = (input: ListPublicIntegrationsInput): ListPublicIntegrationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'], 'name': input['name'], 'version': input['version'], 'interfaceId': input['interfaceId'], 'interfaceName': input['interfaceName'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicIntegrationsResponse {\n  integrations: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n    /**\n     * Metadata about which fields matched the search criteria\n     */\n    matchedOn?: {\n      /**\n       * Whether the integration name matched the search term\n       */\n      name?: boolean;\n      /**\n       * Whether the integration title matched the search term\n       */\n      title?: boolean;\n      /**\n       * Whether the integration description matched the search term\n       */\n      description?: boolean;\n      /**\n       * Action names that matched the search term\n       */\n      actions?: string[];\n      /**\n       * Interface names that matched the search term\n       */\n      interfaces?: string[];\n    };\n    /**\n     * Optional key-value attributes from the integration definition\n     */\n    attributes?: {\n      [k: string]: 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 GetPublicIntegrationByIdRequestHeaders {}\n\nexport interface GetPublicIntegrationByIdRequestQuery {}\n\nexport interface GetPublicIntegrationByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicIntegrationByIdRequestBody {}\n\nexport type GetPublicIntegrationByIdInput = GetPublicIntegrationByIdRequestBody & GetPublicIntegrationByIdRequestHeaders & GetPublicIntegrationByIdRequestQuery & GetPublicIntegrationByIdRequestParams\n\nexport type GetPublicIntegrationByIdRequest = {\n  headers: GetPublicIntegrationByIdRequestHeaders;\n  query: GetPublicIntegrationByIdRequestQuery;\n  params: GetPublicIntegrationByIdRequestParams;\n  body: GetPublicIntegrationByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicIntegrationByIdInput): GetPublicIntegrationByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicIntegrationByIdResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicIntegrationRequestHeaders {}\n\nexport interface GetPublicIntegrationRequestQuery {}\n\nexport interface GetPublicIntegrationRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicIntegrationRequestBody {}\n\nexport type GetPublicIntegrationInput = GetPublicIntegrationRequestBody & GetPublicIntegrationRequestHeaders & GetPublicIntegrationRequestQuery & GetPublicIntegrationRequestParams\n\nexport type GetPublicIntegrationRequest = {\n  headers: GetPublicIntegrationRequestHeaders;\n  query: GetPublicIntegrationRequestQuery;\n  params: GetPublicIntegrationRequestParams;\n  body: GetPublicIntegrationRequestBody;\n}\n\nexport const parseReq = (input: GetPublicIntegrationInput): GetPublicIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/integrations/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n    ownerWorkspace: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    meta: {\n      installs: number;\n      views: number;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicPluginsRequestHeaders {}\n\nexport interface ListPublicPluginsRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPublicPluginsRequestParams {}\n\nexport interface ListPublicPluginsRequestBody {}\n\nexport type ListPublicPluginsInput = ListPublicPluginsRequestBody & ListPublicPluginsRequestHeaders & ListPublicPluginsRequestQuery & ListPublicPluginsRequestParams\n\nexport type ListPublicPluginsRequest = {\n  headers: ListPublicPluginsRequestHeaders;\n  query: ListPublicPluginsRequestQuery;\n  params: ListPublicPluginsRequestParams;\n  body: ListPublicPluginsRequestBody;\n}\n\nexport const parseReq = (input: ListPublicPluginsInput): ListPublicPluginsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicPluginsResponse {\n  plugins: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\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 GetPublicPluginByIdRequestHeaders {}\n\nexport interface GetPublicPluginByIdRequestQuery {}\n\nexport interface GetPublicPluginByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicPluginByIdRequestBody {}\n\nexport type GetPublicPluginByIdInput = GetPublicPluginByIdRequestBody & GetPublicPluginByIdRequestHeaders & GetPublicPluginByIdRequestQuery & GetPublicPluginByIdRequestParams\n\nexport type GetPublicPluginByIdRequest = {\n  headers: GetPublicPluginByIdRequestHeaders;\n  query: GetPublicPluginByIdRequestQuery;\n  params: GetPublicPluginByIdRequestParams;\n  body: GetPublicPluginByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginByIdInput): GetPublicPluginByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginByIdResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetDereferencedPublicPluginByIdRequestHeaders {}\n\nexport interface GetDereferencedPublicPluginByIdRequestQuery {\n  /**\n   * Mapping of interface aliases to integration IDs\n   */\n  interfaces: {\n    /**\n     * integration id\n     */\n    [k: string]: string;\n  };\n}\n\nexport interface GetDereferencedPublicPluginByIdRequestParams {\n  id: string;\n}\n\nexport interface GetDereferencedPublicPluginByIdRequestBody {}\n\nexport type GetDereferencedPublicPluginByIdInput = GetDereferencedPublicPluginByIdRequestBody & GetDereferencedPublicPluginByIdRequestHeaders & GetDereferencedPublicPluginByIdRequestQuery & GetDereferencedPublicPluginByIdRequestParams\n\nexport type GetDereferencedPublicPluginByIdRequest = {\n  headers: GetDereferencedPublicPluginByIdRequestHeaders;\n  query: GetDereferencedPublicPluginByIdRequestQuery;\n  params: GetDereferencedPublicPluginByIdRequestParams;\n  body: GetDereferencedPublicPluginByIdRequestBody;\n}\n\nexport const parseReq = (input: GetDereferencedPublicPluginByIdInput): GetDereferencedPublicPluginByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}/dereferenced`,\n    headers: {  },\n    query: { 'interfaces': input['interfaces'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetDereferencedPublicPluginByIdResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicPluginRequestHeaders {}\n\nexport interface GetPublicPluginRequestQuery {}\n\nexport interface GetPublicPluginRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicPluginRequestBody {}\n\nexport type GetPublicPluginInput = GetPublicPluginRequestBody & GetPublicPluginRequestHeaders & GetPublicPluginRequestQuery & GetPublicPluginRequestParams\n\nexport type GetPublicPluginRequest = {\n  headers: GetPublicPluginRequestHeaders;\n  query: GetPublicPluginRequestQuery;\n  params: GetPublicPluginRequestParams;\n  body: GetPublicPluginRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginInput): GetPublicPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicPluginCodeRequestHeaders {}\n\nexport interface GetPublicPluginCodeRequestQuery {}\n\nexport interface GetPublicPluginCodeRequestParams {\n  id: string;\n  platform: \"node\" | \"browser\";\n}\n\nexport interface GetPublicPluginCodeRequestBody {}\n\nexport type GetPublicPluginCodeInput = GetPublicPluginCodeRequestBody & GetPublicPluginCodeRequestHeaders & GetPublicPluginCodeRequestQuery & GetPublicPluginCodeRequestParams\n\nexport type GetPublicPluginCodeRequest = {\n  headers: GetPublicPluginCodeRequestHeaders;\n  query: GetPublicPluginCodeRequestQuery;\n  params: GetPublicPluginCodeRequestParams;\n  body: GetPublicPluginCodeRequestBody;\n}\n\nexport const parseReq = (input: GetPublicPluginCodeInput): GetPublicPluginCodeRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/plugins/${encodeURIComponent(input['id'])}/code/${encodeURIComponent(input['platform'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'platform': input['platform'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicPluginCodeResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicInterfacesRequestHeaders {}\n\nexport interface ListPublicInterfacesRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPublicInterfacesRequestParams {}\n\nexport interface ListPublicInterfacesRequestBody {}\n\nexport type ListPublicInterfacesInput = ListPublicInterfacesRequestBody & ListPublicInterfacesRequestHeaders & ListPublicInterfacesRequestQuery & ListPublicInterfacesRequestParams\n\nexport type ListPublicInterfacesRequest = {\n  headers: ListPublicInterfacesRequestHeaders;\n  query: ListPublicInterfacesRequestQuery;\n  params: ListPublicInterfacesRequestParams;\n  body: ListPublicInterfacesRequestBody;\n}\n\nexport const parseReq = (input: ListPublicInterfacesInput): ListPublicInterfacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicInterfacesResponse {\n  interfaces: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\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 GetPublicInterfaceByIdRequestHeaders {}\n\nexport interface GetPublicInterfaceByIdRequestQuery {}\n\nexport interface GetPublicInterfaceByIdRequestParams {\n  id: string;\n}\n\nexport interface GetPublicInterfaceByIdRequestBody {}\n\nexport type GetPublicInterfaceByIdInput = GetPublicInterfaceByIdRequestBody & GetPublicInterfaceByIdRequestHeaders & GetPublicInterfaceByIdRequestQuery & GetPublicInterfaceByIdRequestParams\n\nexport type GetPublicInterfaceByIdRequest = {\n  headers: GetPublicInterfaceByIdRequestHeaders;\n  query: GetPublicInterfaceByIdRequestQuery;\n  params: GetPublicInterfaceByIdRequestParams;\n  body: GetPublicInterfaceByIdRequestBody;\n}\n\nexport const parseReq = (input: GetPublicInterfaceByIdInput): GetPublicInterfaceByIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicInterfaceByIdResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicInterfaceRequestHeaders {}\n\nexport interface GetPublicInterfaceRequestQuery {}\n\nexport interface GetPublicInterfaceRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPublicInterfaceRequestBody {}\n\nexport type GetPublicInterfaceInput = GetPublicInterfaceRequestBody & GetPublicInterfaceRequestHeaders & GetPublicInterfaceRequestQuery & GetPublicInterfaceRequestParams\n\nexport type GetPublicInterfaceRequest = {\n  headers: GetPublicInterfaceRequestHeaders;\n  query: GetPublicInterfaceRequestQuery;\n  params: GetPublicInterfaceRequestParams;\n  body: GetPublicInterfaceRequestBody;\n}\n\nexport const parseReq = (input: GetPublicInterfaceInput): GetPublicInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/hub/interfaces/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotRequestHeaders {}\n\nexport interface CreateBotRequestQuery {}\n\nexport interface CreateBotRequestParams {}\n\nexport interface CreateBotRequestBody {\n  /**\n   * A mapping of states to their definition\n   */\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    };\n  };\n  /**\n   * Events definition\n   */\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  recurringEvents?: {\n    [k: string]: {\n      schedule: {\n        cron: string;\n      };\n      type: string;\n      payload: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Subscriptions of the bot\n   */\n  subscriptions?: {\n    /**\n     * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n     */\n    events: {\n      [k: string]: {};\n    } | null;\n  };\n  /**\n   * Actions definition\n   */\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  configuration?: {\n    /**\n     * Configuration data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n  };\n  user?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  conversation?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  message?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Optional attributes of the [Bot](#schema_bot)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * JavaScript code of the bot\n   */\n  code?: string;\n  /**\n   * Optional name for the bot, if not provided will be auto-generated\n   */\n  name?: string;\n  /**\n   * Optional description for the bot\n   */\n  description?: string;\n  /**\n   * Media files associated with the [Bot](#schema_bot)\n   */\n  medias?: {\n    url: string;\n    name: string;\n  }[];\n  /**\n   * URL of the [Bot](#schema_bot)\n   */\n  url?: string;\n  /**\n   * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n   */\n  dev?: boolean;\n}\n\nexport type CreateBotInput = CreateBotRequestBody & CreateBotRequestHeaders & CreateBotRequestQuery & CreateBotRequestParams\n\nexport type CreateBotRequest = {\n  headers: CreateBotRequestHeaders;\n  query: CreateBotRequestQuery;\n  params: CreateBotRequestParams;\n  body: CreateBotRequestBody;\n}\n\nexport const parseReq = (input: CreateBotInput): CreateBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'states': input['states'], 'events': input['events'], 'recurringEvents': input['recurringEvents'], 'subscriptions': input['subscriptions'], 'actions': input['actions'], 'configuration': input['configuration'], 'user': input['user'], 'conversation': input['conversation'], 'message': input['message'], 'tags': input['tags'], 'code': input['code'], 'name': input['name'], 'description': input['description'], 'medias': input['medias'], 'url': input['url'], 'dev': input['dev'] },\n  }\n}\n\nexport interface CreateBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateBotRequestHeaders {}\n\nexport interface UpdateBotRequestQuery {}\n\nexport interface UpdateBotRequestParams {\n  id: string;\n}\n\nexport interface UpdateBotRequestBody {\n  /**\n   * URL of the [Bot](#schema_bot)\n   */\n  url?: string | null;\n  /**\n   * Type of the [Bot](#schema_bot) authentication (`iam` or `hmac-sha256`)\n   */\n  authentication?: \"iam\" | \"hmac-sha256\";\n  configuration?: {\n    /**\n     * Configuration data\n     */\n    data?: {\n      [k: string]: any;\n    };\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n  };\n  /**\n   * Optional attributes of the [Bot](#schema_bot)\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  blocked?: boolean;\n  /**\n   * Maximum execution time (in seconds).\n   */\n  maxExecutionTime?: number;\n  /**\n   * Indicates if the [Bot](#schema_bot) should be in always alive mode\n   */\n  alwaysAlive?: boolean;\n  user?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  message?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  conversation?: {\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    } | null;\n  };\n  recurringEvents?: {\n    [k: string]: {\n      schedule: {\n        cron: string;\n      };\n      type: string;\n      payload: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  integrations?: {\n    [k: string]: {\n      enabled?: boolean;\n      /**\n       * Integration's definition ID. If defined, the record's key is treated as an alias for the integration instance.\n       */\n      integrationId?: string;\n      /**\n       * Integration's configuration type. Set to default if null.\n       */\n      configurationType?: string | null;\n      configuration?: {\n        [k: string]: any;\n      };\n      /**\n       * Disabled channels for this integration\n       */\n      disabledChannels?: string[];\n    } | null;\n  };\n  /**\n   * A mapping of plugin aliases to their configuration\n   */\n  plugins?: {\n    [k: string]: {\n      id: string;\n      enabled?: boolean;\n      configuration?: {\n        [k: string]: any;\n      };\n      /**\n       * A mapping of plugin interface aliases to their backing integrations\n       */\n      interfaces?: {\n        [k: string]: {\n          integrationId: string;\n          /**\n           * When an alias is provided, the plugin will use the integration corresponding to this alias. If not provided, the first integration matching the integrationId will be used.\n           */\n          integrationAlias?: string;\n          /**\n           * When an alias is provided, the plugin will use the integration interface corresponding to this alias.\n           */\n          integrationInterfaceAlias?: string;\n        };\n      };\n      /**\n       * A mapping of plugin integration aliases to their backing integrations\n       */\n      integrations?: {\n        [k: string]: {\n          integrationId: string;\n          integrationAlias: string;\n        };\n      };\n    } | null;\n  };\n  subscriptions?: {\n    events: {\n      [k: string]: {} | null;\n    } | null;\n  };\n  /**\n   * JavaScript code of the bot\n   */\n  code?: string;\n  /**\n   * Optional name for the bot, if not provided will be auto-generated\n   */\n  name?: string;\n  /**\n   * Optional description for the bot\n   */\n  description?: string;\n  /**\n   * Media files associated with the [Bot](#schema_bot)\n   */\n  medias?: {\n    url: string;\n    name: string;\n  }[];\n  layers?: string[];\n  /**\n   * UNUSED. Please ignore this field. It will be removed in the near future.\n   */\n  shouldMergePlugins?: boolean;\n}\n\nexport type UpdateBotInput = UpdateBotRequestBody & UpdateBotRequestHeaders & UpdateBotRequestQuery & UpdateBotRequestParams\n\nexport type UpdateBotRequest = {\n  headers: UpdateBotRequestHeaders;\n  query: UpdateBotRequestQuery;\n  params: UpdateBotRequestParams;\n  body: UpdateBotRequestBody;\n}\n\nexport const parseReq = (input: UpdateBotInput): UpdateBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'url': input['url'], 'authentication': input['authentication'], 'configuration': input['configuration'], 'tags': input['tags'], 'blocked': input['blocked'], 'maxExecutionTime': input['maxExecutionTime'], 'alwaysAlive': input['alwaysAlive'], 'user': input['user'], 'message': input['message'], 'conversation': input['conversation'], 'events': input['events'], 'actions': input['actions'], 'states': input['states'], 'recurringEvents': input['recurringEvents'], 'integrations': input['integrations'], 'plugins': input['plugins'], 'subscriptions': input['subscriptions'], 'code': input['code'], 'name': input['name'], 'description': input['description'], 'medias': input['medias'], 'layers': input['layers'], 'shouldMergePlugins': input['shouldMergePlugins'] },\n  }\n}\n\nexport interface UpdateBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RotateBotSigningSecretsRequestHeaders {}\n\nexport interface RotateBotSigningSecretsRequestQuery {}\n\nexport interface RotateBotSigningSecretsRequestParams {\n  id: string;\n}\n\nexport interface RotateBotSigningSecretsRequestBody {}\n\nexport type RotateBotSigningSecretsInput = RotateBotSigningSecretsRequestBody & RotateBotSigningSecretsRequestHeaders & RotateBotSigningSecretsRequestQuery & RotateBotSigningSecretsRequestParams\n\nexport type RotateBotSigningSecretsRequest = {\n  headers: RotateBotSigningSecretsRequestHeaders;\n  query: RotateBotSigningSecretsRequestQuery;\n  params: RotateBotSigningSecretsRequestParams;\n  body: RotateBotSigningSecretsRequestBody;\n}\n\nexport const parseReq = (input: RotateBotSigningSecretsInput): RotateBotSigningSecretsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/signing-secrets/rotate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface RotateBotSigningSecretsResponse {\n  /**\n   * The new signing secret that can be used immediately. The old signing secret(s) will continue to work for 24 hours after this operation to allow for a smooth transition.\n   */\n  newSigningSecret: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface TransferBotRequestHeaders {}\n\nexport interface TransferBotRequestQuery {}\n\nexport interface TransferBotRequestParams {\n  id: string;\n}\n\nexport interface TransferBotRequestBody {\n  /**\n   * The ID of the workspace you want to transfer the bot to.\n   */\n  targetWorkspaceId: string;\n}\n\nexport type TransferBotInput = TransferBotRequestBody & TransferBotRequestHeaders & TransferBotRequestQuery & TransferBotRequestParams\n\nexport type TransferBotRequest = {\n  headers: TransferBotRequestHeaders;\n  query: TransferBotRequestQuery;\n  params: TransferBotRequestParams;\n  body: TransferBotRequestBody;\n}\n\nexport const parseReq = (input: TransferBotInput): TransferBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/transfer`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'targetWorkspaceId': input['targetWorkspaceId'] },\n  }\n}\n\nexport interface TransferBotResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotsRequestHeaders {}\n\nexport interface ListBotsRequestQuery {\n  dev?: boolean;\n  tags?: {\n    [k: string]: string;\n  };\n  nextToken?: string;\n  sortField?: \"createdAt\" | \"updatedAt\";\n  sortDirection?: \"asc\" | \"desc\";\n}\n\nexport interface ListBotsRequestParams {}\n\nexport interface ListBotsRequestBody {}\n\nexport type ListBotsInput = ListBotsRequestBody & ListBotsRequestHeaders & ListBotsRequestQuery & ListBotsRequestParams\n\nexport type ListBotsRequest = {\n  headers: ListBotsRequestHeaders;\n  query: ListBotsRequestQuery;\n  params: ListBotsRequestParams;\n  body: ListBotsRequestBody;\n}\n\nexport const parseReq = (input: ListBotsInput): ListBotsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots`,\n    headers: {  },\n    query: { 'dev': input['dev'], 'tags': input['tags'], 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListBotsResponse {\n  bots: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    name: string;\n    deployedAt?: string;\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: 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 GetBotRequestHeaders {}\n\nexport interface GetBotRequestQuery {\n  shouldMergePlugins?: boolean;\n}\n\nexport interface GetBotRequestParams {\n  id: string;\n}\n\nexport interface GetBotRequestBody {}\n\nexport type GetBotInput = GetBotRequestBody & GetBotRequestHeaders & GetBotRequestQuery & GetBotRequestParams\n\nexport type GetBotRequest = {\n  headers: GetBotRequestHeaders;\n  query: GetBotRequestQuery;\n  params: GetBotRequestParams;\n  body: GetBotRequestBody;\n}\n\nexport const parseReq = (input: GetBotInput): GetBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: { 'shouldMergePlugins': input['shouldMergePlugins'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotResponse {\n  bot: {\n    /**\n     * Id of the [Bot](#schema_bot)\n     */\n    id: string;\n    /**\n     * Creation date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Bot](#schema_bot) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Signing secret of the [Bot](#schema_bot). This field is only visible when creating a new bot or when rotating the signing secret of an existing bot.\n     */\n    signingSecret: string;\n    /**\n     * A mapping of integrations to their configuration. If the `x-multiple-integrations` header is present, this object is keyed by integration aliases. Otherwise, this object is keyed by integration ids.\n     */\n    integrations: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Integration](#schema_integration)\n         */\n        name: string;\n        /**\n         * Version of the [Integration](#schema_integration)\n         */\n        version: string;\n        webhookUrl: string;\n        webhookId: string;\n        identifier?: string;\n        configurationType: string | null;\n        configuration: {\n          [k: string]: any;\n        };\n        status:\n          | \"registration_pending\"\n          | \"registered\"\n          | \"registration_failed\"\n          | \"unregistration_pending\"\n          | \"unregistered\"\n          | \"unregistration_failed\";\n        statusReason: string | null;\n        /**\n         * Disabled channels for this integration\n         */\n        disabledChannels: string[];\n        /**\n         * ID of the [Integration](#schema_integration)\n         */\n        id: string;\n        /**\n         * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the integration. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the integration. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the integration. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * Status of the integration version verification\n         */\n        verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n        /**\n         * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * A mapping of plugin aliases to their configuration\n     */\n    plugins: {\n      [k: string]: {\n        enabled: boolean;\n        /**\n         * Name of the [Plugin](#schema_plugin)\n         */\n        name: string;\n        /**\n         * Version of the [Plugin](#schema_plugin)\n         */\n        version: string;\n        configuration: {\n          [k: string]: any;\n        };\n        /**\n         * A mapping of plugin interface aliases to their backing integrations\n         */\n        interfaces?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n            integrationInterfaceAlias?: string;\n            interfaceId: string;\n          };\n        };\n        /**\n         * A mapping of plugin integration aliases to their backing integrations\n         */\n        integrations?: {\n          [k: string]: {\n            integrationId: string;\n            integrationAlias: string;\n          };\n        };\n        /**\n         * ID of the [Plugin](#schema_plugin)\n         */\n        id: string;\n        /**\n         * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        createdAt: string;\n        /**\n         * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n         */\n        updatedAt: string;\n        /**\n         * Title of the plugin. This is the name that will be displayed in the UI\n         */\n        title: string;\n        /**\n         * Description of the plugin. This is the description that will be displayed in the UI\n         */\n        description: string;\n        /**\n         * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n         */\n        iconUrl: string;\n        /**\n         * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n         */\n        readmeUrl: string;\n        /**\n         * @deprecated\n         * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n         */\n        public: boolean;\n        /**\n         * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n         */\n        visibility: \"public\" | \"private\" | \"unlisted\";\n        /**\n         * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n         */\n        lifecycleStatus: \"published\" | \"deprecated\";\n      };\n    };\n    /**\n     * Maximum execution time of the bot (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Message object configuration\n     */\n    message: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * A mapping of states to their definition\n     */\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    /**\n     * Configuration of the bot\n     */\n    configuration: {\n      /**\n       * Configuration data\n       */\n      data: {\n        [k: string]: any;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    /**\n     * Events definition\n     */\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Recurring events\n     */\n    recurringEvents: {\n      [k: string]: {\n        schedule: {\n          cron: string;\n        };\n        type: string;\n        payload: {\n          [k: string]: any;\n        };\n        /**\n         * The number of times the recurring event failed to run. This counter resets once the recurring event runs successfully.\n         */\n        failedAttempts: number;\n        /**\n         * The reason why the recurring event failed to run in the last attempt.\n         */\n        lastFailureReason: string | null;\n      };\n    };\n    /**\n     * Subscriptions of the bot\n     */\n    subscriptions: {\n      /**\n       * Events that the bot is currently subscribed on (ex: \"slack:reactionAdded\"). If null, the bot is subscribed to all events.\n       */\n      events: {\n        [k: string]: {};\n      } | null;\n    };\n    /**\n     * Actions definition\n     */\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * Tags of [Bot](#schema_bot)\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Name of the [Bot](#schema_bot)\n     */\n    name: string;\n    /**\n     * Description of the [Bot](#schema_bot)\n     */\n    description?: string;\n    /**\n     * Last deployment date of the [Bot](#schema_bot) in the ISO 8601 format\n     */\n    deployedAt?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) is a development bot; Development bots run locally and can install dev integrations\n     */\n    dev: boolean;\n    /**\n     * Id of the user that created the bot\n     */\n    createdBy?: string;\n    /**\n     * Indicates if the [Bot](#schema_bot) should be in always alive mode\n     */\n    alwaysAlive: boolean;\n    /**\n     * Status of the bot\n     */\n    status: \"active\" | \"deploying\" | \"deleting\";\n    /**\n     * Media files associated with the [Bot](#schema_bot)\n     */\n    medias: {\n      /**\n       * URL of the media file\n       */\n      url: string;\n      /**\n       * Name of the media file\n       */\n      name: string;\n    }[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteBotRequestHeaders {}\n\nexport interface DeleteBotRequestQuery {}\n\nexport interface DeleteBotRequestParams {\n  id: string;\n}\n\nexport interface DeleteBotRequestBody {}\n\nexport type DeleteBotInput = DeleteBotRequestBody & DeleteBotRequestHeaders & DeleteBotRequestQuery & DeleteBotRequestParams\n\nexport type DeleteBotRequest = {\n  headers: DeleteBotRequestHeaders;\n  query: DeleteBotRequestQuery;\n  params: DeleteBotRequestParams;\n  body: DeleteBotRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotInput): DeleteBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotLogsRequestHeaders {}\n\nexport interface GetBotLogsRequestQuery {\n  timeStart: string;\n  timeEnd?: string;\n  level?: string;\n  userId?: string;\n  workflowId?: string;\n  conversationId?: string;\n  messageContains?: string;\n  nextToken?: string;\n}\n\nexport interface GetBotLogsRequestParams {\n  id: string;\n}\n\nexport interface GetBotLogsRequestBody {}\n\nexport type GetBotLogsInput = GetBotLogsRequestBody & GetBotLogsRequestHeaders & GetBotLogsRequestQuery & GetBotLogsRequestParams\n\nexport type GetBotLogsRequest = {\n  headers: GetBotLogsRequestHeaders;\n  query: GetBotLogsRequestQuery;\n  params: GetBotLogsRequestParams;\n  body: GetBotLogsRequestBody;\n}\n\nexport const parseReq = (input: GetBotLogsInput): GetBotLogsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/logs`,\n    headers: {  },\n    query: { 'timeStart': input['timeStart'], 'timeEnd': input['timeEnd'], 'level': input['level'], 'userId': input['userId'], 'workflowId': input['workflowId'], 'conversationId': input['conversationId'], 'messageContains': input['messageContains'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotLogsResponse {\n  logs: {\n    timestamp: string;\n    level: string;\n    message: string;\n    workflowId?: string;\n    userId?: string;\n    conversationId?: string;\n  }[];\n  nextToken?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotWebchatRequestHeaders {}\n\nexport interface GetBotWebchatRequestQuery {\n  type: \"preconfigured\" | \"configurable\" | \"fullscreen\" | \"sharableUrl\";\n}\n\nexport interface GetBotWebchatRequestParams {\n  id: string;\n}\n\nexport interface GetBotWebchatRequestBody {}\n\nexport type GetBotWebchatInput = GetBotWebchatRequestBody & GetBotWebchatRequestHeaders & GetBotWebchatRequestQuery & GetBotWebchatRequestParams\n\nexport type GetBotWebchatRequest = {\n  headers: GetBotWebchatRequestHeaders;\n  query: GetBotWebchatRequestQuery;\n  params: GetBotWebchatRequestParams;\n  body: GetBotWebchatRequestBody;\n}\n\nexport const parseReq = (input: GetBotWebchatInput): GetBotWebchatRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/webchat`,\n    headers: {  },\n    query: { 'type': input['type'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotWebchatResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotAnalyticsRequestHeaders {}\n\nexport interface GetBotAnalyticsRequestQuery {\n  startDate: string;\n  endDate: string;\n}\n\nexport interface GetBotAnalyticsRequestParams {\n  id: string;\n}\n\nexport interface GetBotAnalyticsRequestBody {}\n\nexport type GetBotAnalyticsInput = GetBotAnalyticsRequestBody & GetBotAnalyticsRequestHeaders & GetBotAnalyticsRequestQuery & GetBotAnalyticsRequestParams\n\nexport type GetBotAnalyticsRequest = {\n  headers: GetBotAnalyticsRequestHeaders;\n  query: GetBotAnalyticsRequestQuery;\n  params: GetBotAnalyticsRequestParams;\n  body: GetBotAnalyticsRequestBody;\n}\n\nexport const parseReq = (input: GetBotAnalyticsInput): GetBotAnalyticsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/analytics`,\n    headers: {  },\n    query: { 'startDate': input['startDate'], 'endDate': input['endDate'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotAnalyticsResponse {\n  records: {\n    /**\n     * ISO 8601 date string of the beginning (inclusive) of the period\n     */\n    startDateTimeUtc: string;\n    /**\n     * ISO 8601 date string of the end (inclusive) of the period\n     */\n    endDateTimeUtc: string;\n    returningUsers: number;\n    newUsers: number;\n    sessions: number;\n    /**\n     * Deprecated. Use `userMessages` instead.\n     */\n    messages: number;\n    userMessages: number;\n    botMessages: number;\n    events: number;\n    eventTypes: {\n      [k: string]: number;\n    };\n    customEvents: {\n      [k: string]: number;\n    };\n    llm: {\n      calls: number;\n      errors: number;\n      inputTokens: number;\n      outputTokens: number;\n      /**\n       * The time it took for the LLM to complete its response. Values are expressed in milliseconds\n       */\n      latency: {\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n      /**\n       * LLM response generation speed expressed in output tokens per second.\n       */\n      tokensPerSecond: {\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n      /**\n       * Values are expressed in U.S. dollars\n       */\n      cost: {\n        sum: number;\n        mean: number;\n        sd: number;\n        min: number;\n        max: number;\n      };\n    };\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListActionRunsRequestHeaders {}\n\nexport interface ListActionRunsRequestQuery {\n  integrationName: string;\n  timestampFrom?: string;\n  timestampUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListActionRunsRequestParams {\n  id: string;\n}\n\nexport interface ListActionRunsRequestBody {}\n\nexport type ListActionRunsInput = ListActionRunsRequestBody & ListActionRunsRequestHeaders & ListActionRunsRequestQuery & ListActionRunsRequestParams\n\nexport type ListActionRunsRequest = {\n  headers: ListActionRunsRequestHeaders;\n  query: ListActionRunsRequestQuery;\n  params: ListActionRunsRequestParams;\n  body: ListActionRunsRequestBody;\n}\n\nexport const parseReq = (input: ListActionRunsInput): ListActionRunsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/action-runs`,\n    headers: {  },\n    query: { 'integrationName': input['integrationName'], 'timestampFrom': input['timestampFrom'], 'timestampUntil': input['timestampUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListActionRunsResponse {\n  data: {\n    /**\n     * ISO 8601 timestamp of the action run\n     */\n    timestamp: string;\n    /**\n     * Alias of the integration instance used for this action run\n     */\n    integrationName?: string;\n    actionType: string;\n    /**\n     * Input of the action\n     */\n    input: {\n      [k: string]: any;\n    };\n    /**\n     * Present if the length of the action's input exceeds 190 KB.\n     */\n    inputTruncated?: boolean;\n    /**\n     * Output of the action\n     */\n    output: {\n      [k: string]: any;\n    } | null;\n    /**\n     * Present if the length of the action's output exceeds 190 KB.\n     */\n    outputTruncated?: boolean;\n    status: \"SUCCESS\" | \"FAILURE\";\n    durationMs: number;\n    cached: boolean;\n    errorMessage?: string | null;\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotIssueRequestHeaders {}\n\nexport interface GetBotIssueRequestQuery {}\n\nexport interface GetBotIssueRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface GetBotIssueRequestBody {}\n\nexport type GetBotIssueInput = GetBotIssueRequestBody & GetBotIssueRequestHeaders & GetBotIssueRequestQuery & GetBotIssueRequestParams\n\nexport type GetBotIssueRequest = {\n  headers: GetBotIssueRequestHeaders;\n  query: GetBotIssueRequestQuery;\n  params: GetBotIssueRequestParams;\n  body: GetBotIssueRequestBody;\n}\n\nexport const parseReq = (input: GetBotIssueInput): GetBotIssueRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotIssueResponse {\n  issue: {\n    id: string;\n    code: string;\n    createdAt: string;\n    lastSeenAt: string;\n    title: string;\n    description: string;\n    groupedData: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n    eventsCount: number;\n    category: \"user_code\" | \"limits\" | \"configuration\" | \"other\";\n    resolutionLink: string | null;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotIssuesRequestHeaders {}\n\nexport interface ListBotIssuesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListBotIssuesRequestParams {\n  id: string;\n}\n\nexport interface ListBotIssuesRequestBody {}\n\nexport type ListBotIssuesInput = ListBotIssuesRequestBody & ListBotIssuesRequestHeaders & ListBotIssuesRequestQuery & ListBotIssuesRequestParams\n\nexport type ListBotIssuesRequest = {\n  headers: ListBotIssuesRequestHeaders;\n  query: ListBotIssuesRequestQuery;\n  params: ListBotIssuesRequestParams;\n  body: ListBotIssuesRequestBody;\n}\n\nexport const parseReq = (input: ListBotIssuesInput): ListBotIssuesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotIssuesResponse {\n  issues: {\n    id: string;\n    code: string;\n    createdAt: string;\n    lastSeenAt: string;\n    title: string;\n    description: string;\n    groupedData: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n    eventsCount: number;\n    category: \"user_code\" | \"limits\" | \"configuration\" | \"other\";\n    resolutionLink: string | null;\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 DeleteBotIssueRequestHeaders {}\n\nexport interface DeleteBotIssueRequestQuery {}\n\nexport interface DeleteBotIssueRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface DeleteBotIssueRequestBody {}\n\nexport type DeleteBotIssueInput = DeleteBotIssueRequestBody & DeleteBotIssueRequestHeaders & DeleteBotIssueRequestQuery & DeleteBotIssueRequestParams\n\nexport type DeleteBotIssueRequest = {\n  headers: DeleteBotIssueRequestHeaders;\n  query: DeleteBotIssueRequestQuery;\n  params: DeleteBotIssueRequestParams;\n  body: DeleteBotIssueRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotIssueInput): DeleteBotIssueRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotIssueResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotIssueEventsRequestHeaders {}\n\nexport interface ListBotIssueEventsRequestQuery {}\n\nexport interface ListBotIssueEventsRequestParams {\n  id: string;\n  issueId: string;\n}\n\nexport interface ListBotIssueEventsRequestBody {}\n\nexport type ListBotIssueEventsInput = ListBotIssueEventsRequestBody & ListBotIssueEventsRequestHeaders & ListBotIssueEventsRequestQuery & ListBotIssueEventsRequestParams\n\nexport type ListBotIssueEventsRequest = {\n  headers: ListBotIssueEventsRequestHeaders;\n  query: ListBotIssueEventsRequestQuery;\n  params: ListBotIssueEventsRequestParams;\n  body: ListBotIssueEventsRequestBody;\n}\n\nexport const parseReq = (input: ListBotIssueEventsInput): ListBotIssueEventsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/issues/${encodeURIComponent(input['issueId'])}/events`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'issueId': input['issueId'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotIssueEventsResponse {\n  issueEvents: {\n    id: string;\n    createdAt: string;\n    data: {\n      [k: string]: {\n        raw: string;\n        pretty?: string;\n      };\n    };\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotVersionsRequestHeaders {}\n\nexport interface ListBotVersionsRequestQuery {}\n\nexport interface ListBotVersionsRequestParams {\n  id: string;\n}\n\nexport interface ListBotVersionsRequestBody {}\n\nexport type ListBotVersionsInput = ListBotVersionsRequestBody & ListBotVersionsRequestHeaders & ListBotVersionsRequestQuery & ListBotVersionsRequestParams\n\nexport type ListBotVersionsRequest = {\n  headers: ListBotVersionsRequestHeaders;\n  query: ListBotVersionsRequestQuery;\n  params: ListBotVersionsRequestParams;\n  body: ListBotVersionsRequestBody;\n}\n\nexport const parseReq = (input: ListBotVersionsInput): ListBotVersionsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListBotVersionsResponse {\n  versions: {\n    id: string;\n    name: string;\n    description?: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotVersionRequestHeaders {}\n\nexport interface GetBotVersionRequestQuery {}\n\nexport interface GetBotVersionRequestParams {\n  id: string;\n  versionId: string;\n}\n\nexport interface GetBotVersionRequestBody {}\n\nexport type GetBotVersionInput = GetBotVersionRequestBody & GetBotVersionRequestHeaders & GetBotVersionRequestQuery & GetBotVersionRequestParams\n\nexport type GetBotVersionRequest = {\n  headers: GetBotVersionRequestHeaders;\n  query: GetBotVersionRequestQuery;\n  params: GetBotVersionRequestParams;\n  body: GetBotVersionRequestBody;\n}\n\nexport const parseReq = (input: GetBotVersionInput): GetBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions/${encodeURIComponent(input['versionId'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'versionId': input['versionId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotVersionResponse {\n  url: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotJsonRequestHeaders {}\n\nexport interface GetBotJsonRequestQuery {}\n\nexport interface GetBotJsonRequestParams {\n  id: string;\n}\n\nexport interface GetBotJsonRequestBody {}\n\nexport type GetBotJsonInput = GetBotJsonRequestBody & GetBotJsonRequestHeaders & GetBotJsonRequestQuery & GetBotJsonRequestParams\n\nexport type GetBotJsonRequest = {\n  headers: GetBotJsonRequestHeaders;\n  query: GetBotJsonRequestQuery;\n  params: GetBotJsonRequestParams;\n  body: GetBotJsonRequestBody;\n}\n\nexport const parseReq = (input: GetBotJsonInput): GetBotJsonRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/bot-json`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotJsonResponse {\n  [k: string]: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface PublishFromBotJsonRequestHeaders {}\n\nexport interface PublishFromBotJsonRequestQuery {}\n\nexport interface PublishFromBotJsonRequestParams {\n  id: string;\n}\n\nexport interface PublishFromBotJsonRequestBody {\n  botJson: {\n    [k: string]: any;\n  };\n}\n\nexport type PublishFromBotJsonInput = PublishFromBotJsonRequestBody & PublishFromBotJsonRequestHeaders & PublishFromBotJsonRequestQuery & PublishFromBotJsonRequestParams\n\nexport type PublishFromBotJsonRequest = {\n  headers: PublishFromBotJsonRequestHeaders;\n  query: PublishFromBotJsonRequestQuery;\n  params: PublishFromBotJsonRequestParams;\n  body: PublishFromBotJsonRequestBody;\n}\n\nexport const parseReq = (input: PublishFromBotJsonInput): PublishFromBotJsonRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/publish-from-bot-json`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'botJson': input['botJson'] },\n  }\n}\n\nexport interface PublishFromBotJsonResponse {\n  [k: string]: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotVersionRequestHeaders {}\n\nexport interface CreateBotVersionRequestQuery {}\n\nexport interface CreateBotVersionRequestParams {\n  id: string;\n}\n\nexport interface CreateBotVersionRequestBody {\n  name: string;\n  description?: string;\n}\n\nexport type CreateBotVersionInput = CreateBotVersionRequestBody & CreateBotVersionRequestHeaders & CreateBotVersionRequestQuery & CreateBotVersionRequestParams\n\nexport type CreateBotVersionRequest = {\n  headers: CreateBotVersionRequestHeaders;\n  query: CreateBotVersionRequestQuery;\n  params: CreateBotVersionRequestParams;\n  body: CreateBotVersionRequestBody;\n}\n\nexport const parseReq = (input: CreateBotVersionInput): CreateBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'description': input['description'] },\n  }\n}\n\nexport interface CreateBotVersionResponse {\n  version: {\n    id: string;\n    name: string;\n    description?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeployBotVersionRequestHeaders {}\n\nexport interface DeployBotVersionRequestQuery {}\n\nexport interface DeployBotVersionRequestParams {\n  id: string;\n}\n\nexport interface DeployBotVersionRequestBody {\n  versionId: string;\n}\n\nexport type DeployBotVersionInput = DeployBotVersionRequestBody & DeployBotVersionRequestHeaders & DeployBotVersionRequestQuery & DeployBotVersionRequestParams\n\nexport type DeployBotVersionRequest = {\n  headers: DeployBotVersionRequestHeaders;\n  query: DeployBotVersionRequestQuery;\n  params: DeployBotVersionRequestParams;\n  body: DeployBotVersionRequestBody;\n}\n\nexport const parseReq = (input: DeployBotVersionInput): DeployBotVersionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['id'])}/versions/deploy`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'versionId': input['versionId'] },\n  }\n}\n\nexport interface DeployBotVersionResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationShareableIdRequestHeaders {}\n\nexport interface CreateIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface CreateIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface CreateIntegrationShareableIdRequestBody {}\n\nexport type CreateIntegrationShareableIdInput = CreateIntegrationShareableIdRequestBody & CreateIntegrationShareableIdRequestHeaders & CreateIntegrationShareableIdRequestQuery & CreateIntegrationShareableIdRequestParams\n\nexport type CreateIntegrationShareableIdRequest = {\n  headers: CreateIntegrationShareableIdRequestHeaders;\n  query: CreateIntegrationShareableIdRequestQuery;\n  params: CreateIntegrationShareableIdRequestParams;\n  body: CreateIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationShareableIdInput): CreateIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface CreateIntegrationShareableIdResponse {\n  shareableId: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationShareableIdRequestHeaders {}\n\nexport interface DeleteIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface DeleteIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface DeleteIntegrationShareableIdRequestBody {}\n\nexport type DeleteIntegrationShareableIdInput = DeleteIntegrationShareableIdRequestBody & DeleteIntegrationShareableIdRequestHeaders & DeleteIntegrationShareableIdRequestQuery & DeleteIntegrationShareableIdRequestParams\n\nexport type DeleteIntegrationShareableIdRequest = {\n  headers: DeleteIntegrationShareableIdRequestHeaders;\n  query: DeleteIntegrationShareableIdRequestQuery;\n  params: DeleteIntegrationShareableIdRequestParams;\n  body: DeleteIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationShareableIdInput): DeleteIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationShareableIdResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationShareableIdRequestHeaders {}\n\nexport interface GetIntegrationShareableIdRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface GetIntegrationShareableIdRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface GetIntegrationShareableIdRequestBody {}\n\nexport type GetIntegrationShareableIdInput = GetIntegrationShareableIdRequestBody & GetIntegrationShareableIdRequestHeaders & GetIntegrationShareableIdRequestQuery & GetIntegrationShareableIdRequestParams\n\nexport type GetIntegrationShareableIdRequest = {\n  headers: GetIntegrationShareableIdRequestHeaders;\n  query: GetIntegrationShareableIdRequestQuery;\n  params: GetIntegrationShareableIdRequestParams;\n  body: GetIntegrationShareableIdRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationShareableIdInput): GetIntegrationShareableIdRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/shareable-id`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationShareableIdResponse {\n  shareableId: string;\n  isExpired: boolean;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UnlinkSandboxedConversationsRequestHeaders {}\n\nexport interface UnlinkSandboxedConversationsRequestQuery {\n  integrationInstanceAlias?: string;\n}\n\nexport interface UnlinkSandboxedConversationsRequestParams {\n  botId: string;\n  integrationId: string;\n}\n\nexport interface UnlinkSandboxedConversationsRequestBody {}\n\nexport type UnlinkSandboxedConversationsInput = UnlinkSandboxedConversationsRequestBody & UnlinkSandboxedConversationsRequestHeaders & UnlinkSandboxedConversationsRequestQuery & UnlinkSandboxedConversationsRequestParams\n\nexport type UnlinkSandboxedConversationsRequest = {\n  headers: UnlinkSandboxedConversationsRequestHeaders;\n  query: UnlinkSandboxedConversationsRequestQuery;\n  params: UnlinkSandboxedConversationsRequestParams;\n  body: UnlinkSandboxedConversationsRequestBody;\n}\n\nexport const parseReq = (input: UnlinkSandboxedConversationsInput): UnlinkSandboxedConversationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/integrations/${encodeURIComponent(input['integrationId'])}/sandboxed-conversations`,\n    headers: {  },\n    query: { 'integrationInstanceAlias': input['integrationInstanceAlias'] },\n    params: { 'botId': input['botId'], 'integrationId': input['integrationId'] },\n    body: {  },\n  }\n}\n\nexport interface UnlinkSandboxedConversationsResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListBotApiKeysRequestHeaders {}\n\nexport interface ListBotApiKeysRequestQuery {\n  botId: string;\n}\n\nexport interface ListBotApiKeysRequestParams {}\n\nexport interface ListBotApiKeysRequestBody {}\n\nexport type ListBotApiKeysInput = ListBotApiKeysRequestBody & ListBotApiKeysRequestHeaders & ListBotApiKeysRequestQuery & ListBotApiKeysRequestParams\n\nexport type ListBotApiKeysRequest = {\n  headers: ListBotApiKeysRequestHeaders;\n  query: ListBotApiKeysRequestQuery;\n  params: ListBotApiKeysRequestParams;\n  body: ListBotApiKeysRequestBody;\n}\n\nexport const parseReq = (input: ListBotApiKeysInput): ListBotApiKeysRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks`,\n    headers: {  },\n    query: { 'botId': input['botId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListBotApiKeysResponse {\n  baks: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateBotApiKeyRequestHeaders {}\n\nexport interface CreateBotApiKeyRequestQuery {}\n\nexport interface CreateBotApiKeyRequestParams {}\n\nexport interface CreateBotApiKeyRequestBody {\n  botId: string;\n  note?: string;\n}\n\nexport type CreateBotApiKeyInput = CreateBotApiKeyRequestBody & CreateBotApiKeyRequestHeaders & CreateBotApiKeyRequestQuery & CreateBotApiKeyRequestParams\n\nexport type CreateBotApiKeyRequest = {\n  headers: CreateBotApiKeyRequestHeaders;\n  query: CreateBotApiKeyRequestQuery;\n  params: CreateBotApiKeyRequestParams;\n  body: CreateBotApiKeyRequestBody;\n}\n\nexport const parseReq = (input: CreateBotApiKeyInput): CreateBotApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'botId': input['botId'], 'note': input['note'] },\n  }\n}\n\nexport interface CreateBotApiKeyResponse {\n  id: string;\n  createdAt: string;\n  note: string;\n  /**\n   * The BAK value. This will only be returned here when created and cannot be retrieved later.\n   */\n  value: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteBotApiKeyRequestHeaders {}\n\nexport interface DeleteBotApiKeyRequestQuery {}\n\nexport interface DeleteBotApiKeyRequestParams {\n  id: string;\n}\n\nexport interface DeleteBotApiKeyRequestBody {}\n\nexport type DeleteBotApiKeyInput = DeleteBotApiKeyRequestBody & DeleteBotApiKeyRequestHeaders & DeleteBotApiKeyRequestQuery & DeleteBotApiKeyRequestParams\n\nexport type DeleteBotApiKeyRequest = {\n  headers: DeleteBotApiKeyRequestHeaders;\n  query: DeleteBotApiKeyRequestQuery;\n  params: DeleteBotApiKeyRequestParams;\n  body: DeleteBotApiKeyRequestBody;\n}\n\nexport const parseReq = (input: DeleteBotApiKeyInput): DeleteBotApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/baks/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteBotApiKeyResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetBotAllowlistRequestHeaders {}\n\nexport interface GetBotAllowlistRequestQuery {}\n\nexport interface GetBotAllowlistRequestParams {\n  botId: string;\n}\n\nexport interface GetBotAllowlistRequestBody {}\n\nexport type GetBotAllowlistInput = GetBotAllowlistRequestBody & GetBotAllowlistRequestHeaders & GetBotAllowlistRequestQuery & GetBotAllowlistRequestParams\n\nexport type GetBotAllowlistRequest = {\n  headers: GetBotAllowlistRequestHeaders;\n  query: GetBotAllowlistRequestQuery;\n  params: GetBotAllowlistRequestParams;\n  body: GetBotAllowlistRequestBody;\n}\n\nexport const parseReq = (input: GetBotAllowlistInput): GetBotAllowlistRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/allowlist`,\n    headers: {  },\n    query: {  },\n    params: { 'botId': input['botId'] },\n    body: {  },\n  }\n}\n\nexport interface GetBotAllowlistResponse {\n  /**\n   * Allowlist setting of the bot\n   */\n  setting: \"ALL_WORKSPACE_USERS\" | \"SELECTED_USERS\";\n  users: {\n    id: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateBotAllowlistRequestHeaders {}\n\nexport interface UpdateBotAllowlistRequestQuery {}\n\nexport interface UpdateBotAllowlistRequestParams {\n  botId: string;\n}\n\nexport interface UpdateBotAllowlistRequestBody {\n  /**\n   * Allowlist setting of the bot\n   */\n  setting?: \"ALL_WORKSPACE_USERS\" | \"SELECTED_USERS\";\n  users?: {\n    /**\n     * If `true`, the user should be added to the allowlist. If `false`, the user should be removed from the allowlist. This performs a partial update, so any existing users not included here will be kept in the allowlist\n     */\n    [k: string]: boolean;\n  };\n}\n\nexport type UpdateBotAllowlistInput = UpdateBotAllowlistRequestBody & UpdateBotAllowlistRequestHeaders & UpdateBotAllowlistRequestQuery & UpdateBotAllowlistRequestParams\n\nexport type UpdateBotAllowlistRequest = {\n  headers: UpdateBotAllowlistRequestHeaders;\n  query: UpdateBotAllowlistRequestQuery;\n  params: UpdateBotAllowlistRequestParams;\n  body: UpdateBotAllowlistRequestBody;\n}\n\nexport const parseReq = (input: UpdateBotAllowlistInput): UpdateBotAllowlistRequest & { path: string } => {\n  return {\n    path: `/v1/admin/bots/${encodeURIComponent(input['botId'])}/allowlist`,\n    headers: {  },\n    query: {  },\n    params: { 'botId': input['botId'] },\n    body: { 'setting': input['setting'], 'users': input['users'] },\n  }\n}\n\nexport interface UpdateBotAllowlistResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceInvoicesRequestHeaders {}\n\nexport interface ListWorkspaceInvoicesRequestQuery {}\n\nexport interface ListWorkspaceInvoicesRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceInvoicesRequestBody {}\n\nexport type ListWorkspaceInvoicesInput = ListWorkspaceInvoicesRequestBody & ListWorkspaceInvoicesRequestHeaders & ListWorkspaceInvoicesRequestQuery & ListWorkspaceInvoicesRequestParams\n\nexport type ListWorkspaceInvoicesRequest = {\n  headers: ListWorkspaceInvoicesRequestHeaders;\n  query: ListWorkspaceInvoicesRequestQuery;\n  params: ListWorkspaceInvoicesRequestParams;\n  body: ListWorkspaceInvoicesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceInvoicesInput): ListWorkspaceInvoicesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/invoices`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceInvoicesResponse {\n  invoices: {\n    id: string;\n    period: {\n      month: number;\n      year: number;\n    };\n    /**\n     * Date on which the invoice was generated.\n     */\n    date: string;\n    /**\n     * Total amount to pay of the invoice.\n     */\n    amount: number;\n    /**\n     * Currency of the invoice amount.\n     */\n    currency: string;\n    paymentStatus: (\"deleted\" | \"draft\" | \"open\" | \"paid\" | \"uncollectible\" | \"void\") | null;\n    /**\n     * Date on which the invoice is due.\n     */\n    dueDate?: string;\n    /**\n     * Number of times payment has been unsuccessfully attempted on the invoice.\n     */\n    paymentAttemptCount: number | null;\n    /**\n     * Date on which the next payment attempt will be made.\n     */\n    nextPaymentAttemptDate: string | null;\n    /**\n     * URL to download the PDF file of the invoice.\n     */\n    pdfUrl: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUpcomingInvoiceRequestHeaders {}\n\nexport interface GetUpcomingInvoiceRequestQuery {}\n\nexport interface GetUpcomingInvoiceRequestParams {\n  id: string;\n}\n\nexport interface GetUpcomingInvoiceRequestBody {}\n\nexport type GetUpcomingInvoiceInput = GetUpcomingInvoiceRequestBody & GetUpcomingInvoiceRequestHeaders & GetUpcomingInvoiceRequestQuery & GetUpcomingInvoiceRequestParams\n\nexport type GetUpcomingInvoiceRequest = {\n  headers: GetUpcomingInvoiceRequestHeaders;\n  query: GetUpcomingInvoiceRequestQuery;\n  params: GetUpcomingInvoiceRequestParams;\n  body: GetUpcomingInvoiceRequestBody;\n}\n\nexport const parseReq = (input: GetUpcomingInvoiceInput): GetUpcomingInvoiceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/upcoming-invoice`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetUpcomingInvoiceResponse {\n  /**\n   * Total amount to pay of the invoice.\n   */\n  total: number;\n  /**\n   * List of items included in the invoice.\n   */\n  lineItems: {\n    id: string;\n    /**\n     * Description of the line item.\n     */\n    description: string;\n    /**\n     * Total amount to pay (in cents) of the line item.\n     */\n    totalInCents: number;\n    /**\n     * Three-letter ISO currency code, in lowercase.\n     */\n    currency: string;\n    /**\n     * Price per unit (in cents) of the line item.\n     */\n    pricePerUnitInCents: number | null;\n    /**\n     * The quantity of the subscription, if the line item is a subscription or a proration.\n     */\n    quantity: number | null;\n    /**\n     * Type of the line item.\n     */\n    type: \"invoiceitem\" | \"subscription\";\n    /**\n     * Start date of the line item period.\n     */\n    periodStart: string | null;\n    /**\n     * End date of the line item period.\n     */\n    periodEnd: string | null;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestHeaders {}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestQuery {}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestParams {\n  id: string;\n}\n\nexport interface ChargeWorkspaceUnpaidInvoicesRequestBody {\n  /**\n   * @minItems 1\n   */\n  invoiceIds?: string[];\n}\n\nexport type ChargeWorkspaceUnpaidInvoicesInput = ChargeWorkspaceUnpaidInvoicesRequestBody & ChargeWorkspaceUnpaidInvoicesRequestHeaders & ChargeWorkspaceUnpaidInvoicesRequestQuery & ChargeWorkspaceUnpaidInvoicesRequestParams\n\nexport type ChargeWorkspaceUnpaidInvoicesRequest = {\n  headers: ChargeWorkspaceUnpaidInvoicesRequestHeaders;\n  query: ChargeWorkspaceUnpaidInvoicesRequestQuery;\n  params: ChargeWorkspaceUnpaidInvoicesRequestParams;\n  body: ChargeWorkspaceUnpaidInvoicesRequestBody;\n}\n\nexport const parseReq = (input: ChargeWorkspaceUnpaidInvoicesInput): ChargeWorkspaceUnpaidInvoicesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/billing/invoices/charge-unpaid`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'invoiceIds': input['invoiceIds'] },\n  }\n}\n\nexport interface ChargeWorkspaceUnpaidInvoicesResponse {\n  /**\n   * Invoices that were successfully charged by this request.\n   */\n  chargedInvoices: {\n    id: string;\n    amount: number;\n  }[];\n  /**\n   * Invoices that failed to be charged by this request.\n   */\n  failedInvoices: {\n    id: string;\n    amount: number;\n    failedReason: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkspaceRequestHeaders {}\n\nexport interface CreateWorkspaceRequestQuery {}\n\nexport interface CreateWorkspaceRequestParams {}\n\nexport interface CreateWorkspaceRequestBody {\n  name: string;\n}\n\nexport type CreateWorkspaceInput = CreateWorkspaceRequestBody & CreateWorkspaceRequestHeaders & CreateWorkspaceRequestQuery & CreateWorkspaceRequestParams\n\nexport type CreateWorkspaceRequest = {\n  headers: CreateWorkspaceRequestHeaders;\n  query: CreateWorkspaceRequestQuery;\n  params: CreateWorkspaceRequestParams;\n  body: CreateWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkspaceInput): CreateWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'] },\n  }\n}\n\nexport interface CreateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPublicWorkspaceRequestHeaders {}\n\nexport interface GetPublicWorkspaceRequestQuery {}\n\nexport interface GetPublicWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface GetPublicWorkspaceRequestBody {}\n\nexport type GetPublicWorkspaceInput = GetPublicWorkspaceRequestBody & GetPublicWorkspaceRequestHeaders & GetPublicWorkspaceRequestQuery & GetPublicWorkspaceRequestParams\n\nexport type GetPublicWorkspaceRequest = {\n  headers: GetPublicWorkspaceRequestHeaders;\n  query: GetPublicWorkspaceRequestQuery;\n  params: GetPublicWorkspaceRequestParams;\n  body: GetPublicWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: GetPublicWorkspaceInput): GetPublicWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/public`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPublicWorkspaceResponse {\n  id: string;\n  name: string;\n  createdAt: string;\n  updatedAt: string;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  handle?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspaceRequestHeaders {}\n\nexport interface GetWorkspaceRequestQuery {}\n\nexport interface GetWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface GetWorkspaceRequestBody {}\n\nexport type GetWorkspaceInput = GetWorkspaceRequestBody & GetWorkspaceRequestHeaders & GetWorkspaceRequestQuery & GetWorkspaceRequestParams\n\nexport type GetWorkspaceRequest = {\n  headers: GetWorkspaceRequestHeaders;\n  query: GetWorkspaceRequestQuery;\n  params: GetWorkspaceRequestParams;\n  body: GetWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspaceInput): GetWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceUsagesRequestHeaders {}\n\nexport interface ListWorkspaceUsagesRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface ListWorkspaceUsagesRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceUsagesRequestBody {}\n\nexport type ListWorkspaceUsagesInput = ListWorkspaceUsagesRequestBody & ListWorkspaceUsagesRequestHeaders & ListWorkspaceUsagesRequestQuery & ListWorkspaceUsagesRequestParams\n\nexport type ListWorkspaceUsagesRequest = {\n  headers: ListWorkspaceUsagesRequestHeaders;\n  query: ListWorkspaceUsagesRequestQuery;\n  params: ListWorkspaceUsagesRequestParams;\n  body: ListWorkspaceUsagesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceUsagesInput): ListWorkspaceUsagesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/usages`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceUsagesResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface BreakDownWorkspaceUsageByBotRequestHeaders {}\n\nexport interface BreakDownWorkspaceUsageByBotRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface BreakDownWorkspaceUsageByBotRequestParams {\n  id: string;\n}\n\nexport interface BreakDownWorkspaceUsageByBotRequestBody {}\n\nexport type BreakDownWorkspaceUsageByBotInput = BreakDownWorkspaceUsageByBotRequestBody & BreakDownWorkspaceUsageByBotRequestHeaders & BreakDownWorkspaceUsageByBotRequestQuery & BreakDownWorkspaceUsageByBotRequestParams\n\nexport type BreakDownWorkspaceUsageByBotRequest = {\n  headers: BreakDownWorkspaceUsageByBotRequestHeaders;\n  query: BreakDownWorkspaceUsageByBotRequestQuery;\n  params: BreakDownWorkspaceUsageByBotRequestParams;\n  body: BreakDownWorkspaceUsageByBotRequestBody;\n}\n\nexport const parseReq = (input: BreakDownWorkspaceUsageByBotInput): BreakDownWorkspaceUsageByBotRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/usages/by-bot`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface BreakDownWorkspaceUsageByBotResponse {\n  data: {\n    botId: string;\n    value: number;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAllWorkspaceQuotaCompletionRequestHeaders {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestQuery {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestParams {}\n\nexport interface GetAllWorkspaceQuotaCompletionRequestBody {}\n\nexport type GetAllWorkspaceQuotaCompletionInput = GetAllWorkspaceQuotaCompletionRequestBody & GetAllWorkspaceQuotaCompletionRequestHeaders & GetAllWorkspaceQuotaCompletionRequestQuery & GetAllWorkspaceQuotaCompletionRequestParams\n\nexport type GetAllWorkspaceQuotaCompletionRequest = {\n  headers: GetAllWorkspaceQuotaCompletionRequestHeaders;\n  query: GetAllWorkspaceQuotaCompletionRequestQuery;\n  params: GetAllWorkspaceQuotaCompletionRequestParams;\n  body: GetAllWorkspaceQuotaCompletionRequestBody;\n}\n\nexport const parseReq = (_: GetAllWorkspaceQuotaCompletionInput): GetAllWorkspaceQuotaCompletionRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/usages/quota-completion`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetAllWorkspaceQuotaCompletionResponse {\n  [k: string]: {\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n    completion: number;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspaceQuotaRequestHeaders {}\n\nexport interface GetWorkspaceQuotaRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface GetWorkspaceQuotaRequestParams {\n  id: string;\n}\n\nexport interface GetWorkspaceQuotaRequestBody {}\n\nexport type GetWorkspaceQuotaInput = GetWorkspaceQuotaRequestBody & GetWorkspaceQuotaRequestHeaders & GetWorkspaceQuotaRequestQuery & GetWorkspaceQuotaRequestParams\n\nexport type GetWorkspaceQuotaRequest = {\n  headers: GetWorkspaceQuotaRequestHeaders;\n  query: GetWorkspaceQuotaRequestQuery;\n  params: GetWorkspaceQuotaRequestParams;\n  body: GetWorkspaceQuotaRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspaceQuotaInput): GetWorkspaceQuotaRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/quota`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceQuotaResponse {\n  quota: {\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the quota that is used\n     */\n    value: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceQuotasRequestHeaders {}\n\nexport interface ListWorkspaceQuotasRequestQuery {\n  period?: string;\n}\n\nexport interface ListWorkspaceQuotasRequestParams {\n  id: string;\n}\n\nexport interface ListWorkspaceQuotasRequestBody {}\n\nexport type ListWorkspaceQuotasInput = ListWorkspaceQuotasRequestBody & ListWorkspaceQuotasRequestHeaders & ListWorkspaceQuotasRequestQuery & ListWorkspaceQuotasRequestParams\n\nexport type ListWorkspaceQuotasRequest = {\n  headers: ListWorkspaceQuotasRequestHeaders;\n  query: ListWorkspaceQuotasRequestQuery;\n  params: ListWorkspaceQuotasRequestParams;\n  body: ListWorkspaceQuotasRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceQuotasInput): ListWorkspaceQuotasRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/quotas`,\n    headers: {  },\n    query: { 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceQuotasResponse {\n  quotas: {\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the quota that is used\n     */\n    value: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkspaceRequestHeaders {}\n\nexport interface UpdateWorkspaceRequestQuery {}\n\nexport interface UpdateWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkspaceRequestBody {\n  name?: string;\n  spendingLimit?: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  /**\n   * @maxItems 5\n   */\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n}\n\nexport type UpdateWorkspaceInput = UpdateWorkspaceRequestBody & UpdateWorkspaceRequestHeaders & UpdateWorkspaceRequestQuery & UpdateWorkspaceRequestParams\n\nexport type UpdateWorkspaceRequest = {\n  headers: UpdateWorkspaceRequestHeaders;\n  query: UpdateWorkspaceRequestQuery;\n  params: UpdateWorkspaceRequestParams;\n  body: UpdateWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkspaceInput): UpdateWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'spendingLimit': input['spendingLimit'], 'about': input['about'], 'profilePicture': input['profilePicture'], 'contactEmail': input['contactEmail'], 'website': input['website'], 'socialAccounts': input['socialAccounts'], 'isPublic': input['isPublic'], 'handle': input['handle'] },\n  }\n}\n\nexport interface UpdateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CheckHandleAvailabilityRequestHeaders {}\n\nexport interface CheckHandleAvailabilityRequestQuery {}\n\nexport interface CheckHandleAvailabilityRequestParams {}\n\nexport interface CheckHandleAvailabilityRequestBody {\n  handle: string;\n}\n\nexport type CheckHandleAvailabilityInput = CheckHandleAvailabilityRequestBody & CheckHandleAvailabilityRequestHeaders & CheckHandleAvailabilityRequestQuery & CheckHandleAvailabilityRequestParams\n\nexport type CheckHandleAvailabilityRequest = {\n  headers: CheckHandleAvailabilityRequestHeaders;\n  query: CheckHandleAvailabilityRequestQuery;\n  params: CheckHandleAvailabilityRequestParams;\n  body: CheckHandleAvailabilityRequestBody;\n}\n\nexport const parseReq = (input: CheckHandleAvailabilityInput): CheckHandleAvailabilityRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/handle-availability`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'handle': input['handle'] },\n  }\n}\n\nexport interface CheckHandleAvailabilityResponse {\n  available: boolean;\n  suggestions: string[];\n  usedBy?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspacesRequestHeaders {}\n\nexport interface ListWorkspacesRequestQuery {\n  nextToken?: string;\n  handle?: string;\n}\n\nexport interface ListWorkspacesRequestParams {}\n\nexport interface ListWorkspacesRequestBody {}\n\nexport type ListWorkspacesInput = ListWorkspacesRequestBody & ListWorkspacesRequestHeaders & ListWorkspacesRequestQuery & ListWorkspacesRequestParams\n\nexport type ListWorkspacesRequest = {\n  headers: ListWorkspacesRequestHeaders;\n  query: ListWorkspacesRequestQuery;\n  params: ListWorkspacesRequestParams;\n  body: ListWorkspacesRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspacesInput): ListWorkspacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'handle': input['handle'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspacesResponse {\n  workspaces: UpdateWorkspaceResponse[];\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}\nexport interface UpdateWorkspaceResponse {\n  id: string;\n  name: string;\n  ownerId: string;\n  createdAt: string;\n  updatedAt: string;\n  botCount: number;\n  billingVersion: \"v1\" | \"v2\" | \"v3\" | \"v4\";\n  plan: \"community\" | \"team\" | \"enterprise\" | \"plus\";\n  blocked: boolean;\n  spendingLimit: number;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  isPublic?: boolean;\n  handle?: string;\n  activeTrialId: string | null;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPublicWorkspacesRequestHeaders {}\n\nexport interface ListPublicWorkspacesRequestQuery {\n  nextToken?: string;\n  workspaceIds?: string[];\n  search?: string;\n}\n\nexport interface ListPublicWorkspacesRequestParams {}\n\nexport interface ListPublicWorkspacesRequestBody {}\n\nexport type ListPublicWorkspacesInput = ListPublicWorkspacesRequestBody & ListPublicWorkspacesRequestHeaders & ListPublicWorkspacesRequestQuery & ListPublicWorkspacesRequestParams\n\nexport type ListPublicWorkspacesRequest = {\n  headers: ListPublicWorkspacesRequestHeaders;\n  query: ListPublicWorkspacesRequestQuery;\n  params: ListPublicWorkspacesRequestParams;\n  body: ListPublicWorkspacesRequestBody;\n}\n\nexport const parseReq = (input: ListPublicWorkspacesInput): ListPublicWorkspacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/public`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'workspaceIds': input['workspaceIds'], 'search': input['search'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPublicWorkspacesResponse {\n  workspaces: GetPublicWorkspaceResponse[];\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}\nexport interface GetPublicWorkspaceResponse {\n  id: string;\n  name: string;\n  createdAt: string;\n  updatedAt: string;\n  about?: string;\n  profilePicture?: string;\n  contactEmail?: string;\n  website?: string;\n  socialAccounts?: string[];\n  handle?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkspaceRequestHeaders {}\n\nexport interface DeleteWorkspaceRequestQuery {}\n\nexport interface DeleteWorkspaceRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkspaceRequestBody {}\n\nexport type DeleteWorkspaceInput = DeleteWorkspaceRequestBody & DeleteWorkspaceRequestHeaders & DeleteWorkspaceRequestQuery & DeleteWorkspaceRequestParams\n\nexport type DeleteWorkspaceRequest = {\n  headers: DeleteWorkspaceRequestHeaders;\n  query: DeleteWorkspaceRequestQuery;\n  params: DeleteWorkspaceRequestParams;\n  body: DeleteWorkspaceRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkspaceInput): DeleteWorkspaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkspaceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetAuditRecordsRequestHeaders {}\n\nexport interface GetAuditRecordsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface GetAuditRecordsRequestParams {\n  id: string;\n}\n\nexport interface GetAuditRecordsRequestBody {}\n\nexport type GetAuditRecordsInput = GetAuditRecordsRequestBody & GetAuditRecordsRequestHeaders & GetAuditRecordsRequestQuery & GetAuditRecordsRequestParams\n\nexport type GetAuditRecordsRequest = {\n  headers: GetAuditRecordsRequestHeaders;\n  query: GetAuditRecordsRequestQuery;\n  params: GetAuditRecordsRequestParams;\n  body: GetAuditRecordsRequestBody;\n}\n\nexport const parseReq = (input: GetAuditRecordsInput): GetAuditRecordsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/${encodeURIComponent(input['id'])}/audit-records`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetAuditRecordsResponse {\n  records: {\n    id: string;\n    recordedAt: string;\n    userId: string | null;\n    userEmail?: string | null;\n    resourceId: string | null;\n    resourceName?: string | null;\n    value?: string | null;\n    action:\n      | \"UNKNOWN\"\n      | \"ADD_WORKSPACE_MEMBER\"\n      | \"REMOVE_WORKSPACE_MEMBER\"\n      | \"UPDATE_WORKSPACE_MEMBER\"\n      | \"CLOSE_WORKSPACE\"\n      | \"CREATE_BOT\"\n      | \"CREATE_WORKSPACE\"\n      | \"DELETE_BOT\"\n      | \"DEPLOY_BOT\"\n      | \"TRANSFER_BOT\"\n      | \"DOWNLOAD_BOT_ARCHIVE\"\n      | \"UPDATE_BOT\"\n      | \"UPDATE_BOT_CHANNEL\"\n      | \"UPDATE_BOT_CONFIG\"\n      | \"UPDATE_PAYMENT_METHOD\"\n      | \"UPDATE_WORKSPACE\"\n      | \"SET_SPENDING_LIMIT\"\n      | \"SET_AI_SPENDING_LIMIT\"\n      | \"UPDATE_WORKSPACE_BILLING_READONLY\"\n      | \"UPDATE_WORKSPACE_PLAN_READONLY\"\n      | \"UPDATE_WORKSPACE_ADDONS_READONLY\"\n      | \"EXECUTE_AUTO_RECHARGE_SUCCESS\"\n      | \"EXECUTE_AUTO_RECHARGE_FAILED\";\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 SetWorkspacePreferenceRequestHeaders {}\n\nexport interface SetWorkspacePreferenceRequestQuery {}\n\nexport interface SetWorkspacePreferenceRequestParams {\n  key: string;\n}\n\nexport interface SetWorkspacePreferenceRequestBody {\n  value?: any;\n}\n\nexport type SetWorkspacePreferenceInput = SetWorkspacePreferenceRequestBody & SetWorkspacePreferenceRequestHeaders & SetWorkspacePreferenceRequestQuery & SetWorkspacePreferenceRequestParams\n\nexport type SetWorkspacePreferenceRequest = {\n  headers: SetWorkspacePreferenceRequestHeaders;\n  query: SetWorkspacePreferenceRequestQuery;\n  params: SetWorkspacePreferenceRequestParams;\n  body: SetWorkspacePreferenceRequestBody;\n}\n\nexport const parseReq = (input: SetWorkspacePreferenceInput): SetWorkspacePreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: { 'value': input['value'] },\n  }\n}\n\nexport interface SetWorkspacePreferenceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspacePreferenceRequestHeaders {}\n\nexport interface GetWorkspacePreferenceRequestQuery {}\n\nexport interface GetWorkspacePreferenceRequestParams {\n  key: string;\n}\n\nexport interface GetWorkspacePreferenceRequestBody {}\n\nexport type GetWorkspacePreferenceInput = GetWorkspacePreferenceRequestBody & GetWorkspacePreferenceRequestHeaders & GetWorkspacePreferenceRequestQuery & GetWorkspacePreferenceRequestParams\n\nexport type GetWorkspacePreferenceRequest = {\n  headers: GetWorkspacePreferenceRequestHeaders;\n  query: GetWorkspacePreferenceRequestQuery;\n  params: GetWorkspacePreferenceRequestParams;\n  body: GetWorkspacePreferenceRequestBody;\n}\n\nexport const parseReq = (input: GetWorkspacePreferenceInput): GetWorkspacePreferenceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspaces/preferences/${encodeURIComponent(input['key'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'key': input['key'] },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspacePreferenceResponse {\n  value?: any;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListWorkspaceMembersRequestHeaders {}\n\nexport interface ListWorkspaceMembersRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListWorkspaceMembersRequestParams {}\n\nexport interface ListWorkspaceMembersRequestBody {}\n\nexport type ListWorkspaceMembersInput = ListWorkspaceMembersRequestBody & ListWorkspaceMembersRequestHeaders & ListWorkspaceMembersRequestQuery & ListWorkspaceMembersRequestParams\n\nexport type ListWorkspaceMembersRequest = {\n  headers: ListWorkspaceMembersRequestHeaders;\n  query: ListWorkspaceMembersRequestQuery;\n  params: ListWorkspaceMembersRequestParams;\n  body: ListWorkspaceMembersRequestBody;\n}\n\nexport const parseReq = (input: ListWorkspaceMembersInput): ListWorkspaceMembersRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListWorkspaceMembersResponse {\n  members: UpdateWorkspaceMemberResponse[];\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}\nexport interface UpdateWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetWorkspaceMemberRequestHeaders {}\n\nexport interface GetWorkspaceMemberRequestQuery {}\n\nexport interface GetWorkspaceMemberRequestParams {}\n\nexport interface GetWorkspaceMemberRequestBody {}\n\nexport type GetWorkspaceMemberInput = GetWorkspaceMemberRequestBody & GetWorkspaceMemberRequestHeaders & GetWorkspaceMemberRequestQuery & GetWorkspaceMemberRequestParams\n\nexport type GetWorkspaceMemberRequest = {\n  headers: GetWorkspaceMemberRequestHeaders;\n  query: GetWorkspaceMemberRequestQuery;\n  params: GetWorkspaceMemberRequestParams;\n  body: GetWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (_: GetWorkspaceMemberInput): GetWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/me`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteWorkspaceMemberRequestHeaders {}\n\nexport interface DeleteWorkspaceMemberRequestQuery {}\n\nexport interface DeleteWorkspaceMemberRequestParams {\n  id: string;\n}\n\nexport interface DeleteWorkspaceMemberRequestBody {}\n\nexport type DeleteWorkspaceMemberInput = DeleteWorkspaceMemberRequestBody & DeleteWorkspaceMemberRequestHeaders & DeleteWorkspaceMemberRequestQuery & DeleteWorkspaceMemberRequestParams\n\nexport type DeleteWorkspaceMemberRequest = {\n  headers: DeleteWorkspaceMemberRequestHeaders;\n  query: DeleteWorkspaceMemberRequestQuery;\n  params: DeleteWorkspaceMemberRequestParams;\n  body: DeleteWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: DeleteWorkspaceMemberInput): DeleteWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteWorkspaceMemberResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateWorkspaceMemberRequestHeaders {}\n\nexport interface CreateWorkspaceMemberRequestQuery {}\n\nexport interface CreateWorkspaceMemberRequestParams {}\n\nexport interface CreateWorkspaceMemberRequestBody {\n  email: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n}\n\nexport type CreateWorkspaceMemberInput = CreateWorkspaceMemberRequestBody & CreateWorkspaceMemberRequestHeaders & CreateWorkspaceMemberRequestQuery & CreateWorkspaceMemberRequestParams\n\nexport type CreateWorkspaceMemberRequest = {\n  headers: CreateWorkspaceMemberRequestHeaders;\n  query: CreateWorkspaceMemberRequestQuery;\n  params: CreateWorkspaceMemberRequestParams;\n  body: CreateWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: CreateWorkspaceMemberInput): CreateWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'email': input['email'], 'role': input['role'] },\n  }\n}\n\nexport interface CreateWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateWorkspaceMemberRequestHeaders {}\n\nexport interface UpdateWorkspaceMemberRequestQuery {}\n\nexport interface UpdateWorkspaceMemberRequestParams {\n  id: string;\n}\n\nexport interface UpdateWorkspaceMemberRequestBody {\n  role?: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n}\n\nexport type UpdateWorkspaceMemberInput = UpdateWorkspaceMemberRequestBody & UpdateWorkspaceMemberRequestHeaders & UpdateWorkspaceMemberRequestQuery & UpdateWorkspaceMemberRequestParams\n\nexport type UpdateWorkspaceMemberRequest = {\n  headers: UpdateWorkspaceMemberRequestHeaders;\n  query: UpdateWorkspaceMemberRequestQuery;\n  params: UpdateWorkspaceMemberRequestParams;\n  body: UpdateWorkspaceMemberRequestBody;\n}\n\nexport const parseReq = (input: UpdateWorkspaceMemberInput): UpdateWorkspaceMemberRequest & { path: string } => {\n  return {\n    path: `/v1/admin/workspace-members/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'role': input['role'] },\n  }\n}\n\nexport interface UpdateWorkspaceMemberResponse {\n  id: string;\n  userId?: string;\n  email: string;\n  createdAt: string;\n  role: \"viewer\" | \"billing\" | \"developer\" | \"manager\" | \"administrator\" | \"owner\";\n  profilePicture?: string;\n  displayName?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListIntegrationApiKeysRequestHeaders {}\n\nexport interface ListIntegrationApiKeysRequestQuery {\n  integrationId: string;\n}\n\nexport interface ListIntegrationApiKeysRequestParams {}\n\nexport interface ListIntegrationApiKeysRequestBody {}\n\nexport type ListIntegrationApiKeysInput = ListIntegrationApiKeysRequestBody & ListIntegrationApiKeysRequestHeaders & ListIntegrationApiKeysRequestQuery & ListIntegrationApiKeysRequestParams\n\nexport type ListIntegrationApiKeysRequest = {\n  headers: ListIntegrationApiKeysRequestHeaders;\n  query: ListIntegrationApiKeysRequestQuery;\n  params: ListIntegrationApiKeysRequestParams;\n  body: ListIntegrationApiKeysRequestBody;\n}\n\nexport const parseReq = (input: ListIntegrationApiKeysInput): ListIntegrationApiKeysRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks`,\n    headers: {  },\n    query: { 'integrationId': input['integrationId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListIntegrationApiKeysResponse {\n  iaks: {\n    id: string;\n    createdAt: string;\n    note: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationApiKeyRequestHeaders {}\n\nexport interface CreateIntegrationApiKeyRequestQuery {}\n\nexport interface CreateIntegrationApiKeyRequestParams {}\n\nexport interface CreateIntegrationApiKeyRequestBody {\n  integrationId: string;\n  note?: string;\n}\n\nexport type CreateIntegrationApiKeyInput = CreateIntegrationApiKeyRequestBody & CreateIntegrationApiKeyRequestHeaders & CreateIntegrationApiKeyRequestQuery & CreateIntegrationApiKeyRequestParams\n\nexport type CreateIntegrationApiKeyRequest = {\n  headers: CreateIntegrationApiKeyRequestHeaders;\n  query: CreateIntegrationApiKeyRequestQuery;\n  params: CreateIntegrationApiKeyRequestParams;\n  body: CreateIntegrationApiKeyRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationApiKeyInput): CreateIntegrationApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'integrationId': input['integrationId'], 'note': input['note'] },\n  }\n}\n\nexport interface CreateIntegrationApiKeyResponse {\n  id: string;\n  createdAt: string;\n  note: string;\n  /**\n   * The IAK value. This will only be returned here when created and cannot be retrieved later.\n   */\n  value: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationApiKeyRequestHeaders {}\n\nexport interface DeleteIntegrationApiKeyRequestQuery {}\n\nexport interface DeleteIntegrationApiKeyRequestParams {\n  id: string;\n}\n\nexport interface DeleteIntegrationApiKeyRequestBody {}\n\nexport type DeleteIntegrationApiKeyInput = DeleteIntegrationApiKeyRequestBody & DeleteIntegrationApiKeyRequestHeaders & DeleteIntegrationApiKeyRequestQuery & DeleteIntegrationApiKeyRequestParams\n\nexport type DeleteIntegrationApiKeyRequest = {\n  headers: DeleteIntegrationApiKeyRequestHeaders;\n  query: DeleteIntegrationApiKeyRequestQuery;\n  params: DeleteIntegrationApiKeyRequestParams;\n  body: DeleteIntegrationApiKeyRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationApiKeyInput): DeleteIntegrationApiKeyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/iaks/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationApiKeyResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateIntegrationRequestHeaders {}\n\nexport interface CreateIntegrationRequestQuery {}\n\nexport interface CreateIntegrationRequestParams {}\n\nexport interface CreateIntegrationRequestBody {\n  /**\n   * Name of the [Integration](#schema_integration)\n   */\n  name: string;\n  /**\n   * Version of the [Integration](#schema_integration)\n   */\n  version: string;\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      required?: boolean;\n      linkTemplateScript?: string;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        required?: boolean;\n        linkTemplateScript?: string;\n      };\n    };\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  identifier?: {\n    fallbackHandlerScript?: string;\n    extractScript?: string;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n    };\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    };\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string;\n  /**\n   * Indicates if the integration is a development integration; Dev integrations run locally\n   */\n  dev?: boolean;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type CreateIntegrationInput = CreateIntegrationRequestBody & CreateIntegrationRequestHeaders & CreateIntegrationRequestQuery & CreateIntegrationRequestParams\n\nexport type CreateIntegrationRequest = {\n  headers: CreateIntegrationRequestHeaders;\n  query: CreateIntegrationRequestQuery;\n  params: CreateIntegrationRequestParams;\n  body: CreateIntegrationRequestBody;\n}\n\nexport const parseReq = (input: CreateIntegrationInput): CreateIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'configurations': input['configurations'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'entities': input['entities'], 'attributes': input['attributes'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'secrets': input['secrets'], 'code': input['code'], 'url': input['url'], 'dev': input['dev'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface CreateIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ValidateIntegrationCreationRequestHeaders {}\n\nexport interface ValidateIntegrationCreationRequestQuery {}\n\nexport interface ValidateIntegrationCreationRequestParams {}\n\nexport interface ValidateIntegrationCreationRequestBody {\n  /**\n   * Name of the [Integration](#schema_integration)\n   */\n  name: string;\n  /**\n   * Version of the [Integration](#schema_integration)\n   */\n  version: string;\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      required?: boolean;\n      linkTemplateScript?: string;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        required?: boolean;\n        linkTemplateScript?: string;\n      };\n    };\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  identifier?: {\n    fallbackHandlerScript?: string;\n    extractScript?: string;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          };\n        };\n      };\n    };\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    };\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string;\n  /**\n   * Indicates if the integration is a development integration; Dev integrations run locally\n   */\n  dev?: boolean;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type ValidateIntegrationCreationInput = ValidateIntegrationCreationRequestBody & ValidateIntegrationCreationRequestHeaders & ValidateIntegrationCreationRequestQuery & ValidateIntegrationCreationRequestParams\n\nexport type ValidateIntegrationCreationRequest = {\n  headers: ValidateIntegrationCreationRequestHeaders;\n  query: ValidateIntegrationCreationRequestQuery;\n  params: ValidateIntegrationCreationRequestParams;\n  body: ValidateIntegrationCreationRequestBody;\n}\n\nexport const parseReq = (input: ValidateIntegrationCreationInput): ValidateIntegrationCreationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/validate`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'configurations': input['configurations'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'entities': input['entities'], 'attributes': input['attributes'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'secrets': input['secrets'], 'code': input['code'], 'url': input['url'], 'dev': input['dev'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface ValidateIntegrationCreationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateIntegrationRequestHeaders {}\n\nexport interface UpdateIntegrationRequestQuery {}\n\nexport interface UpdateIntegrationRequestParams {\n  id: string;\n}\n\nexport interface UpdateIntegrationRequestBody {\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      linkTemplateScript?: string | null;\n      required?: boolean;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        linkTemplateScript?: string | null;\n        required?: boolean;\n      };\n    } | null;\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Maximum execution time of the integration (in seconds).\n   */\n  maxExecutionTime?: number;\n  identifier?: {\n    extractScript?: string | null;\n    fallbackHandlerScript?: string | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string | null;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type UpdateIntegrationInput = UpdateIntegrationRequestBody & UpdateIntegrationRequestHeaders & UpdateIntegrationRequestQuery & UpdateIntegrationRequestParams\n\nexport type UpdateIntegrationRequest = {\n  headers: UpdateIntegrationRequestHeaders;\n  query: UpdateIntegrationRequestQuery;\n  params: UpdateIntegrationRequestParams;\n  body: UpdateIntegrationRequestBody;\n}\n\nexport const parseReq = (input: UpdateIntegrationInput): UpdateIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'configurations': input['configurations'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'channels': input['channels'], 'maxExecutionTime': input['maxExecutionTime'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'attributes': input['attributes'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface UpdateIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RotateIntegrationSigningSecretsRequestHeaders {}\n\nexport interface RotateIntegrationSigningSecretsRequestQuery {}\n\nexport interface RotateIntegrationSigningSecretsRequestParams {\n  id: string;\n}\n\nexport interface RotateIntegrationSigningSecretsRequestBody {}\n\nexport type RotateIntegrationSigningSecretsInput = RotateIntegrationSigningSecretsRequestBody & RotateIntegrationSigningSecretsRequestHeaders & RotateIntegrationSigningSecretsRequestQuery & RotateIntegrationSigningSecretsRequestParams\n\nexport type RotateIntegrationSigningSecretsRequest = {\n  headers: RotateIntegrationSigningSecretsRequestHeaders;\n  query: RotateIntegrationSigningSecretsRequestQuery;\n  params: RotateIntegrationSigningSecretsRequestParams;\n  body: RotateIntegrationSigningSecretsRequestBody;\n}\n\nexport const parseReq = (input: RotateIntegrationSigningSecretsInput): RotateIntegrationSigningSecretsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/signing-secrets/rotate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface RotateIntegrationSigningSecretsResponse {\n  /**\n   * The new signing secret that can be used immediately. The old signing secret(s) will continue to work for 24 hours after this operation to allow for a smooth transition.\n   */\n  newSigningSecret: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ValidateIntegrationUpdateRequestHeaders {}\n\nexport interface ValidateIntegrationUpdateRequestQuery {}\n\nexport interface ValidateIntegrationUpdateRequestParams {\n  id: string;\n}\n\nexport interface ValidateIntegrationUpdateRequestBody {\n  /**\n   * Default configuration definition of the integration\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema?: {\n      [k: string]: any;\n    };\n    identifier?: {\n      linkTemplateScript?: string | null;\n      required?: boolean;\n    };\n  };\n  /**\n   * Additional configuration definitions of the integration\n   */\n  configurations?: {\n    [k: string]: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema?: {\n        [k: string]: any;\n      };\n      identifier?: {\n        linkTemplateScript?: string | null;\n        required?: boolean;\n      };\n    } | null;\n  };\n  /**\n   * **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.\n   */\n  extraOperations?: {\n    [k: string]: {\n      enabled: boolean;\n    };\n  };\n  sdkVersion?: string;\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n      conversation?: {\n        /**\n         * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n         */\n        creation?: {\n          /**\n           * Enable conversation creation\n           */\n          enabled: boolean;\n          /**\n           * The list of tags that are required to be specified when calling the API directly to create a conversation.\n           */\n          requiredTags: string[];\n        };\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n      message?: {\n        tags?: {\n          /**\n           * Definition of a tag that can be provided on the object\n           */\n          [k: string]: {\n            /**\n             * Title of the tag\n             */\n            title?: string;\n            /**\n             * Description of the tag\n             */\n            description?: string;\n          } | null;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Maximum execution time of the integration (in seconds).\n   */\n  maxExecutionTime?: number;\n  identifier?: {\n    extractScript?: string | null;\n    fallbackHandlerScript?: string | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  states?: {\n    /**\n     * State definition\n     */\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n       */\n      type: \"conversation\" | \"user\" | \"integration\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  user?: {\n    /**\n     * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n     */\n    creation?: {\n      /**\n       * Enable user creation\n       */\n      enabled: boolean;\n      /**\n       * The list of tags that are required to be specified when calling the API directly to create a user.\n       */\n      requiredTags: string[];\n    };\n    tags?: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  interfaces?: {\n    [k: string]: {\n      /**\n       * ID of the interface\n       */\n      id: string;\n      entities?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      actions?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      events?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n      channels?: {\n        [k: string]: {\n          name: string;\n        };\n      };\n    } | null;\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  /**\n   * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n   */\n  secrets?: {\n    [k: string]: string | null;\n  };\n  /**\n   * JavaScript code of the integration\n   */\n  code?: string;\n  /**\n   * Base64 encoded svg of the integration icon. This icon is global to the integration each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the integration readme. The readme is specific to each integration versions.\n   */\n  readme?: string;\n  /**\n   * Title of the integration. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the integration. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * URL of the integration\n   */\n  url?: string | null;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  layers?: string[];\n}\n\nexport type ValidateIntegrationUpdateInput = ValidateIntegrationUpdateRequestBody & ValidateIntegrationUpdateRequestHeaders & ValidateIntegrationUpdateRequestQuery & ValidateIntegrationUpdateRequestParams\n\nexport type ValidateIntegrationUpdateRequest = {\n  headers: ValidateIntegrationUpdateRequestHeaders;\n  query: ValidateIntegrationUpdateRequestQuery;\n  params: ValidateIntegrationUpdateRequestParams;\n  body: ValidateIntegrationUpdateRequestBody;\n}\n\nexport const parseReq = (input: ValidateIntegrationUpdateInput): ValidateIntegrationUpdateRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/validate`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'configurations': input['configurations'], 'extraOperations': input['extraOperations'], 'sdkVersion': input['sdkVersion'], 'channels': input['channels'], 'maxExecutionTime': input['maxExecutionTime'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'attributes': input['attributes'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], 'visibility': input['visibility'], 'layers': input['layers'] },\n  }\n}\n\nexport interface ValidateIntegrationUpdateResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListIntegrationsRequestHeaders {}\n\nexport interface ListIntegrationsRequestQuery {\n  nextToken?: string;\n  limit?: number;\n  name?: string;\n  version?: string;\n  interfaceId?: string;\n  interfaceName?: string;\n  installedByBotId?: string;\n  verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n  search?: string;\n  sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n  direction?: \"asc\" | \"desc\";\n  visibility?: \"public\" | \"private\";\n  dev?: boolean;\n}\n\nexport interface ListIntegrationsRequestParams {}\n\nexport interface ListIntegrationsRequestBody {}\n\nexport type ListIntegrationsInput = ListIntegrationsRequestBody & ListIntegrationsRequestHeaders & ListIntegrationsRequestQuery & ListIntegrationsRequestParams\n\nexport type ListIntegrationsRequest = {\n  headers: ListIntegrationsRequestHeaders;\n  query: ListIntegrationsRequestQuery;\n  params: ListIntegrationsRequestParams;\n  body: ListIntegrationsRequestBody;\n}\n\nexport const parseReq = (input: ListIntegrationsInput): ListIntegrationsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'], 'name': input['name'], 'version': input['version'], 'interfaceId': input['interfaceId'], 'interfaceName': input['interfaceName'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'], 'visibility': input['visibility'], 'dev': input['dev'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListIntegrationsResponse {\n  integrations: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Metadata about which fields matched the search criteria\n     */\n    matchedOn?: {\n      /**\n       * Whether the integration name matched the search term\n       */\n      name?: boolean;\n      /**\n       * Whether the integration title matched the search term\n       */\n      title?: boolean;\n      /**\n       * Whether the integration description matched the search term\n       */\n      description?: boolean;\n      /**\n       * Action names that matched the search term\n       */\n      actions?: string[];\n      /**\n       * Interface names that matched the search term\n       */\n      interfaces?: string[];\n    };\n    ownerWorkspace?: {\n      id: string;\n      handle: string | null;\n      name: string;\n    };\n    /**\n     * Optional key-value attributes from the integration definition\n     */\n    attributes?: {\n      [k: string]: 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 GetIntegrationRequestHeaders {}\n\nexport interface GetIntegrationRequestQuery {}\n\nexport interface GetIntegrationRequestParams {\n  id: string;\n}\n\nexport interface GetIntegrationRequestBody {}\n\nexport type GetIntegrationInput = GetIntegrationRequestBody & GetIntegrationRequestHeaders & GetIntegrationRequestQuery & GetIntegrationRequestParams\n\nexport type GetIntegrationRequest = {\n  headers: GetIntegrationRequestHeaders;\n  query: GetIntegrationRequestQuery;\n  params: GetIntegrationRequestParams;\n  body: GetIntegrationRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationInput): GetIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationLogsRequestHeaders {}\n\nexport interface GetIntegrationLogsRequestQuery {\n  timeStart: string;\n  timeEnd?: string;\n  level?: string;\n  userId?: string;\n  conversationId?: string;\n  messageContains?: string;\n  nextToken?: string;\n}\n\nexport interface GetIntegrationLogsRequestParams {\n  id: string;\n}\n\nexport interface GetIntegrationLogsRequestBody {}\n\nexport type GetIntegrationLogsInput = GetIntegrationLogsRequestBody & GetIntegrationLogsRequestHeaders & GetIntegrationLogsRequestQuery & GetIntegrationLogsRequestParams\n\nexport type GetIntegrationLogsRequest = {\n  headers: GetIntegrationLogsRequestHeaders;\n  query: GetIntegrationLogsRequestQuery;\n  params: GetIntegrationLogsRequestParams;\n  body: GetIntegrationLogsRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationLogsInput): GetIntegrationLogsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}/logs`,\n    headers: {  },\n    query: { 'timeStart': input['timeStart'], 'timeEnd': input['timeEnd'], 'level': input['level'], 'userId': input['userId'], 'conversationId': input['conversationId'], 'messageContains': input['messageContains'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationLogsResponse {\n  logs: {\n    timestamp: string;\n    level: string;\n    message: string;\n    workflowId?: string;\n    userId?: string;\n    conversationId?: string;\n  }[];\n  nextToken?: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetIntegrationByNameRequestHeaders {}\n\nexport interface GetIntegrationByNameRequestQuery {}\n\nexport interface GetIntegrationByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetIntegrationByNameRequestBody {}\n\nexport type GetIntegrationByNameInput = GetIntegrationByNameRequestBody & GetIntegrationByNameRequestHeaders & GetIntegrationByNameRequestQuery & GetIntegrationByNameRequestParams\n\nexport type GetIntegrationByNameRequest = {\n  headers: GetIntegrationByNameRequestHeaders;\n  query: GetIntegrationByNameRequestQuery;\n  params: GetIntegrationByNameRequestParams;\n  body: GetIntegrationByNameRequestBody;\n}\n\nexport const parseReq = (input: GetIntegrationByNameInput): GetIntegrationByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetIntegrationByNameResponse {\n  integration: {\n    /**\n     * ID of the [Integration](#schema_integration)\n     */\n    id: string;\n    /**\n     * Creation date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Integration](#schema_integration) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Global identifier configuration of the [Integration](#schema_integration)\n     */\n    identifier: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to handle incoming requests for a request that doesn't have an identifier\n       */\n      fallbackHandlerScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook often use for OAuth\n       */\n      extractScript?: string;\n    };\n    sandbox?: {\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the identifier from an incoming webhook used specifically for the sandbox\n       */\n      identifierExtractScript?: string;\n      /**\n       * VRL Script of the [Integration](#schema_integration) to extract the message from an incoming webhook used specifically for the sandbox\n       */\n      messageExtractScript?: string;\n    };\n    /**\n     * Maximum execution time of the integration (in seconds).\n     */\n    maxExecutionTime?: number;\n    /**\n     * URL of the [Integration](#schema_integration)\n     */\n    url: string;\n    /**\n     * Signing secret of the [Integration](#schema_integration). This field is only visible when creating a new integration or when rotating the signing secret of an existing integration.\n     */\n    signingSecret: string;\n    /**\n     * Name of the [Integration](#schema_integration)\n     */\n    name: string;\n    /**\n     * Version of the [Integration](#schema_integration)\n     */\n    version: string;\n    interfaces: {\n      [k: string]: {\n        /**\n         * ID of the interface\n         */\n        id: string;\n        /**\n         * Name of the interface\n         */\n        name: string;\n        /**\n         * Version of the interface\n         */\n        version: string;\n        entities: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        actions: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        events: {\n          [k: string]: {\n            name: string;\n          };\n        };\n        channels: {\n          [k: string]: {\n            name: string;\n          };\n        };\n      };\n    };\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Identifier configuration of the [Integration](#schema_integration)\n       */\n      identifier: {\n        linkTemplateScript?: string;\n        required: boolean;\n      };\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    configurations: {\n      /**\n       * Configuration definition\n       */\n      [k: string]: {\n        /**\n         * Title of the configuration\n         */\n        title?: string;\n        /**\n         * Description of the configuration\n         */\n        description?: string;\n        /**\n         * Identifier configuration of the [Integration](#schema_integration)\n         */\n        identifier: {\n          linkTemplateScript?: string;\n          required: boolean;\n        };\n        /**\n         * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    channels: {\n      /**\n       * Channel definition\n       */\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n        /**\n         * Conversation object configuration\n         */\n        conversation: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n          /**\n           * The conversation creation setting determines how to create a conversation through the API directly. The integration will have to implement the `createConversation` functionality to support this setting.\n           */\n          creation: {\n            /**\n             * Enable conversation creation\n             */\n            enabled: boolean;\n            /**\n             * The list of tags that are required to be specified when calling the API directly to create a conversation.\n             */\n            requiredTags: string[];\n          };\n        };\n        /**\n         * Message object configuration\n         */\n        message: {\n          tags: {\n            /**\n             * Definition of a tag that can be provided on the object\n             */\n            [k: string]: {\n              /**\n               * Title of the tag\n               */\n              title?: string;\n              /**\n               * Description of the tag\n               */\n              description?: string;\n            };\n          };\n        };\n      };\n    };\n    states: {\n      /**\n       * State definition\n       */\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `integration`)\n         */\n        type: \"conversation\" | \"user\" | \"integration\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n      /**\n       * The user creation setting determines how to create a user through the API directly. The integration will have to implement the `createUser` functionality to support this setting.\n       */\n      creation: {\n        /**\n         * Enable user creation\n         */\n        enabled: boolean;\n        /**\n         * The list of tags that are required to be specified when calling the API directly to create a user.\n         */\n        requiredTags: string[];\n      };\n    };\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the integration is a development integration; Dev integrations run locally\n     */\n    dev: boolean;\n    /**\n     * Title of the integration. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the integration. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the integration. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the integration. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates whether the integration is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The integration's visibility. Public integrations are available to all and cannot be updated without creating a new version. Unlisted integrations behave identically to public integrations, but they are not listed in the integration hub. By default, integrations are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * Status of the integration version verification\n     */\n    verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n    /**\n     * The lifecycle status of the integration. When an integration is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n    /**\n     * Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing.\n     */\n    secrets: string[];\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteIntegrationRequestHeaders {}\n\nexport interface DeleteIntegrationRequestQuery {}\n\nexport interface DeleteIntegrationRequestParams {\n  id: string;\n}\n\nexport interface DeleteIntegrationRequestBody {}\n\nexport type DeleteIntegrationInput = DeleteIntegrationRequestBody & DeleteIntegrationRequestHeaders & DeleteIntegrationRequestQuery & DeleteIntegrationRequestParams\n\nexport type DeleteIntegrationRequest = {\n  headers: DeleteIntegrationRequestHeaders;\n  query: DeleteIntegrationRequestQuery;\n  params: DeleteIntegrationRequestParams;\n  body: DeleteIntegrationRequestBody;\n}\n\nexport const parseReq = (input: DeleteIntegrationInput): DeleteIntegrationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteIntegrationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RequestIntegrationVerificationRequestHeaders {}\n\nexport interface RequestIntegrationVerificationRequestQuery {}\n\nexport interface RequestIntegrationVerificationRequestParams {}\n\nexport interface RequestIntegrationVerificationRequestBody {\n  integrationId: string;\n}\n\nexport type RequestIntegrationVerificationInput = RequestIntegrationVerificationRequestBody & RequestIntegrationVerificationRequestHeaders & RequestIntegrationVerificationRequestQuery & RequestIntegrationVerificationRequestParams\n\nexport type RequestIntegrationVerificationRequest = {\n  headers: RequestIntegrationVerificationRequestHeaders;\n  query: RequestIntegrationVerificationRequestQuery;\n  params: RequestIntegrationVerificationRequestParams;\n  body: RequestIntegrationVerificationRequestBody;\n}\n\nexport const parseReq = (input: RequestIntegrationVerificationInput): RequestIntegrationVerificationRequest & { path: string } => {\n  return {\n    path: `/v1/admin/integrations/request-verification`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'integrationId': input['integrationId'] },\n  }\n}\n\nexport interface RequestIntegrationVerificationResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateInterfaceRequestHeaders {}\n\nexport interface CreateInterfaceRequestQuery {}\n\nexport interface CreateInterfaceRequestParams {}\n\nexport interface CreateInterfaceRequestBody {\n  /**\n   * Name of the [Interface](#schema_interface)\n   */\n  name: string;\n  /**\n   * Version of the [Interface](#schema_interface)\n   */\n  version: string;\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n      };\n    };\n  };\n  /**\n   * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n   */\n  nameTemplate?: {\n    script: string;\n    language: string;\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  sdkVersion?: string;\n  /**\n   * Base64 encoded svg of the interface icon. This icon is global to the interface each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the interface readme. The readme is specific to each interface versions.\n   */\n  readme?: string;\n  /**\n   * Title of the interface. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the interface. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n   */\n  public?: boolean;\n}\n\nexport type CreateInterfaceInput = CreateInterfaceRequestBody & CreateInterfaceRequestHeaders & CreateInterfaceRequestQuery & CreateInterfaceRequestParams\n\nexport type CreateInterfaceRequest = {\n  headers: CreateInterfaceRequestHeaders;\n  query: CreateInterfaceRequestQuery;\n  params: CreateInterfaceRequestParams;\n  body: CreateInterfaceRequestBody;\n}\n\nexport const parseReq = (input: CreateInterfaceInput): CreateInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'entities': input['entities'], 'events': input['events'], 'actions': input['actions'], 'channels': input['channels'], 'nameTemplate': input['nameTemplate'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'] },\n  }\n}\n\nexport interface CreateInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetInterfaceRequestHeaders {}\n\nexport interface GetInterfaceRequestQuery {}\n\nexport interface GetInterfaceRequestParams {\n  id: string;\n}\n\nexport interface GetInterfaceRequestBody {}\n\nexport type GetInterfaceInput = GetInterfaceRequestBody & GetInterfaceRequestHeaders & GetInterfaceRequestQuery & GetInterfaceRequestParams\n\nexport type GetInterfaceRequest = {\n  headers: GetInterfaceRequestHeaders;\n  query: GetInterfaceRequestQuery;\n  params: GetInterfaceRequestParams;\n  body: GetInterfaceRequestBody;\n}\n\nexport const parseReq = (input: GetInterfaceInput): GetInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetInterfaceByNameRequestHeaders {}\n\nexport interface GetInterfaceByNameRequestQuery {}\n\nexport interface GetInterfaceByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetInterfaceByNameRequestBody {}\n\nexport type GetInterfaceByNameInput = GetInterfaceByNameRequestBody & GetInterfaceByNameRequestHeaders & GetInterfaceByNameRequestQuery & GetInterfaceByNameRequestParams\n\nexport type GetInterfaceByNameRequest = {\n  headers: GetInterfaceByNameRequestHeaders;\n  query: GetInterfaceByNameRequestQuery;\n  params: GetInterfaceByNameRequestParams;\n  body: GetInterfaceByNameRequestBody;\n}\n\nexport const parseReq = (input: GetInterfaceByNameInput): GetInterfaceByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetInterfaceByNameResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateInterfaceRequestHeaders {}\n\nexport interface UpdateInterfaceRequestQuery {}\n\nexport interface UpdateInterfaceRequestParams {\n  id: string;\n}\n\nexport interface UpdateInterfaceRequestBody {\n  entities?: {\n    /**\n     * Entity definition\n     */\n    [k: string]: {\n      /**\n       * Title of the entity\n       */\n      title?: string;\n      /**\n       * Description of the entity\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  channels?: {\n    [k: string]: {\n      /**\n       * Title of the channel\n       */\n      title?: string;\n      /**\n       * Description of the channel\n       */\n      description?: string;\n      messages?: {\n        /**\n         * Message definition\n         */\n        [k: string]: {\n          schema: {\n            [k: string]: any;\n          };\n        } | null;\n      };\n    } | null;\n  };\n  /**\n   * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n   */\n  nameTemplate?: {\n    script: string;\n    language: string;\n  } | null;\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  sdkVersion?: string;\n  /**\n   * Base64 encoded svg of the interface icon. This icon is global to the interface each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the interface readme. The readme is specific to each interface versions.\n   */\n  readme?: string;\n  /**\n   * Title of the interface. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the interface. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n   */\n  public?: boolean;\n}\n\nexport type UpdateInterfaceInput = UpdateInterfaceRequestBody & UpdateInterfaceRequestHeaders & UpdateInterfaceRequestQuery & UpdateInterfaceRequestParams\n\nexport type UpdateInterfaceRequest = {\n  headers: UpdateInterfaceRequestHeaders;\n  query: UpdateInterfaceRequestQuery;\n  params: UpdateInterfaceRequestParams;\n  body: UpdateInterfaceRequestBody;\n}\n\nexport const parseReq = (input: UpdateInterfaceInput): UpdateInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'entities': input['entities'], 'events': input['events'], 'actions': input['actions'], 'channels': input['channels'], 'nameTemplate': input['nameTemplate'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'] },\n  }\n}\n\nexport interface UpdateInterfaceResponse {\n  interface: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    entities: {\n      /**\n       * Entity definition\n       */\n      [k: string]: {\n        /**\n         * Title of the entity\n         */\n        title?: string;\n        /**\n         * Description of the entity\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    channels: {\n      [k: string]: {\n        /**\n         * Title of the channel\n         */\n        title?: string;\n        /**\n         * Description of the channel\n         */\n        description?: string;\n        messages: {\n          /**\n           * Message definition\n           */\n          [k: string]: {\n            schema: {\n              [k: string]: any;\n            };\n          };\n        };\n      };\n    };\n    /**\n     * Template string optionaly used at build time by integrations implementing this interface to pick a name for actions and events.\n     */\n    nameTemplate?: {\n      script: string;\n      language: string;\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteInterfaceRequestHeaders {}\n\nexport interface DeleteInterfaceRequestQuery {}\n\nexport interface DeleteInterfaceRequestParams {\n  id: string;\n}\n\nexport interface DeleteInterfaceRequestBody {}\n\nexport type DeleteInterfaceInput = DeleteInterfaceRequestBody & DeleteInterfaceRequestHeaders & DeleteInterfaceRequestQuery & DeleteInterfaceRequestParams\n\nexport type DeleteInterfaceRequest = {\n  headers: DeleteInterfaceRequestHeaders;\n  query: DeleteInterfaceRequestQuery;\n  params: DeleteInterfaceRequestParams;\n  body: DeleteInterfaceRequestBody;\n}\n\nexport const parseReq = (input: DeleteInterfaceInput): DeleteInterfaceRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteInterfaceResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListInterfacesRequestHeaders {}\n\nexport interface ListInterfacesRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListInterfacesRequestParams {}\n\nexport interface ListInterfacesRequestBody {}\n\nexport type ListInterfacesInput = ListInterfacesRequestBody & ListInterfacesRequestHeaders & ListInterfacesRequestQuery & ListInterfacesRequestParams\n\nexport type ListInterfacesRequest = {\n  headers: ListInterfacesRequestHeaders;\n  query: ListInterfacesRequestQuery;\n  params: ListInterfacesRequestParams;\n  body: ListInterfacesRequestBody;\n}\n\nexport const parseReq = (input: ListInterfacesInput): ListInterfacesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/interfaces`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListInterfacesResponse {\n  interfaces: {\n    /**\n     * ID of the [Interface](#schema_interface)\n     */\n    id: string;\n    /**\n     * Creation date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Interface](#schema_interface) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Interface](#schema_interface)\n     */\n    name: string;\n    /**\n     * Version of the [Interface](#schema_interface)\n     */\n    version: string;\n    /**\n     * Title of the interface. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the interface. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the interface. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the interface. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * Indicates if the interface is public. Public interfaces are available to all and cannot be updated without creating a new version.\n     */\n    public: boolean;\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 CreatePluginRequestHeaders {}\n\nexport interface CreatePluginRequestQuery {}\n\nexport interface CreatePluginRequestParams {}\n\nexport interface CreatePluginRequestBody {\n  /**\n   * Name of the [Plugin](#schema_plugin)\n   */\n  name: string;\n  /**\n   * Version of the [Plugin](#schema_plugin)\n   */\n  version: string;\n  /**\n   * Configuration definition\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema: {\n      [k: string]: any;\n    };\n  };\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    };\n  };\n  events?: {\n    /**\n     * Event Definition\n     */\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  actions?: {\n    /**\n     * Action definition\n     */\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes\n       */\n      attributes?: {\n        [k: string]: string;\n      };\n    };\n  };\n  /**\n   * User object configuration\n   */\n  user?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Conversation object configuration\n   */\n  conversation?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      };\n    };\n  };\n  /**\n   * Optional attributes\n   */\n  attributes?: {\n    [k: string]: string;\n  };\n  sdkVersion?: string;\n  code: {\n    /**\n     * Code of plugin bundled for Node.JS\n     */\n    node: string;\n    /**\n     * Code of plugin bundled for the browser\n     */\n    browser: string;\n  };\n  /**\n   * Base64 encoded svg of the plugin icon. This icon is global to the plugin each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the plugin readme. The readme is specific to each plugin versions.\n   */\n  readme?: string;\n  /**\n   * Title of the plugin. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the plugin. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  dependencies?: {\n    /**\n     * Mapping of interface aliases to interface references\n     */\n    interfaces?: {\n      [k: string]: {\n        /**\n         * Id of the interface. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the interface\n         */\n        name?: string;\n        /**\n         * Version of the interface. Accepts semver versions and version ranges\n         */\n        version?: string;\n      };\n    };\n    /**\n     * Mapping of integration aliases to integration references\n     */\n    integrations?: {\n      [k: string]: {\n        /**\n         * Id of the integration. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the integration\n         */\n        name?: string;\n        /**\n         * Version of the integration. Accepts semver versions and version ranges\n         */\n        version?: string;\n      };\n    };\n  };\n}\n\nexport type CreatePluginInput = CreatePluginRequestBody & CreatePluginRequestHeaders & CreatePluginRequestQuery & CreatePluginRequestParams\n\nexport type CreatePluginRequest = {\n  headers: CreatePluginRequestHeaders;\n  query: CreatePluginRequestQuery;\n  params: CreatePluginRequestParams;\n  body: CreatePluginRequestBody;\n}\n\nexport const parseReq = (input: CreatePluginInput): CreatePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'version': input['version'], 'configuration': input['configuration'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'user': input['user'], 'conversation': input['conversation'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'dependencies': input['dependencies'] },\n  }\n}\n\nexport interface CreatePluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPluginRequestHeaders {}\n\nexport interface GetPluginRequestQuery {}\n\nexport interface GetPluginRequestParams {\n  id: string;\n}\n\nexport interface GetPluginRequestBody {}\n\nexport type GetPluginInput = GetPluginRequestBody & GetPluginRequestHeaders & GetPluginRequestQuery & GetPluginRequestParams\n\nexport type GetPluginRequest = {\n  headers: GetPluginRequestHeaders;\n  query: GetPluginRequestQuery;\n  params: GetPluginRequestParams;\n  body: GetPluginRequestBody;\n}\n\nexport const parseReq = (input: GetPluginInput): GetPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetDereferencedPluginRequestHeaders {}\n\nexport interface GetDereferencedPluginRequestQuery {\n  /**\n   * Mapping of interface aliases to integration IDs\n   */\n  interfaces: {\n    /**\n     * integration id\n     */\n    [k: string]: string;\n  };\n}\n\nexport interface GetDereferencedPluginRequestParams {\n  id: string;\n}\n\nexport interface GetDereferencedPluginRequestBody {}\n\nexport type GetDereferencedPluginInput = GetDereferencedPluginRequestBody & GetDereferencedPluginRequestHeaders & GetDereferencedPluginRequestQuery & GetDereferencedPluginRequestParams\n\nexport type GetDereferencedPluginRequest = {\n  headers: GetDereferencedPluginRequestHeaders;\n  query: GetDereferencedPluginRequestQuery;\n  params: GetDereferencedPluginRequestParams;\n  body: GetDereferencedPluginRequestBody;\n}\n\nexport const parseReq = (input: GetDereferencedPluginInput): GetDereferencedPluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}/dereferenced`,\n    headers: {  },\n    query: { 'interfaces': input['interfaces'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetDereferencedPluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetPluginByNameRequestHeaders {}\n\nexport interface GetPluginByNameRequestQuery {}\n\nexport interface GetPluginByNameRequestParams {\n  name: string;\n  version: string;\n}\n\nexport interface GetPluginByNameRequestBody {}\n\nexport type GetPluginByNameInput = GetPluginByNameRequestBody & GetPluginByNameRequestHeaders & GetPluginByNameRequestQuery & GetPluginByNameRequestParams\n\nexport type GetPluginByNameRequest = {\n  headers: GetPluginByNameRequestHeaders;\n  query: GetPluginByNameRequestQuery;\n  params: GetPluginByNameRequestParams;\n  body: GetPluginByNameRequestBody;\n}\n\nexport const parseReq = (input: GetPluginByNameInput): GetPluginByNameRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['name'])}/${encodeURIComponent(input['version'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'name': input['name'], 'version': input['version'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginByNameResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdatePluginRequestHeaders {}\n\nexport interface UpdatePluginRequestQuery {}\n\nexport interface UpdatePluginRequestParams {\n  id: string;\n}\n\nexport interface UpdatePluginRequestBody {\n  /**\n   * Configuration definition\n   */\n  configuration?: {\n    /**\n     * Title of the configuration\n     */\n    title?: string;\n    /**\n     * Description of the configuration\n     */\n    description?: string;\n    /**\n     * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n     */\n    schema: {\n      [k: string]: any;\n    };\n  } | null;\n  states?: {\n    [k: string]: {\n      /**\n       * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n       */\n      type: \"conversation\" | \"user\" | \"bot\";\n      /**\n       * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n       */\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n       */\n      expiry?: number;\n    } | null;\n  };\n  events?: {\n    [k: string]: {\n      /**\n       * Title of the event\n       */\n      title?: string;\n      /**\n       * Description of the event\n       */\n      description?: string;\n      schema: {\n        [k: string]: any;\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  actions?: {\n    [k: string]: {\n      /**\n       * Title of the action\n       */\n      title?: string;\n      /**\n       * Description of the action\n       */\n      description?: string;\n      billable?: boolean;\n      cacheable?: boolean;\n      input: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      output: {\n        schema: {\n          [k: string]: any;\n        };\n      };\n      /**\n       * Optional attributes. Set attributes to null to remove them\n       */\n      attributes?: {\n        [k: string]: string | null;\n      };\n    } | null;\n  };\n  user?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  conversation?: {\n    tags: {\n      /**\n       * Definition of a tag that can be provided on the object\n       */\n      [k: string]: {\n        /**\n         * Title of the tag\n         */\n        title?: string;\n        /**\n         * Description of the tag\n         */\n        description?: string;\n      } | null;\n    };\n  };\n  /**\n   * Optional attributes. Set attributes to null to remove them\n   */\n  attributes?: {\n    [k: string]: string | null;\n  };\n  sdkVersion?: string;\n  code?: {\n    /**\n     * Code of plugin bundled for Node.JS\n     */\n    node?: string;\n    /**\n     * Code of plugin bundled for the browser\n     */\n    browser?: string;\n  };\n  /**\n   * Base64 encoded svg of the plugin icon. This icon is global to the plugin each versions will be updated when this changes.\n   */\n  icon?: string;\n  /**\n   * Base64 encoded markdown of the plugin readme. The readme is specific to each plugin versions.\n   */\n  readme?: string;\n  /**\n   * Title of the plugin. This is the name that will be displayed in the UI\n   */\n  title?: string;\n  /**\n   * Description of the plugin. This is the description that will be displayed in the UI\n   */\n  description?: string;\n  /**\n   * @deprecated\n   * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n   */\n  public?: boolean;\n  /**\n   * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n   */\n  visibility?: \"public\" | \"private\" | \"unlisted\";\n  dependencies?: {\n    /**\n     * Mapping of interface aliases to interface references\n     */\n    interfaces?: {\n      [k: string]: {\n        /**\n         * Id of the interface. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the interface\n         */\n        name?: string;\n        /**\n         * Version of the interface. Accepts semver versions and version ranges\n         */\n        version?: string;\n      } | null;\n    };\n    /**\n     * Mapping of integration aliases to integration references\n     */\n    integrations?: {\n      [k: string]: {\n        /**\n         * Id of the integration. If provided, \"name\" and \"version\" are ignored\n         */\n        id?: string;\n        /**\n         * Name of the integration\n         */\n        name?: string;\n        /**\n         * Version of the integration. Accepts semver versions and version ranges\n         */\n        version?: string;\n      } | null;\n    };\n  };\n}\n\nexport type UpdatePluginInput = UpdatePluginRequestBody & UpdatePluginRequestHeaders & UpdatePluginRequestQuery & UpdatePluginRequestParams\n\nexport type UpdatePluginRequest = {\n  headers: UpdatePluginRequestHeaders;\n  query: UpdatePluginRequestQuery;\n  params: UpdatePluginRequestParams;\n  body: UpdatePluginRequestBody;\n}\n\nexport const parseReq = (input: UpdatePluginInput): UpdatePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'configuration': input['configuration'], 'states': input['states'], 'events': input['events'], 'actions': input['actions'], 'user': input['user'], 'conversation': input['conversation'], 'attributes': input['attributes'], 'sdkVersion': input['sdkVersion'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'public': input['public'], 'visibility': input['visibility'], 'dependencies': input['dependencies'] },\n  }\n}\n\nexport interface UpdatePluginResponse {\n  plugin: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Configuration definition\n     */\n    configuration: {\n      /**\n       * Title of the configuration\n       */\n      title?: string;\n      /**\n       * Description of the configuration\n       */\n      description?: string;\n      /**\n       * Schema of the configuration in the `JSON schema` format. The configuration data is validated against this `JSON schema`.\n       */\n      schema: {\n        [k: string]: any;\n      };\n    };\n    states: {\n      [k: string]: {\n        /**\n         * Type of the [State](#schema_state) (`conversation`, `user` or `bot`)\n         */\n        type: \"conversation\" | \"user\" | \"bot\";\n        /**\n         * Schema of the [State](#schema_state) in the `JSON schema` format. This `JSON schema` is going to be used for validating the state data.\n         */\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Expiry of the [State](#schema_state) in milliseconds. The state will expire if it is idle for the configured value. By default, a state doesn't expire.\n         */\n        expiry?: number;\n      };\n    };\n    events: {\n      /**\n       * Event Definition\n       */\n      [k: string]: {\n        /**\n         * Title of the event\n         */\n        title?: string;\n        /**\n         * Description of the event\n         */\n        description?: string;\n        schema: {\n          [k: string]: any;\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    actions: {\n      /**\n       * Action definition\n       */\n      [k: string]: {\n        /**\n         * Title of the action\n         */\n        title?: string;\n        /**\n         * Description of the action\n         */\n        description?: string;\n        billable?: boolean;\n        cacheable?: boolean;\n        input: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        output: {\n          schema: {\n            [k: string]: any;\n          };\n        };\n        /**\n         * Optional attributes\n         */\n        attributes?: {\n          [k: string]: string;\n        };\n      };\n    };\n    dependencies: {\n      interfaces: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n      integrations: {\n        [k: string]: {\n          id: string;\n          name: string;\n          version: string;\n        };\n      };\n    };\n    /**\n     * User object configuration\n     */\n    user: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Conversation object configuration\n     */\n    conversation: {\n      tags: {\n        /**\n         * Definition of a tag that can be provided on the object\n         */\n        [k: string]: {\n          /**\n           * Title of the tag\n           */\n          title?: string;\n          /**\n           * Description of the tag\n           */\n          description?: string;\n        };\n      };\n    };\n    /**\n     * Optional attributes\n     */\n    attributes?: {\n      [k: string]: string;\n    };\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeletePluginRequestHeaders {}\n\nexport interface DeletePluginRequestQuery {}\n\nexport interface DeletePluginRequestParams {\n  id: string;\n}\n\nexport interface DeletePluginRequestBody {}\n\nexport type DeletePluginInput = DeletePluginRequestBody & DeletePluginRequestHeaders & DeletePluginRequestQuery & DeletePluginRequestParams\n\nexport type DeletePluginRequest = {\n  headers: DeletePluginRequestHeaders;\n  query: DeletePluginRequestQuery;\n  params: DeletePluginRequestParams;\n  body: DeletePluginRequestBody;\n}\n\nexport const parseReq = (input: DeletePluginInput): DeletePluginRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeletePluginResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListPluginsRequestHeaders {}\n\nexport interface ListPluginsRequestQuery {\n  nextToken?: string;\n  name?: string;\n  version?: string;\n}\n\nexport interface ListPluginsRequestParams {}\n\nexport interface ListPluginsRequestBody {}\n\nexport type ListPluginsInput = ListPluginsRequestBody & ListPluginsRequestHeaders & ListPluginsRequestQuery & ListPluginsRequestParams\n\nexport type ListPluginsRequest = {\n  headers: ListPluginsRequestHeaders;\n  query: ListPluginsRequestQuery;\n  params: ListPluginsRequestParams;\n  body: ListPluginsRequestBody;\n}\n\nexport const parseReq = (input: ListPluginsInput): ListPluginsRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'name': input['name'], 'version': input['version'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListPluginsResponse {\n  plugins: {\n    /**\n     * ID of the [Plugin](#schema_plugin)\n     */\n    id: string;\n    /**\n     * Creation date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * Updating date of the [Plugin](#schema_plugin) in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Name of the [Plugin](#schema_plugin)\n     */\n    name: string;\n    /**\n     * Version of the [Plugin](#schema_plugin)\n     */\n    version: string;\n    /**\n     * Title of the plugin. This is the name that will be displayed in the UI\n     */\n    title: string;\n    /**\n     * Description of the plugin. This is the description that will be displayed in the UI\n     */\n    description: string;\n    /**\n     * URL of the icon of the plugin. This is the icon that will be displayed in the UI\n     */\n    iconUrl: string;\n    /**\n     * URL of the readme of the plugin. This is the readme that will be displayed in the UI\n     */\n    readmeUrl: string;\n    /**\n     * @deprecated\n     * [DEPRECATED] Indicates if the plugin is public. Please use the \"visibility\" parameter instead.\n     */\n    public: boolean;\n    /**\n     * The plugin's visibility. Public plugins are available to all and cannot be updated without creating a new version. Unlisted plugins behave identically to public plugins, but they are not listed in the plugin hub. By default, plugins are private and only accessible to the workspace that created them.\n     */\n    visibility: \"public\" | \"private\" | \"unlisted\";\n    /**\n     * The lifecycle status of the plugin. When a plugin is deprecated, it can no longer be installed.\n     */\n    lifecycleStatus: \"published\" | \"deprecated\";\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 GetPluginCodeRequestHeaders {}\n\nexport interface GetPluginCodeRequestQuery {}\n\nexport interface GetPluginCodeRequestParams {\n  id: string;\n  platform: \"node\" | \"browser\";\n}\n\nexport interface GetPluginCodeRequestBody {}\n\nexport type GetPluginCodeInput = GetPluginCodeRequestBody & GetPluginCodeRequestHeaders & GetPluginCodeRequestQuery & GetPluginCodeRequestParams\n\nexport type GetPluginCodeRequest = {\n  headers: GetPluginCodeRequestHeaders;\n  query: GetPluginCodeRequestQuery;\n  params: GetPluginCodeRequestParams;\n  body: GetPluginCodeRequestBody;\n}\n\nexport const parseReq = (input: GetPluginCodeInput): GetPluginCodeRequest & { path: string } => {\n  return {\n    path: `/v1/admin/plugins/${encodeURIComponent(input['id'])}/code/${encodeURIComponent(input['platform'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'], 'platform': input['platform'] },\n    body: {  },\n  }\n}\n\nexport interface GetPluginCodeResponse {\n  code: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetUsageRequestHeaders {}\n\nexport interface GetUsageRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  period?: string;\n}\n\nexport interface GetUsageRequestParams {\n  id: string;\n}\n\nexport interface GetUsageRequestBody {}\n\nexport type GetUsageInput = GetUsageRequestBody & GetUsageRequestHeaders & GetUsageRequestQuery & GetUsageRequestParams\n\nexport type GetUsageRequest = {\n  headers: GetUsageRequestHeaders;\n  query: GetUsageRequestQuery;\n  params: GetUsageRequestParams;\n  body: GetUsageRequestBody;\n}\n\nexport const parseReq = (input: GetUsageInput): GetUsageRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: { 'type': input['type'], 'period': input['period'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetUsageResponse {\n  usage: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetMultipleUsagesRequestHeaders {}\n\nexport interface GetMultipleUsagesRequestQuery {\n  types: string[];\n  ids: string[];\n  period?: string;\n}\n\nexport interface GetMultipleUsagesRequestParams {}\n\nexport interface GetMultipleUsagesRequestBody {}\n\nexport type GetMultipleUsagesInput = GetMultipleUsagesRequestBody & GetMultipleUsagesRequestHeaders & GetMultipleUsagesRequestQuery & GetMultipleUsagesRequestParams\n\nexport type GetMultipleUsagesRequest = {\n  headers: GetMultipleUsagesRequestHeaders;\n  query: GetMultipleUsagesRequestQuery;\n  params: GetMultipleUsagesRequestParams;\n  body: GetMultipleUsagesRequestBody;\n}\n\nexport const parseReq = (input: GetMultipleUsagesInput): GetMultipleUsagesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/multiple`,\n    headers: {  },\n    query: { 'types': input['types'], 'ids': input['ids'], 'period': input['period'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface GetMultipleUsagesResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageHistoryRequestHeaders {}\n\nexport interface ListUsageHistoryRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n}\n\nexport interface ListUsageHistoryRequestParams {\n  id: string;\n}\n\nexport interface ListUsageHistoryRequestBody {}\n\nexport type ListUsageHistoryInput = ListUsageHistoryRequestBody & ListUsageHistoryRequestHeaders & ListUsageHistoryRequestQuery & ListUsageHistoryRequestParams\n\nexport type ListUsageHistoryRequest = {\n  headers: ListUsageHistoryRequestHeaders;\n  query: ListUsageHistoryRequestQuery;\n  params: ListUsageHistoryRequestParams;\n  body: ListUsageHistoryRequestBody;\n}\n\nexport const parseReq = (input: ListUsageHistoryInput): ListUsageHistoryRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/history`,\n    headers: {  },\n    query: { 'type': input['type'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageHistoryResponse {\n  usages: {\n    /**\n     * Id of the usage that it is linked to. It can either be a workspace id or a bot id\n     */\n    id: string;\n    /**\n     * Period of the quota that it is applied to\n     */\n    period: string;\n    /**\n     * Value of the current usage\n     */\n    value: number;\n    /**\n     * Quota of the current usage\n     */\n    quota: number;\n    /**\n     * Usage type that can be used\n     */\n    type:\n      | \"invocation_timeout\"\n      | \"invocation_calls\"\n      | \"storage_count\"\n      | \"bot_count\"\n      | \"knowledgebase_vector_storage\"\n      | \"workspace_ratelimit\"\n      | \"table_row_count\"\n      | \"workspace_member_count\"\n      | \"integrations_owned_count\"\n      | \"ai_spend\"\n      | \"openai_spend\"\n      | \"bing_search_spend\"\n      | \"always_alive\"\n      | \"indexed_file_count\"\n      | \"file_max_size_bytes\";\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageActivityRequestHeaders {}\n\nexport interface ListUsageActivityRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  timestampFrom?: string;\n  timestampUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListUsageActivityRequestParams {\n  id: string;\n}\n\nexport interface ListUsageActivityRequestBody {}\n\nexport type ListUsageActivityInput = ListUsageActivityRequestBody & ListUsageActivityRequestHeaders & ListUsageActivityRequestQuery & ListUsageActivityRequestParams\n\nexport type ListUsageActivityRequest = {\n  headers: ListUsageActivityRequestHeaders;\n  query: ListUsageActivityRequestQuery;\n  params: ListUsageActivityRequestParams;\n  body: ListUsageActivityRequestBody;\n}\n\nexport const parseReq = (input: ListUsageActivityInput): ListUsageActivityRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/activity`,\n    headers: {  },\n    query: { 'type': input['type'], 'timestampFrom': input['timestampFrom'], 'timestampUntil': input['timestampUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageActivityResponse {\n  data: {\n    timestamp: string;\n    value: number;\n    period: string;\n    metadata: {\n      [k: string]: any | null;\n    };\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListUsageActivityDailyRequestHeaders {}\n\nexport interface ListUsageActivityDailyRequestQuery {\n  type:\n    | \"invocation_timeout\"\n    | \"invocation_calls\"\n    | \"storage_count\"\n    | \"bot_count\"\n    | \"knowledgebase_vector_storage\"\n    | \"workspace_ratelimit\"\n    | \"table_row_count\"\n    | \"workspace_member_count\"\n    | \"integrations_owned_count\"\n    | \"ai_spend\"\n    | \"openai_spend\"\n    | \"bing_search_spend\"\n    | \"always_alive\"\n    | \"indexed_file_count\"\n    | \"file_max_size_bytes\";\n  dateFrom?: string;\n  dateUntil?: string;\n  nextToken?: string;\n}\n\nexport interface ListUsageActivityDailyRequestParams {\n  id: string;\n}\n\nexport interface ListUsageActivityDailyRequestBody {}\n\nexport type ListUsageActivityDailyInput = ListUsageActivityDailyRequestBody & ListUsageActivityDailyRequestHeaders & ListUsageActivityDailyRequestQuery & ListUsageActivityDailyRequestParams\n\nexport type ListUsageActivityDailyRequest = {\n  headers: ListUsageActivityDailyRequestHeaders;\n  query: ListUsageActivityDailyRequestQuery;\n  params: ListUsageActivityDailyRequestParams;\n  body: ListUsageActivityDailyRequestBody;\n}\n\nexport const parseReq = (input: ListUsageActivityDailyInput): ListUsageActivityDailyRequest & { path: string } => {\n  return {\n    path: `/v1/admin/usages/${encodeURIComponent(input['id'])}/daily-activity`,\n    headers: {  },\n    query: { 'type': input['type'], 'dateFrom': input['dateFrom'], 'dateUntil': input['dateUntil'], 'nextToken': input['nextToken'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListUsageActivityDailyResponse {\n  data: {\n    key: string;\n    date: string;\n    value: number;\n    metadata?: {\n      botId: string;\n      type: \"IntegrationAction\" | \"FileIndexing\" | \"BingSearch\" | \"WebSearch\";\n      subtype?: string;\n      source?: string;\n    };\n  }[];\n  meta: {\n    nextToken?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ChangeAispendQuotaRequestHeaders {}\n\nexport interface ChangeAispendQuotaRequestQuery {}\n\nexport interface ChangeAispendQuotaRequestParams {}\n\nexport interface ChangeAispendQuotaRequestBody {\n  monthlySpendingLimit: number;\n}\n\nexport type ChangeAispendQuotaInput = ChangeAispendQuotaRequestBody & ChangeAispendQuotaRequestHeaders & ChangeAispendQuotaRequestQuery & ChangeAispendQuotaRequestParams\n\nexport type ChangeAispendQuotaRequest = {\n  headers: ChangeAispendQuotaRequestHeaders;\n  query: ChangeAispendQuotaRequestQuery;\n  params: ChangeAispendQuotaRequestParams;\n  body: ChangeAispendQuotaRequestBody;\n}\n\nexport const parseReq = (input: ChangeAispendQuotaInput): ChangeAispendQuotaRequest & { path: string } => {\n  return {\n    path: `/v1/admin/quotas/ai-spend`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'monthlySpendingLimit': input['monthlySpendingLimit'] },\n  }\n}\n\nexport interface ChangeAispendQuotaResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListActivitiesRequestHeaders {}\n\nexport interface ListActivitiesRequestQuery {\n  nextToken?: string;\n  taskId: string;\n  botId: string;\n}\n\nexport interface ListActivitiesRequestParams {}\n\nexport interface ListActivitiesRequestBody {}\n\nexport type ListActivitiesInput = ListActivitiesRequestBody & ListActivitiesRequestHeaders & ListActivitiesRequestQuery & ListActivitiesRequestParams\n\nexport type ListActivitiesRequest = {\n  headers: ListActivitiesRequestHeaders;\n  query: ListActivitiesRequestQuery;\n  params: ListActivitiesRequestParams;\n  body: ListActivitiesRequestBody;\n}\n\nexport const parseReq = (input: ListActivitiesInput): ListActivitiesRequest & { path: string } => {\n  return {\n    path: `/v1/admin/activities`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'taskId': input['taskId'], 'botId': input['botId'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListActivitiesResponse {\n  activities: {\n    id: string;\n    description: string;\n    taskId: string;\n    category:\n      | \"unknown\"\n      | \"capture\"\n      | \"bot_message\"\n      | \"user_message\"\n      | \"agent_message\"\n      | \"event\"\n      | \"action\"\n      | \"task_status\"\n      | \"subtask_status\"\n      | \"exception\";\n    data: {\n      [k: string]: any;\n    };\n    /**\n     * Creation date of the activity in ISO 8601 format\n     */\n    createdAt: 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 IntrospectRequestHeaders {}\n\nexport interface IntrospectRequestQuery {}\n\nexport interface IntrospectRequestParams {}\n\nexport interface IntrospectRequestBody {\n  botId: string;\n}\n\nexport type IntrospectInput = IntrospectRequestBody & IntrospectRequestHeaders & IntrospectRequestQuery & IntrospectRequestParams\n\nexport type IntrospectRequest = {\n  headers: IntrospectRequestHeaders;\n  query: IntrospectRequestQuery;\n  params: IntrospectRequestParams;\n  body: IntrospectRequestBody;\n}\n\nexport const parseReq = (input: IntrospectInput): IntrospectRequest & { path: string } => {\n  return {\n    path: `/v1/admin/introspect`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'botId': input['botId'] },\n  }\n}\n\nexport interface IntrospectResponse {\n  workspaceId: string;\n  botId: string;\n  userId: string;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpsertFileRequestHeaders {}\n\nexport interface UpsertFileRequestQuery {}\n\nexport interface UpsertFileRequestParams {}\n\nexport interface UpsertFileRequestBody {\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 tags as an object of key-value pairs. Tag values should be of `string` (text) type.\n   */\n  tags?: {\n    [k: string]: string;\n  };\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   * Set to a value of 'true' to index the file in vector storage. Only certain file formats are currently supported for indexing. Files larger than 95 MB cannot be indexed. Note that if a file is indexed, it will count towards both the Vector DB Storage quota and the File Storage quota of the workspace.\n   */\n  index?: boolean;\n  indexing?: {\n    /**\n     * Configuration to use for indexing the file, will be stored in the file's metadata for reference.\n     */\n    configuration: {\n      parsing?: {\n        /**\n         * The parsing mode to index the file. Using `agent` will use agentic document processing to parse the file and will incurr in AI Spend cost, while `standard` will use a faster but less accurate parser that will not incur in AI Spend cost.\n         */\n        mode?: \"agent\" | \"standard\";\n        /**\n         * The minimum length a standalone paragraph should have. If a paragraph is shorter than this, it will be merged with the next immediate paragraph.\n         */\n        minimumParagraphLength?: number;\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) Enabling this will use a lightweight/inexpensive LLM to clean up the extracted content of PDF files before indexing them to increase the quality of the stored vectors, as PDFs often store raw text in unusual ways which when extracted may result in formatting issues (e.g. broken sentences/paragraphs, unexpected headings, garbled characters, etc.) that can affect retrieval performance for certain user queries if left untouched.\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         * - We recommend using this feature for PDFs that have custom layouts or design. For simple text-based PDFs like documents and books, this feature is usually not necessary.\n         * - The smart cleanup takes some time to perform due to the LLM calls involved, so enabling it will increase the total time it takes to index the file.\n         * - We take steps to prevent the original text from being fundamentally changed but due to the nature of LLMs this could theoretically still happen so it's recommended to review the passages generated for the file after indexing to ensure the content is still accurate.\n         * - This feature is limited to the first 30 pages or 20 KB of text in the PDF file (whichever comes first). If the file has more content than these limits then the rest of the file will be indexed as-is without any cleanup. If you need to clean up the content of the entire file, consider splitting it into smaller files.\n         */\n        smartCleanup?: boolean;\n      };\n      chunking?: {\n        /**\n         * The maximum length of a chunk in characters.\n         */\n        maximumChunkLength?: number;\n        /**\n         * The number of surrounding context levels to include in the vector embedding of the chunk.\n         */\n        embeddedContextLevels?: number;\n        /**\n         * Include the breadcrumb of the chunk in the vector embedding.\n         */\n        embedBreadcrumb?: boolean;\n      };\n      summarization?: {\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) Create summaries for this file and index them as standalone vectors. Enabling this option will incur in AI Spend cost (charged to the workspace of the bot) to generate the summaries based on the amount of content in the file and the summarization model used.\n         *\n         * Please note that this feature is only available in Team and Enterprise plans.\n         */\n        enable?: boolean;\n        /**\n         * The model type to use for summarization.\n         */\n        modelType?: \"inexpensive\" | \"balanced\" | \"accurate\";\n        /**\n         * The minimum length a section of the file should have to create a summary of it.\n         */\n        minimumInputLength?: number;\n        /**\n         * The maximum length of a summary (in tokens).\n         */\n        outputTokenLimit?: number;\n        /**\n         * Generate a summary of the entire file and index it as a standalone vector.\n         */\n        generateMasterSummary?: boolean;\n      };\n      /**\n       * If not set, the default indexing stack will be used.\n       */\n      stack?: \"legacy\" | \"realtime-v1\";\n      vision?: {\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) For PDF files, set this option to `true` or pass an array with specific page numbers to use a vision-enabled LLM to transcribe each page of the PDF as standalone vectors and index them.\n         *\n         * This feature is useful when a PDF file contains custom designs or layouts, or when your document has many infographics, which require visual processing in order to index the file effectively, as the default text-based indexing may not be enough to allow your bot to correctly understand the content in your PDFs.\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - Enabling this feature will incur in AI Spend cost to use a vision-enabled LLM to index the PDF pages.\n         * - This is limited to a maximum of 100 pages of the PDF. If the file has more pages then the rest of the pages will NOT be transcribed using this vision feature, and will be processed using the default text-based indexing instead. If you need to transcribe the entire file using vision, please split it into smaller files.\n         * - Pages that are vision-transcribed will not be processed by the default text-based indexing to avoid duplicate content in the index.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         */\n        transcribePages?: {\n          [k: string]: any;\n        };\n        /**\n         * (Team/Enterprise plan only, charged as AI Spend) For PDF files, set this option to `true` or pass an array with specific page numbers to use a vision-enabled LLM to index each page of the PDF as a standalone image.\n         *\n         * Enabling this feature will allow Autonomous Nodes in your bot to answer visual or higher-level questions about the content in these pages that can usually not be answered correctly by the default text-based indexing or visual transcription.\n         *\n         * This feature is useful when a PDF has:\n         * - Tables with complex layouts\n         * - Charts, diagrams or infographics\n         * - Photos or images that can be used to answer user queries\n         *\n         * Notes:\n         * - This feature is only available in Team and Enterprise plans.\n         * - Enabling this will incur in extra AI Spend cost and additional File Storage usage, in order to use a vision-enabled LLM to visually index the PDF pages and store them as standalone page images in the bot's file storage.\n         * - Enabling this may increase the overall AI Spend cost of your bot as your bot may pass one or more indexed page images to a vision-enabled LLM for answering user queries.\n         * - This is limited to the first 100 pages of the PDF. If the file has more pages then the rest of the pages will NOT be vision-indexed. If you need to visually index the entire file, please split it into smaller files.\n         * - This feature is only available for PDF files. If the file isn't a PDF, this setting will be ignored and no AI Spend will be incurred.\n         */\n        indexPages?: {\n          [k: string]: any;\n        };\n      };\n    };\n  };\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?: (\"public_content\" | \"integrations\")[];\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   * Expiry timestamp in ISO 8601 format with UTC timezone. After expiry, the File will be deleted. Must be in the future. Cannot be more than 90 days from now. The value up to minutes is considered. Seconds and milliseconds are ignored.\n   */\n  expiresAt?: string;\n  /**\n   * Use when your file has \"public_content\" in its access policy and you need the file\\'s content to be immediately accessible through its URL after the file has been uploaded without having to wait for the upload to be processed by our system.\n   *\n   * If set to `true`, the `x-amz-tagging` HTTP header with a value of `public=true` will need to be sent in the HTTP PUT request to the `uploadUrl` in order for the upload request to work.\n   */\n  publicContentImmediatelyAccessible?: boolean;\n  /**\n   * Custom metadata for the file expressed as an object of key-value pairs. The values can be of any type.\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n}\n\nexport type UpsertFileInput = UpsertFileRequestBody & UpsertFileRequestHeaders & UpsertFileRequestQuery & UpsertFileRequestParams\n\nexport type UpsertFileRequest = {\n  headers: UpsertFileRequestHeaders;\n  query: UpsertFileRequestQuery;\n  params: UpsertFileRequestParams;\n  body: UpsertFileRequestBody;\n}\n\nexport const parseReq = (input: UpsertFileInput): UpsertFileRequest & { path: string } => {\n  return {\n    path: `/v1/files`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'key': input['key'], 'tags': input['tags'], 'size': input['size'], 'index': input['index'], 'indexing': input['indexing'], 'accessPolicies': input['accessPolicies'], 'contentType': input['contentType'], 'expiresAt': input['expiresAt'], 'publicContentImmediatelyAccessible': input['publicContentImmediatelyAccessible'], 'metadata': input['metadata'] },\n  }\n}\n\nexport interface UpsertFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n    /**\n     * URL to upload the file content. File content needs to be sent to this URL via a PUT request.\n     */\n    uploadUrl: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteFileRequestHeaders {}\n\nexport interface DeleteFileRequestQuery {}\n\nexport interface DeleteFileRequestParams {\n  id: string;\n}\n\nexport interface DeleteFileRequestBody {}\n\nexport type DeleteFileInput = DeleteFileRequestBody & DeleteFileRequestHeaders & DeleteFileRequestQuery & DeleteFileRequestParams\n\nexport type DeleteFileRequest = {\n  headers: DeleteFileRequestHeaders;\n  query: DeleteFileRequestQuery;\n  params: DeleteFileRequestParams;\n  body: DeleteFileRequestBody;\n}\n\nexport const parseReq = (input: DeleteFileInput): DeleteFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteFileResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFilesRequestHeaders {}\n\nexport interface ListFilesRequestQuery {\n  nextToken?: string;\n  sortField?: \"key\" | \"size\" | \"createdAt\" | \"updatedAt\" | \"status\";\n  sortDirection?: \"asc\" | \"desc\";\n  tags?: any;\n  /**\n   * @maxItems 50\n   */\n  ids?: string[];\n  indexed?: boolean;\n}\n\nexport interface ListFilesRequestParams {}\n\nexport interface ListFilesRequestBody {}\n\nexport type ListFilesInput = ListFilesRequestBody & ListFilesRequestHeaders & ListFilesRequestQuery & ListFilesRequestParams\n\nexport type ListFilesRequest = {\n  headers: ListFilesRequestHeaders;\n  query: ListFilesRequestQuery;\n  params: ListFilesRequestParams;\n  body: ListFilesRequestBody;\n}\n\nexport const parseReq = (input: ListFilesInput): ListFilesRequest & { path: string } => {\n  return {\n    path: `/v1/files`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'sortField': input['sortField'], 'sortDirection': input['sortDirection'], 'tags': input['tags'], 'ids': input['ids'], 'indexed': input['indexed'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListFilesResponse {\n  files: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any | null;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\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 GetFileRequestHeaders {}\n\nexport interface GetFileRequestQuery {}\n\nexport interface GetFileRequestParams {\n  id: string;\n}\n\nexport interface GetFileRequestBody {}\n\nexport type GetFileInput = GetFileRequestBody & GetFileRequestHeaders & GetFileRequestQuery & GetFileRequestParams\n\nexport type GetFileRequest = {\n  headers: GetFileRequestHeaders;\n  query: GetFileRequestQuery;\n  params: GetFileRequestParams;\n  body: GetFileRequestBody;\n}\n\nexport const parseReq = (input: GetFileInput): GetFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface GetFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateFileMetadataRequestHeaders {}\n\nexport interface UpdateFileMetadataRequestQuery {}\n\nexport interface UpdateFileMetadataRequestParams {\n  id: string;\n}\n\nexport interface UpdateFileMetadataRequestBody {\n  /**\n   * Custom metadata for the file expressed as an object of key-value pairs. Omit to keep existing metadata intact. Any existing metadata keys not included will be preserved. New keys will be added. To delete a metadata key, set its value to `null`.\n   */\n  metadata?: {\n    [k: string]: any;\n  };\n  /**\n   * The file tags to update as an object of key-value pairs with `string` (text) values. Omit to keep existing tags intact. Any existing tags not included will be preserved. New tags will be added. To delete a tag, set its value to `null`.\n   */\n  tags?: {\n    [k: string]: string | null;\n  };\n  /**\n   * New access policies to set for the file. Omit to keep existing policies intact.\n   */\n  accessPolicies?: (\"integrations\" | \"public_content\")[];\n  /**\n   * Expiry timestamp in ISO 8601 format with UTC timezone. After expiry, the File will be deleted. Must be in the future. Cannot be more than 90 days from now. The value up to minutes is considered. Seconds and milliseconds are ignored. Omit to keep the existing expiry intact. Set to `null` to remove the expiry.\n   */\n  expiresAt?: string | null;\n}\n\nexport type UpdateFileMetadataInput = UpdateFileMetadataRequestBody & UpdateFileMetadataRequestHeaders & UpdateFileMetadataRequestQuery & UpdateFileMetadataRequestParams\n\nexport type UpdateFileMetadataRequest = {\n  headers: UpdateFileMetadataRequestHeaders;\n  query: UpdateFileMetadataRequestQuery;\n  params: UpdateFileMetadataRequestParams;\n  body: UpdateFileMetadataRequestBody;\n}\n\nexport const parseReq = (input: UpdateFileMetadataInput): UpdateFileMetadataRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'metadata': input['metadata'], 'tags': input['tags'], 'accessPolicies': input['accessPolicies'], 'expiresAt': input['expiresAt'] },\n  }\n}\n\nexport interface UpdateFileMetadataResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CopyFileRequestHeaders {\n  \"x-destination-bot-id\"?: string;\n}\n\nexport interface CopyFileRequestQuery {}\n\nexport interface CopyFileRequestParams {\n  idOrKey: string;\n  destinationKey: string;\n}\n\nexport interface CopyFileRequestBody {\n  /**\n   * Set to `true` to overwrite the file if it already exists, otherwise an error will be returned.\n   *\n   * When this endpoint is called using bot authentication, the existing file must have been originally created by the same bot making the file copy request in order to overwrite it.\n   */\n  overwrite?: boolean;\n}\n\nexport type CopyFileInput = CopyFileRequestBody & CopyFileRequestHeaders & CopyFileRequestQuery & CopyFileRequestParams\n\nexport type CopyFileRequest = {\n  headers: CopyFileRequestHeaders;\n  query: CopyFileRequestQuery;\n  params: CopyFileRequestParams;\n  body: CopyFileRequestBody;\n}\n\nexport const parseReq = (input: CopyFileInput): CopyFileRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['idOrKey'])}/${encodeURIComponent(input['destinationKey'])}`,\n    headers: { 'x-destination-bot-id': input['x-destination-bot-id'] },\n    query: {  },\n    params: { 'idOrKey': input['idOrKey'], 'destinationKey': input['destinationKey'] },\n    body: { 'overwrite': input['overwrite'] },\n  }\n}\n\nexport interface CopyFileResponse {\n  file: {\n    /**\n     * File ID\n     */\n    id: string;\n    /**\n     * The ID of the bot the file belongs to\n     */\n    botId: string;\n    /**\n     * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n     */\n    key: string;\n    /**\n     * URL to retrieve the file content. This URL will be ready to use once the file is uploaded.\n     *\n     * If the file has a `public_content` policy, this will contain the permanent public URL to retrieve the file, otherwise this will contain a temporary pre-signed URL to download the file which should be used shortly after retrieving and should not be stored long-term as the URL will expire after a short timeframe.\n     */\n    url: string;\n    /**\n     * File size in bytes. Non-null if file upload status is \"COMPLETE\".\n     */\n    size: number | null;\n    /**\n     * MIME type of the file's content\n     */\n    contentType: string;\n    /**\n     * The tags of the file as an object of key/value pairs\n     */\n    tags: {\n      [k: string]: string;\n    };\n    /**\n     * Metadata of the file as an object of key/value pairs. The values can be of any type.\n     */\n    metadata: {\n      [k: string]: any;\n    };\n    /**\n     * File creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    /**\n     * File last update timestamp in ISO 8601 format\n     */\n    updatedAt: string;\n    /**\n     * Access policies configured for the file.\n     */\n    accessPolicies: (\"integrations\" | \"public_content\")[];\n    /**\n     * Whether the file was requested to be indexed for search or not.\n     */\n    index: boolean;\n    /**\n     * Status of the file. If the status is `upload_pending`, the file content has not been uploaded yet. The status will be set to `upload_completed` once the file content has been uploaded successfully.\n     *\n     * If the upload failed for any reason (e.g. exceeding the storage quota or the maximum file size limit) the status will be set to `upload_failed` and the reason for the failure will be available in the `failedStatusReason` field of the file.\n     *\n     * However, if the file has been uploaded and the `index` attribute was set to `true` on the file, the status will immediately transition to the `indexing_pending` status (the `upload_completed` status step will be skipped).\n     *\n     * Once the indexing is completed and the file is ready to be used for searching its status will be set to `indexing_completed`. If the indexing failed the status will be set to `indexing_failed` and the reason for the failure will be available in the `failedStatusReason` field.\n     */\n    status:\n      | \"upload_pending\"\n      | \"upload_failed\"\n      | \"upload_completed\"\n      | \"indexing_pending\"\n      | \"indexing_failed\"\n      | \"indexing_completed\";\n    /**\n     * If the file status is `upload_failed` or `indexing_failed` this will contain the reason of the failure.\n     */\n    failedStatusReason?: string;\n    /**\n     * File expiry timestamp in ISO 8601 format\n     */\n    expiresAt?: string;\n    owner: {\n      type: \"bot\" | \"integration\" | \"user\";\n      /**\n       * This field is present if `type` is \"user\" or \"bot\". If `type` is \"user\", this is the user ID. If `type` is \"bot\", this is the bot ID.\n       */\n      id?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration name.\n       */\n      name?: string;\n      /**\n       * This field is present if the `type` is \"integration\". If `type` is \"integration\", this is the integration instance alias.\n       */\n      alias?: string;\n    };\n    /**\n     * Indicates the indexing stack used to index this file. Present only when file has been successfully indexed. A value of \"v2\" denotes the latest stack, \"v1\" denotes the legacy stack.\n     */\n    indexingStack?: \"v1\" | \"v2\";\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface SearchFilesRequestHeaders {}\n\nexport interface SearchFilesRequestQuery {\n  tags?: any;\n  query: string;\n  contextDepth?: number;\n  limit?: number;\n  consolidate?: boolean;\n  includeBreadcrumb?: boolean;\n  withContext?: boolean;\n}\n\nexport interface SearchFilesRequestParams {}\n\nexport interface SearchFilesRequestBody {}\n\nexport type SearchFilesInput = SearchFilesRequestBody & SearchFilesRequestHeaders & SearchFilesRequestQuery & SearchFilesRequestParams\n\nexport type SearchFilesRequest = {\n  headers: SearchFilesRequestHeaders;\n  query: SearchFilesRequestQuery;\n  params: SearchFilesRequestParams;\n  body: SearchFilesRequestBody;\n}\n\nexport const parseReq = (input: SearchFilesInput): SearchFilesRequest & { path: string } => {\n  return {\n    path: `/v1/files/search`,\n    headers: {  },\n    query: { 'tags': input['tags'], 'query': input['query'], 'contextDepth': input['contextDepth'], 'limit': input['limit'], 'consolidate': input['consolidate'], 'includeBreadcrumb': input['includeBreadcrumb'], 'withContext': input['withContext'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface SearchFilesResponse {\n  passages: {\n    /**\n     * The content of the matching passage in the file including surrounding context, if any.\n     */\n    content: string;\n    /**\n     * The score indicating the similarity of the passage to the query. A higher score indicates higher similarity.\n     */\n    score: number;\n    /**\n     * The passage metadata.\n     */\n    meta: {\n      /**\n       * The type of passage\n       */\n      type?: \"chunk\" | \"summary\" | \"consolidated\" | \"image\";\n      /**\n       * The subtype of passage, if available.\n       */\n      subtype?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\" | \"page\";\n      /**\n       * Page number the passage is located on. Only applicable if the passage was extracted from a PDF file.\n       */\n      pageNumber?: number;\n      /**\n       * Position number of the passage in the file relative to the other passages, if available. Can be used to know the order of passages within a file.\n       */\n      position?: number;\n      /**\n       * The URL of the source file for the vector, if applicable (e.g. for image vectors).\n       */\n      sourceUrl?: string;\n    };\n    file: {\n      /**\n       * File ID\n       */\n      id: string;\n      /**\n       * Unique key for the file. Must be unique across the bot (and the integration, when applicable).\n       */\n      key: string;\n      /**\n       * MIME type of the file's content\n       */\n      contentType: string;\n      /**\n       * Metadata of the file as an object of key-value pairs.\n       */\n      metadata: {\n        [k: string]: any | null;\n      };\n      /**\n       * The tags of the file as an object of key-value pairs.\n       */\n      tags: {\n        [k: string]: string;\n      };\n      /**\n       * File creation timestamp in ISO 8601 format\n       */\n      createdAt: string;\n      /**\n       * File last update timestamp in ISO 8601 format\n       */\n      updatedAt: string;\n    };\n    /**\n     * Surrounding passages including the current passage, based on the requested `contextDepth`. Only returned if the `withContext` parameter is set to `true`. Not supported when using the `consolidate` option.\n     */\n    context?: {\n      /**\n       * The ID of the vector that the context passage belongs to. Omitted for breadcrumbs.\n       */\n      id?: string;\n      text: string;\n      /**\n       * Position of the context passage relative to the current passage. Negative for preceding passages, positive for subsequent, ommited for breadcrumbs.\n       */\n      offset?: number;\n      /**\n       * The type of context passage\n       */\n      type: \"preceding\" | \"subsequent\" | \"current\" | \"breadcrumb\";\n    }[];\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFilePassagesRequestHeaders {}\n\nexport interface ListFilePassagesRequestQuery {\n  nextToken?: string;\n  limit?: number;\n}\n\nexport interface ListFilePassagesRequestParams {\n  id: string;\n}\n\nexport interface ListFilePassagesRequestBody {}\n\nexport type ListFilePassagesInput = ListFilePassagesRequestBody & ListFilePassagesRequestHeaders & ListFilePassagesRequestQuery & ListFilePassagesRequestParams\n\nexport type ListFilePassagesRequest = {\n  headers: ListFilePassagesRequestHeaders;\n  query: ListFilePassagesRequestQuery;\n  params: ListFilePassagesRequestParams;\n  body: ListFilePassagesRequestBody;\n}\n\nexport const parseReq = (input: ListFilePassagesInput): ListFilePassagesRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}/passages`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'limit': input['limit'] },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface ListFilePassagesResponse {\n  passages: {\n    /**\n     * Passage ID\n     */\n    id: string;\n    /**\n     * The content of the passage.\n     */\n    content: string;\n    /**\n     * The passage metadata.\n     */\n    meta: {\n      /**\n       * The type of passage\n       */\n      type?: \"chunk\" | \"summary\" | \"consolidated\" | \"image\";\n      /**\n       * The subtype of passage, if available.\n       */\n      subtype?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\" | \"page\";\n      /**\n       * Page number the passage is located on. Only applicable if the passage was extracted from a PDF file.\n       */\n      pageNumber?: number;\n      /**\n       * Position number of the passage in the file relative to the other passages, if available. Can be used to know the order of passages within a file.\n       */\n      position?: number;\n      /**\n       * The URL of the source file for the vector, if applicable (e.g. for image vectors).\n       */\n      sourceUrl?: 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 SetFilePassagesRequestHeaders {}\n\nexport interface SetFilePassagesRequestQuery {}\n\nexport interface SetFilePassagesRequestParams {\n  id: string;\n}\n\nexport interface SetFilePassagesRequestBody {\n  /**\n   * Note: The passages should appear in the array in the same order as they appear in the original document.\n   */\n  passages: {\n    /**\n     * The content of the passage, supports Markdown formatting.\n     */\n    content: string;\n    /**\n     * The type should match the Markdown format used for the passage content.\n     */\n    type?: \"title\" | \"subtitle\" | \"paragraph\" | \"blockquote\" | \"list\" | \"table\" | \"code\" | \"image\";\n    pageNumber?: number;\n  }[];\n}\n\nexport type SetFilePassagesInput = SetFilePassagesRequestBody & SetFilePassagesRequestHeaders & SetFilePassagesRequestQuery & SetFilePassagesRequestParams\n\nexport type SetFilePassagesRequest = {\n  headers: SetFilePassagesRequestHeaders;\n  query: SetFilePassagesRequestQuery;\n  params: SetFilePassagesRequestParams;\n  body: SetFilePassagesRequestBody;\n}\n\nexport const parseReq = (input: SetFilePassagesInput): SetFilePassagesRequest & { path: string } => {\n  return {\n    path: `/v1/files/${encodeURIComponent(input['id'])}/passages`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'passages': input['passages'] },\n  }\n}\n\nexport interface SetFilePassagesResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListFileTagsRequestHeaders {}\n\nexport interface ListFileTagsRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListFileTagsRequestParams {}\n\nexport interface ListFileTagsRequestBody {}\n\nexport type ListFileTagsInput = ListFileTagsRequestBody & ListFileTagsRequestHeaders & ListFileTagsRequestQuery & ListFileTagsRequestParams\n\nexport type ListFileTagsRequest = {\n  headers: ListFileTagsRequestHeaders;\n  query: ListFileTagsRequestQuery;\n  params: ListFileTagsRequestParams;\n  body: ListFileTagsRequestBody;\n}\n\nexport const parseReq = (input: ListFileTagsInput): ListFileTagsRequest & { path: string } => {\n  return {\n    path: `/v1/files/tags`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListFileTagsResponse {\n  tags: string[];\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 ListFileTagValuesRequestHeaders {}\n\nexport interface ListFileTagValuesRequestQuery {\n  nextToken?: string;\n}\n\nexport interface ListFileTagValuesRequestParams {\n  tag: string;\n}\n\nexport interface ListFileTagValuesRequestBody {}\n\nexport type ListFileTagValuesInput = ListFileTagValuesRequestBody & ListFileTagValuesRequestHeaders & ListFileTagValuesRequestQuery & ListFileTagValuesRequestParams\n\nexport type ListFileTagValuesRequest = {\n  headers: ListFileTagValuesRequestHeaders;\n  query: ListFileTagValuesRequestQuery;\n  params: ListFileTagValuesRequestParams;\n  body: ListFileTagValuesRequestBody;\n}\n\nexport const parseReq = (input: ListFileTagValuesInput): ListFileTagValuesRequest & { path: string } => {\n  return {\n    path: `/v1/files/tags/${encodeURIComponent(input['tag'])}/values`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'] },\n    params: { 'tag': input['tag'] },\n    body: {  },\n  }\n}\n\nexport interface ListFileTagValuesResponse {\n  values: string[];\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 CreateKnowledgeBaseRequestHeaders {}\n\nexport interface CreateKnowledgeBaseRequestQuery {}\n\nexport interface CreateKnowledgeBaseRequestParams {}\n\nexport interface CreateKnowledgeBaseRequestBody {\n  /**\n   * Name of the knowledge base.\n   */\n  name: string;\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport type CreateKnowledgeBaseInput = CreateKnowledgeBaseRequestBody & CreateKnowledgeBaseRequestHeaders & CreateKnowledgeBaseRequestQuery & CreateKnowledgeBaseRequestParams\n\nexport type CreateKnowledgeBaseRequest = {\n  headers: CreateKnowledgeBaseRequestHeaders;\n  query: CreateKnowledgeBaseRequestQuery;\n  params: CreateKnowledgeBaseRequestParams;\n  body: CreateKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: CreateKnowledgeBaseInput): CreateKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'tags': input['tags'] },\n  }\n}\n\nexport interface CreateKnowledgeBaseResponse {\n  knowledgeBase: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteKnowledgeBaseRequestHeaders {}\n\nexport interface DeleteKnowledgeBaseRequestQuery {}\n\nexport interface DeleteKnowledgeBaseRequestParams {\n  id: string;\n}\n\nexport interface DeleteKnowledgeBaseRequestBody {}\n\nexport type DeleteKnowledgeBaseInput = DeleteKnowledgeBaseRequestBody & DeleteKnowledgeBaseRequestHeaders & DeleteKnowledgeBaseRequestQuery & DeleteKnowledgeBaseRequestParams\n\nexport type DeleteKnowledgeBaseRequest = {\n  headers: DeleteKnowledgeBaseRequestHeaders;\n  query: DeleteKnowledgeBaseRequestQuery;\n  params: DeleteKnowledgeBaseRequestParams;\n  body: DeleteKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: DeleteKnowledgeBaseInput): DeleteKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteKnowledgeBaseResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateKnowledgeBaseRequestHeaders {}\n\nexport interface UpdateKnowledgeBaseRequestQuery {}\n\nexport interface UpdateKnowledgeBaseRequestParams {\n  id: string;\n}\n\nexport interface UpdateKnowledgeBaseRequestBody {\n  /**\n   * New name of the knowledge base.\n   */\n  name: string;\n  /**\n   * The knowledge base tags to update as an object of key-value pairs with `string` (text) values. Omit to keep existing tags intact. Any existing tags not included will be preserved. New tags will be added. To delete a tag, set its value to `null`.\n   */\n  tags?: {\n    [k: string]: string | null;\n  };\n}\n\nexport type UpdateKnowledgeBaseInput = UpdateKnowledgeBaseRequestBody & UpdateKnowledgeBaseRequestHeaders & UpdateKnowledgeBaseRequestQuery & UpdateKnowledgeBaseRequestParams\n\nexport type UpdateKnowledgeBaseRequest = {\n  headers: UpdateKnowledgeBaseRequestHeaders;\n  query: UpdateKnowledgeBaseRequestQuery;\n  params: UpdateKnowledgeBaseRequestParams;\n  body: UpdateKnowledgeBaseRequestBody;\n}\n\nexport const parseReq = (input: UpdateKnowledgeBaseInput): UpdateKnowledgeBaseRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases/${encodeURIComponent(input['id'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'id': input['id'] },\n    body: { 'name': input['name'], 'tags': input['tags'] },\n  }\n}\n\nexport interface UpdateKnowledgeBaseResponse {\n  knowledgeBase: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    tags: {\n      [k: string]: string;\n    };\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListKnowledgeBasesRequestHeaders {}\n\nexport interface ListKnowledgeBasesRequestQuery {\n  nextToken?: string;\n  tags?: any;\n}\n\nexport interface ListKnowledgeBasesRequestParams {}\n\nexport interface ListKnowledgeBasesRequestBody {}\n\nexport type ListKnowledgeBasesInput = ListKnowledgeBasesRequestBody & ListKnowledgeBasesRequestHeaders & ListKnowledgeBasesRequestQuery & ListKnowledgeBasesRequestParams\n\nexport type ListKnowledgeBasesRequest = {\n  headers: ListKnowledgeBasesRequestHeaders;\n  query: ListKnowledgeBasesRequestQuery;\n  params: ListKnowledgeBasesRequestParams;\n  body: ListKnowledgeBasesRequestBody;\n}\n\nexport const parseReq = (input: ListKnowledgeBasesInput): ListKnowledgeBasesRequest & { path: string } => {\n  return {\n    path: `/v1/files/knowledge-bases`,\n    headers: {  },\n    query: { 'nextToken': input['nextToken'], 'tags': input['tags'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListKnowledgeBasesResponse {\n  knowledgeBases: {\n    /**\n     * Knowledge base ID\n     */\n    id: string;\n    /**\n     * Name of the knowledge base.\n     */\n    name: string;\n    /**\n     * Knowledge base creation timestamp in ISO 8601 format\n     */\n    createdAt: string;\n    tags: {\n      [k: string]: 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 ListTablesRequestHeaders {}\n\nexport interface ListTablesRequestQuery {\n  tags?: {\n    [k: string]: string;\n  };\n}\n\nexport interface ListTablesRequestParams {}\n\nexport interface ListTablesRequestBody {}\n\nexport type ListTablesInput = ListTablesRequestBody & ListTablesRequestHeaders & ListTablesRequestQuery & ListTablesRequestParams\n\nexport type ListTablesRequest = {\n  headers: ListTablesRequestHeaders;\n  query: ListTablesRequestQuery;\n  params: ListTablesRequestParams;\n  body: ListTablesRequestBody;\n}\n\nexport const parseReq = (input: ListTablesInput): ListTablesRequest & { path: string } => {\n  return {\n    path: `/v1/tables`,\n    headers: {  },\n    query: { 'tags': input['tags'] },\n    params: {  },\n    body: {  },\n  }\n}\n\nexport interface ListTablesResponse {\n  tables: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableRequestHeaders {}\n\nexport interface GetTableRequestQuery {}\n\nexport interface GetTableRequestParams {\n  table: string;\n}\n\nexport interface GetTableRequestBody {}\n\nexport type GetTableInput = GetTableRequestBody & GetTableRequestHeaders & GetTableRequestQuery & GetTableRequestParams\n\nexport type GetTableRequest = {\n  headers: GetTableRequestHeaders;\n  query: GetTableRequestQuery;\n  params: GetTableRequestParams;\n  body: GetTableRequestBody;\n}\n\nexport const parseReq = (input: GetTableInput): GetTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n  /**\n   * The number of stale rows that are waiting to be processed\n   */\n  stale: number;\n  /**\n   * The number of rows that are waiting to be indexed (for search)\n   */\n  indexing: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetOrCreateTableRequestHeaders {}\n\nexport interface GetOrCreateTableRequestQuery {}\n\nexport interface GetOrCreateTableRequestParams {\n  table: string;\n}\n\nexport interface GetOrCreateTableRequestBody {\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n   */\n  factor?: number;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n}\n\nexport type GetOrCreateTableInput = GetOrCreateTableRequestBody & GetOrCreateTableRequestHeaders & GetOrCreateTableRequestQuery & GetOrCreateTableRequestParams\n\nexport type GetOrCreateTableRequest = {\n  headers: GetOrCreateTableRequestHeaders;\n  query: GetOrCreateTableRequestQuery;\n  params: GetOrCreateTableRequestParams;\n  body: GetOrCreateTableRequestBody;\n}\n\nexport const parseReq = (input: GetOrCreateTableInput): GetOrCreateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'factor': input['factor'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\n  }\n}\n\nexport interface GetOrCreateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * Flag indicating if the table was newly created.\n   */\n  created: boolean;\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n  /**\n   * The number of stale rows that are waiting to be processed\n   */\n  stale: number;\n  /**\n   * The number of rows that are waiting to be indexed (for search)\n   */\n  indexing: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateTableRequestHeaders {}\n\nexport interface CreateTableRequestQuery {}\n\nexport interface CreateTableRequestParams {}\n\nexport interface CreateTableRequestBody {\n  /**\n   * Required. This name is used to identify your table.\n   */\n  name: string;\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n   */\n  factor?: number;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n}\n\nexport type CreateTableInput = CreateTableRequestBody & CreateTableRequestHeaders & CreateTableRequestQuery & CreateTableRequestParams\n\nexport type CreateTableRequest = {\n  headers: CreateTableRequestHeaders;\n  query: CreateTableRequestQuery;\n  params: CreateTableRequestParams;\n  body: CreateTableRequestBody;\n}\n\nexport const parseReq = (input: CreateTableInput): CreateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables`,\n    headers: {  },\n    query: {  },\n    params: {  },\n    body: { 'name': input['name'], 'factor': input['factor'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\n  }\n}\n\nexport interface CreateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DuplicateTableRequestHeaders {}\n\nexport interface DuplicateTableRequestQuery {}\n\nexport interface DuplicateTableRequestParams {\n  sourceTableId: string;\n}\n\nexport interface DuplicateTableRequestBody {\n  tableName?: string;\n  /**\n   * Only duplicate the schema, not the content\n   */\n  schemaOnly?: boolean;\n  /**\n   * Override the factor for the duplicated table. If not provided, the new table will use the same factor as the source table.\n   */\n  factor?: number;\n}\n\nexport type DuplicateTableInput = DuplicateTableRequestBody & DuplicateTableRequestHeaders & DuplicateTableRequestQuery & DuplicateTableRequestParams\n\nexport type DuplicateTableRequest = {\n  headers: DuplicateTableRequestHeaders;\n  query: DuplicateTableRequestQuery;\n  params: DuplicateTableRequestParams;\n  body: DuplicateTableRequestBody;\n}\n\nexport const parseReq = (input: DuplicateTableInput): DuplicateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['sourceTableId'])}/duplicate`,\n    headers: {  },\n    query: {  },\n    params: { 'sourceTableId': input['sourceTableId'] },\n    body: { 'tableName': input['tableName'], 'schemaOnly': input['schemaOnly'], 'factor': input['factor'] },\n  }\n}\n\nexport interface DuplicateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * The total number of rows present in the table.\n   */\n  rows: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ExportTableRequestHeaders {}\n\nexport interface ExportTableRequestQuery {\n  format?: \"csv\" | \"json\";\n  compress?: boolean;\n}\n\nexport interface ExportTableRequestParams {\n  table: string;\n}\n\nexport interface ExportTableRequestBody {}\n\nexport type ExportTableInput = ExportTableRequestBody & ExportTableRequestHeaders & ExportTableRequestQuery & ExportTableRequestParams\n\nexport type ExportTableRequest = {\n  headers: ExportTableRequestHeaders;\n  query: ExportTableRequestQuery;\n  params: ExportTableRequestParams;\n  body: ExportTableRequestBody;\n}\n\nexport const parseReq = (input: ExportTableInput): ExportTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/export`,\n    headers: {  },\n    query: { 'format': input['format'], 'compress': input['compress'] },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface ExportTableResponse {\n  job: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableJobsRequestHeaders {}\n\nexport interface GetTableJobsRequestQuery {}\n\nexport interface GetTableJobsRequestParams {\n  table: string;\n}\n\nexport interface GetTableJobsRequestBody {}\n\nexport type GetTableJobsInput = GetTableJobsRequestBody & GetTableJobsRequestHeaders & GetTableJobsRequestQuery & GetTableJobsRequestParams\n\nexport type GetTableJobsRequest = {\n  headers: GetTableJobsRequestHeaders;\n  query: GetTableJobsRequestQuery;\n  params: GetTableJobsRequestParams;\n  body: GetTableJobsRequestBody;\n}\n\nexport const parseReq = (input: GetTableJobsInput): GetTableJobsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/jobs`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableJobsResponse {\n  jobs: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  }[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ImportTableRequestHeaders {}\n\nexport interface ImportTableRequestQuery {}\n\nexport interface ImportTableRequestParams {\n  table: string;\n}\n\nexport interface ImportTableRequestBody {\n  /**\n   * The file ID to import. It must have been uploaded to the Files API before. Supported formats: CSV, JSON (gzipped or not)\n   */\n  fileId: string;\n}\n\nexport type ImportTableInput = ImportTableRequestBody & ImportTableRequestHeaders & ImportTableRequestQuery & ImportTableRequestParams\n\nexport type ImportTableRequest = {\n  headers: ImportTableRequestHeaders;\n  query: ImportTableRequestQuery;\n  params: ImportTableRequestParams;\n  body: ImportTableRequestBody;\n}\n\nexport const parseReq = (input: ImportTableInput): ImportTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/import`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'fileId': input['fileId'] },\n  }\n}\n\nexport interface ImportTableResponse {\n  job: {\n    id: string;\n    botId: string;\n    tableId: string;\n    type: \"export\" | \"import\" | \"clear_column\" | \"clear_vectors\";\n    status: \"pending\" | \"in_progress\" | \"finalizing\" | \"completed\" | \"failed\";\n    progress?: number;\n    inputFileId: string | null;\n    outputFileId: string | null;\n    createdAt: string;\n    updatedAt: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateTableRequestHeaders {}\n\nexport interface UpdateTableRequestQuery {}\n\nexport interface UpdateTableRequestParams {\n  table: string;\n}\n\nexport interface UpdateTableRequestBody {\n  /**\n   * Required. This name is used to identify your table.\n   */\n  name?: string;\n  /**\n   * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n   */\n  frozen?: boolean;\n  /**\n   * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n   */\n  keyColumn?: string | null;\n  /**\n   * Provide an object or a JSON schema to define the columns of the table. A maximum of 20 keys in the object/schema is allowed.\n   */\n  schema?: {\n    [k: string]: any;\n  };\n  /**\n   * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n   */\n  tags?: {\n    [k: string]: string;\n  };\n  /**\n   * Indicates if the table is enabled for computation.\n   */\n  isComputeEnabled?: boolean;\n  /**\n   * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased, not decreased. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota.\n   */\n  factor?: number;\n}\n\nexport type UpdateTableInput = UpdateTableRequestBody & UpdateTableRequestHeaders & UpdateTableRequestQuery & UpdateTableRequestParams\n\nexport type UpdateTableRequest = {\n  headers: UpdateTableRequestHeaders;\n  query: UpdateTableRequestQuery;\n  params: UpdateTableRequestParams;\n  body: UpdateTableRequestBody;\n}\n\nexport const parseReq = (input: UpdateTableInput): UpdateTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'name': input['name'], 'frozen': input['frozen'], 'keyColumn': input['keyColumn'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'], 'factor': input['factor'] },\n  }\n}\n\nexport interface UpdateTableResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n  /**\n   * List of columns that have become stale following the modification.\n   */\n  staleColumns?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface RenameTableColumnRequestHeaders {}\n\nexport interface RenameTableColumnRequestQuery {}\n\nexport interface RenameTableColumnRequestParams {\n  table: string;\n}\n\nexport interface RenameTableColumnRequestBody {\n  /**\n   * The existing name of the column.\n   */\n  name: string;\n  /**\n   * The new name to assign to the column.\n   */\n  newName: string;\n}\n\nexport type RenameTableColumnInput = RenameTableColumnRequestBody & RenameTableColumnRequestHeaders & RenameTableColumnRequestQuery & RenameTableColumnRequestParams\n\nexport type RenameTableColumnRequest = {\n  headers: RenameTableColumnRequestHeaders;\n  query: RenameTableColumnRequestQuery;\n  params: RenameTableColumnRequestParams;\n  body: RenameTableColumnRequestBody;\n}\n\nexport const parseReq = (input: RenameTableColumnInput): RenameTableColumnRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/column`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'name': input['name'], 'newName': input['newName'] },\n  }\n}\n\nexport interface RenameTableColumnResponse {\n  table: {\n    /**\n     * Unique identifier for the table\n     */\n    id: string;\n    /**\n     * Required. This name is used to identify your table.\n     */\n    name: string;\n    /**\n     * The 'factor' multiplies the row's data storage limit by 4KB and its quota count. It can only be increased (not decreased) after table creation via updateTable. For instance, a factor of 2 increases storage to 8KB but counts as 2 rows in your quota. The default factor is 1.\n     */\n    factor?: number;\n    /**\n     * A table designated as \"frozen\" is immutable in terms of its name and schema structure; modifications to its schema or a renaming operation are not permitted. The only action that can be taken on such a table is deletion. The schema established at the time of creation is locked in as the final structure. To implement any changes, the table must be duplicated with the desired alterations.\n     */\n    frozen?: boolean;\n    /**\n     * Designate a column as the primary unique identifier for this table. When set, a unique index is automatically created on this column, enabling significantly faster upsert operations. All values in this column must be unique across the table. When set to null, the key index is removed.\n     */\n    keyColumn?: string | null;\n    schema: {\n      $schema?: string;\n      /**\n       * List of keys/columns in the table.\n       */\n      properties: {\n        [k: string]: {\n          type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n          format?: \"date-time\";\n          description?: string;\n          /**\n           * String properties must match this pattern\n           */\n          pattern?: string;\n          /**\n           * String properties must be one of these values\n           */\n          enum?: string[];\n          /**\n           * Defines the shape of items in an array\n           */\n          items?: {\n            type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n            [k: string]: any;\n          };\n          nullable?: boolean;\n          properties?: {\n            [k: string]: {\n              type: \"string\" | \"number\" | \"boolean\" | \"object\" | \"array\" | \"null\";\n              [k: string]: any;\n            };\n          };\n          \"x-zui\": {\n            index: number;\n            /**\n             * [deprecated] ID of the column.\n             */\n            id?: string;\n            /**\n             * Indicates if the column is vectorized and searchable.\n             */\n            searchable?: boolean;\n            /**\n             * Indicates if the field is hidden in the UI\n             */\n            hidden?: boolean;\n            /**\n             * Order of the column in the UI\n             */\n            order?: number;\n            /**\n             * Width of the column in the UI\n             */\n            width?: number;\n            /**\n             * ID of the schema\n             */\n            schemaId?: string;\n            computed?: {\n              action: \"ai\" | \"code\" | \"workflow\";\n              dependencies?: string[];\n              /**\n               * Prompt when action is \"ai\"\n               */\n              prompt?: string;\n              /**\n               * Code to execute when action is \"code\"\n               */\n              code?: string;\n              /**\n               * Model to use when action is \"ai\"\n               */\n              model?: string;\n              /**\n               * ID of Workflow to execute when action is \"workflow\"\n               */\n              workflowId?: string;\n              enabled?: boolean;\n            };\n            /**\n             * TypeScript typings for the column. Recommended if the type is \"object\", ex: \"\\{ foo: string; bar: number \\}\"\n             */\n            typings?: string;\n          };\n        };\n      };\n      /**\n       * Additional properties can be provided, but they will be ignored if no column matches.\n       */\n      additionalProperties: true;\n      /**\n       * Array of required properties.\n       */\n      required?: string[];\n      type: \"object\";\n    };\n    /**\n     * Optional tags to help organize your tables. These should be passed here as an object representing key/value pairs.\n     */\n    tags?: {\n      [k: string]: string;\n    };\n    /**\n     * Indicates if the table is enabled for computation.\n     */\n    isComputeEnabled?: boolean;\n    /**\n     * Timestamp of table creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last table update.\n     */\n    updatedAt?: string;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteTableRequestHeaders {}\n\nexport interface DeleteTableRequestQuery {}\n\nexport interface DeleteTableRequestParams {\n  table: string;\n}\n\nexport interface DeleteTableRequestBody {}\n\nexport type DeleteTableInput = DeleteTableRequestBody & DeleteTableRequestHeaders & DeleteTableRequestQuery & DeleteTableRequestParams\n\nexport type DeleteTableRequest = {\n  headers: DeleteTableRequestHeaders;\n  query: DeleteTableRequestQuery;\n  params: DeleteTableRequestParams;\n  body: DeleteTableRequestBody;\n}\n\nexport const parseReq = (input: DeleteTableInput): DeleteTableRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface DeleteTableResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface GetTableRowRequestHeaders {}\n\nexport interface GetTableRowRequestQuery {\n  id: number;\n}\n\nexport interface GetTableRowRequestParams {\n  table: string;\n}\n\nexport interface GetTableRowRequestBody {}\n\nexport type GetTableRowInput = GetTableRowRequestBody & GetTableRowRequestHeaders & GetTableRowRequestQuery & GetTableRowRequestParams\n\nexport type GetTableRowRequest = {\n  headers: GetTableRowRequestHeaders;\n  query: GetTableRowRequestQuery;\n  params: GetTableRowRequestParams;\n  body: GetTableRowRequestBody;\n}\n\nexport const parseReq = (input: GetTableRowInput): GetTableRowRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/row`,\n    headers: {  },\n    query: { 'id': input['id'] },\n    params: { 'table': input['table'] },\n    body: {  },\n  }\n}\n\nexport interface GetTableRowResponse {\n  row: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  };\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface FindTableRowsRequestHeaders {}\n\nexport interface FindTableRowsRequestQuery {}\n\nexport interface FindTableRowsRequestParams {\n  table: string;\n}\n\nexport interface FindTableRowsRequestBody {\n  /**\n   * Limit for pagination, specifying the maximum number of rows to return.\n   */\n  limit?: number;\n  /**\n   * Offset for pagination, specifying where to start returning rows from.\n   */\n  offset?: number;\n  /**\n   * Provide a mongodb-like filter to apply to the query. Example: \\{ \"name\": \\{ \"$eq\": \"John\" \\} \\}\n   */\n  filter?: {\n    [k: string]: any;\n  };\n  /**\n   * Group the rows by a specific column and apply aggregations to them. Allowed values: key, avg, max, min, sum, count. Example: \\{ \"someId\": \"key\", \"orders\": [\"sum\", \"avg\"] \\}\n   */\n  group?: {\n    [k: string]: any;\n  };\n  /**\n   * Search term to apply to the row search. When using this parameter, some rows which doesn't match the search term will be returned, use the similarity field to know how much the row matches the search term.\n   */\n  search?: string;\n  /**\n   * Specify which columns to return in the response. Supports both top-level columns (e.g., \"name\") and nested attributes using dot notation (e.g., \"attributes.price\"). System columns (id, createdAt, updatedAt, etc.) are always included. If omitted, all columns are returned.\n   */\n  select?: string[];\n  /**\n   * Specifies the column by which to order the results. By default it is ordered by id. Build-in columns: id, createdAt, updatedAt\n   */\n  orderBy?: string;\n  /**\n   * Specifies the direction of sorting, either ascending or descending.\n   */\n  orderDirection?: \"asc\" | \"desc\";\n}\n\nexport type FindTableRowsInput = FindTableRowsRequestBody & FindTableRowsRequestHeaders & FindTableRowsRequestQuery & FindTableRowsRequestParams\n\nexport type FindTableRowsRequest = {\n  headers: FindTableRowsRequestHeaders;\n  query: FindTableRowsRequestQuery;\n  params: FindTableRowsRequestParams;\n  body: FindTableRowsRequestBody;\n}\n\nexport const parseReq = (input: FindTableRowsInput): FindTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/find`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'limit': input['limit'], 'offset': input['offset'], 'filter': input['filter'], 'group': input['group'], 'search': input['search'], 'select': input['select'], 'orderBy': input['orderBy'], 'orderDirection': input['orderDirection'] },\n  }\n}\n\nexport interface FindTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Flag indicating if there are more rows to fetch.\n   */\n  hasMore: boolean;\n  offset: number;\n  limit: number;\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface CreateTableRowsRequestHeaders {}\n\nexport interface CreateTableRowsRequestQuery {}\n\nexport interface CreateTableRowsRequestParams {\n  table: string;\n}\n\nexport interface CreateTableRowsRequestBody {\n  /**\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    [k: string]: any;\n  }[];\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type CreateTableRowsInput = CreateTableRowsRequestBody & CreateTableRowsRequestHeaders & CreateTableRowsRequestQuery & CreateTableRowsRequestParams\n\nexport type CreateTableRowsRequest = {\n  headers: CreateTableRowsRequestHeaders;\n  query: CreateTableRowsRequestQuery;\n  params: CreateTableRowsRequestParams;\n  body: CreateTableRowsRequestBody;\n}\n\nexport const parseReq = (input: CreateTableRowsInput): CreateTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface CreateTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface DeleteTableRowsRequestHeaders {}\n\nexport interface DeleteTableRowsRequestQuery {}\n\nexport interface DeleteTableRowsRequestParams {\n  table: string;\n}\n\nexport interface DeleteTableRowsRequestBody {\n  /**\n   * @maxItems 1000\n   */\n  ids?: number[];\n  /**\n   * Filter to apply when deleting rows. Example: \\{ \"name\": \\{ \"$eq\": \"John\" \\} \\}\n   */\n  filter?: {\n    [k: string]: any;\n  };\n  /**\n   * Flag to delete all rows. Use with caution as this action is irreversible.\n   */\n  deleteAllRows?: boolean;\n}\n\nexport type DeleteTableRowsInput = DeleteTableRowsRequestBody & DeleteTableRowsRequestHeaders & DeleteTableRowsRequestQuery & DeleteTableRowsRequestParams\n\nexport type DeleteTableRowsRequest = {\n  headers: DeleteTableRowsRequestHeaders;\n  query: DeleteTableRowsRequestQuery;\n  params: DeleteTableRowsRequestParams;\n  body: DeleteTableRowsRequestBody;\n}\n\nexport const parseReq = (input: DeleteTableRowsInput): DeleteTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/delete`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'ids': input['ids'], 'filter': input['filter'], 'deleteAllRows': input['deleteAllRows'] },\n  }\n}\n\nexport interface DeleteTableRowsResponse {\n  deletedRows: number;\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpdateTableRowsRequestHeaders {}\n\nexport interface UpdateTableRowsRequestQuery {}\n\nexport interface UpdateTableRowsRequestParams {\n  table: string;\n}\n\nexport interface UpdateTableRowsRequestBody {\n  /**\n   * Rows with updated data, identified by ID.\n   *\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    id: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type UpdateTableRowsInput = UpdateTableRowsRequestBody & UpdateTableRowsRequestHeaders & UpdateTableRowsRequestQuery & UpdateTableRowsRequestParams\n\nexport type UpdateTableRowsRequest = {\n  headers: UpdateTableRowsRequestHeaders;\n  query: UpdateTableRowsRequestQuery;\n  params: UpdateTableRowsRequestParams;\n  body: UpdateTableRowsRequestBody;\n}\n\nexport const parseReq = (input: UpdateTableRowsInput): UpdateTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface UpdateTableRowsResponse {\n  rows: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\n}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface UpsertTableRowsRequestHeaders {}\n\nexport interface UpsertTableRowsRequestQuery {}\n\nexport interface UpsertTableRowsRequestParams {\n  table: string;\n}\n\nexport interface UpsertTableRowsRequestBody {\n  /**\n   * @minItems 1\n   * @maxItems 1000\n   */\n  rows: {\n    id?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Determines if a row is inserted or updated. Defaults to \"id\".\n   */\n  keyColumn?: string;\n  /**\n   * Ensure computed columns are fully processed before returning the result. This is applicable only when the number of rows involved is fewer than 1.\n   */\n  waitComputed?: boolean;\n}\n\nexport type UpsertTableRowsInput = UpsertTableRowsRequestBody & UpsertTableRowsRequestHeaders & UpsertTableRowsRequestQuery & UpsertTableRowsRequestParams\n\nexport type UpsertTableRowsRequest = {\n  headers: UpsertTableRowsRequestHeaders;\n  query: UpsertTableRowsRequestQuery;\n  params: UpsertTableRowsRequestParams;\n  body: UpsertTableRowsRequestBody;\n}\n\nexport const parseReq = (input: UpsertTableRowsInput): UpsertTableRowsRequest & { path: string } => {\n  return {\n    path: `/v1/tables/${encodeURIComponent(input['table'])}/rows/upsert`,\n    headers: {  },\n    query: {  },\n    params: { 'table': input['table'] },\n    body: { 'rows': input['rows'], 'keyColumn': input['keyColumn'], 'waitComputed': input['waitComputed'] },\n  }\n}\n\nexport interface UpsertTableRowsResponse {\n  inserted: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  updated: {\n    /**\n     * Unique identifier for the row.\n     */\n    id: number;\n    /**\n     * Timestamp of row creation.\n     */\n    createdAt?: string;\n    /**\n     * Timestamp of the last row update.\n     */\n    updatedAt?: string;\n    computed: {\n      [k: string]: {\n        status: string;\n        error?: string;\n        updatedBy?: string;\n        updatedAt?: string;\n      };\n    };\n    /**\n     * [Read-only] List of stale values that are waiting to be recomputed.\n     */\n    stale?: string[];\n    /**\n     * Optional numeric value indicating similarity, when using findTableRows.\n     */\n    similarity?: number;\n    [k: string]: any;\n  }[];\n  /**\n   * Alerts for minor issues that don't block the operation but suggest possible improvements.\n   */\n  warnings?: string[];\n  /**\n   * Critical issues in specific elements that prevent their successful processing, allowing partial operation success.\n   */\n  errors?: string[];\n}\n\n", "import axiosRetry from 'axios-retry'\nimport * as common from '../common'\nimport * as uploadFile from '../files/upload-file'\nimport * as gen from '../gen/public'\nimport * as types from '../types'\n\ntype IClient = common.types.Simplify<\n  gen.Client & {\n    uploadFile: (input: uploadFile.UploadFileInput) => Promise<uploadFile.UploadFileOutput>\n  }\n>\nexport type Operation = common.types.Operation<IClient>\nexport type ClientInputs = common.types.Inputs<IClient>\nexport type ClientOutputs = common.types.Outputs<IClient>\n\nexport type ClientProps = common.types.CommonClientProps & {\n  integrationId?: string\n  integrationAlias?: string\n  workspaceId?: string\n  botId?: string\n  token?: string\n}\n\nexport class Client extends gen.Client implements IClient {\n  public readonly config: Readonly<types.ClientConfig>\n\n  public constructor(clientProps: ClientProps = {}) {\n    const clientConfig = common.config.getClientConfig(clientProps)\n    const axiosInstance = common.axios.createAxiosInstance(clientConfig)\n\n    super(axiosInstance, {\n      toApiError: common.errors.toApiError,\n    })\n\n    if (clientProps.retry) {\n      axiosRetry(axiosInstance, clientProps.retry)\n    }\n\n    this.config = clientConfig\n  }\n\n  public get list() {\n    type ListInputs = common.types.ListInputs<IClient>\n    return {\n      conversations: (props: ListInputs['listConversations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listConversations({ nextToken, ...props }).then((r) => ({ ...r, items: r.conversations }))\n        ),\n      participants: (props: ListInputs['listParticipants']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listParticipants({ nextToken, ...props }).then((r) => ({ ...r, items: r.participants }))\n        ),\n      events: (props: ListInputs['listEvents']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listEvents({ nextToken, ...props }).then((r) => ({ ...r, items: r.events }))\n        ),\n      messages: (props: ListInputs['listMessages']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listMessages({ nextToken, ...props }).then((r) => ({ ...r, items: r.messages }))\n        ),\n      users: (props: ListInputs['listUsers']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsers({ nextToken, ...props }).then((r) => ({ ...r, items: r.users }))\n        ),\n      publicIntegrations: (props: ListInputs['listPublicIntegrations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n        ),\n      bots: (props: ListInputs['listBots']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listBots({ nextToken, ...props }).then((r) => ({ ...r, items: r.bots }))\n        ),\n      botIssues: (props: ListInputs['listBotIssues']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listBotIssues({ nextToken, ...props }).then((r) => ({ ...r, items: r.issues }))\n        ),\n      workspaces: (props: ListInputs['listWorkspaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n        ),\n      publicWorkspaces: (props: ListInputs['listPublicWorkspaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n        ),\n      workspaceMembers: (props: ListInputs['listWorkspaceMembers']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listWorkspaceMembers({ nextToken, ...props }).then((r) => ({ ...r, items: r.members }))\n        ),\n      integrations: (props: ListInputs['listIntegrations']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n        ),\n      interfaces: (props: ListInputs['listInterfaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listInterfaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.interfaces }))\n        ),\n      publicInterfaces: (props: ListInputs['listPublicInterfaces']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicInterfaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.interfaces }))\n        ),\n      plugins: (props: ListInputs['listPlugins']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPlugins({ nextToken, ...props }).then((r) => ({ ...r, items: r.plugins }))\n        ),\n      publicPlugins: (props: ListInputs['listPublicPlugins']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listPublicPlugins({ nextToken, ...props }).then((r) => ({ ...r, items: r.plugins }))\n        ),\n      activities: (props: ListInputs['listActivities']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listActivities({ nextToken, ...props }).then((r) => ({ ...r, items: r.activities }))\n        ),\n      files: (props: ListInputs['listFiles']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFiles({ nextToken, ...props }).then((r) => ({ ...r, items: r.files }))\n        ),\n      filePassages: (props: ListInputs['listFilePassages']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFilePassages({ nextToken, ...props }).then((r) => ({ ...r, items: r.passages }))\n        ),\n      fileTags: (props: ListInputs['listFileTags']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFileTags({ nextToken, ...props }).then((r) => ({ ...r, items: r.tags }))\n        ),\n      fileTagValues: (props: ListInputs['listFileTagValues']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listFileTagValues({ nextToken, ...props }).then((r) => ({ ...r, items: r.values }))\n        ),\n      knowledgeBases: (props: ListInputs['listKnowledgeBases']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listKnowledgeBases({ nextToken, ...props }).then((r) => ({ ...r, items: r.knowledgeBases }))\n        ),\n      usageActivity: (props: ListInputs['listUsageActivity']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsageActivity({ nextToken, ...props }).then((r) => ({ ...r, items: r.data }))\n        ),\n      usageActivityDaily: (props: ListInputs['listUsageActivityDaily']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listUsageActivityDaily({ nextToken, ...props }).then((r) => ({ ...r, items: r.data }))\n        ),\n      workflows: (props: ListInputs['listWorkflows']) =>\n        new common.listing.AsyncCollection(({ nextToken }) =>\n          this.listWorkflows({ nextToken, ...props }).then((r) => ({ ...r, items: r.workflows }))\n        ),\n    }\n  }\n\n  /**\n   * Create/update and upload a file in a single step. Returns an object containing the file metadata and the URL to retrieve the file.\n   */\n  public readonly uploadFile = async (input: uploadFile.UploadFileInput): Promise<uploadFile.UploadFileOutput> => {\n    return await uploadFile.upload(this, input)\n  }\n}\n"],
  "mappings": "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",
  "names": ["require_is_retry_allowed", "__commonJSMin", "exports", "module", "denyList", "error", "require_es_object_atoms", "__commonJSMin", "exports", "module", "require_es_errors", "__commonJSMin", "exports", "module", "require_eval", "__commonJSMin", "exports", "module", "require_range", "__commonJSMin", "exports", "module", "require_ref", "__commonJSMin", "exports", "module", "require_syntax", "__commonJSMin", "exports", "module", "require_type", "__commonJSMin", "exports", "module", "require_uri", "__commonJSMin", "exports", "module", "require_abs", "__commonJSMin", "exports", "module", "require_floor", "__commonJSMin", "exports", "module", "require_max", "__commonJSMin", "exports", "module", "require_min", "__commonJSMin", "exports", "module", "require_pow", "__commonJSMin", "exports", "module", "require_round", "__commonJSMin", "exports", "module", "require_isNaN", "__commonJSMin", "exports", "module", "a", "require_sign", "__commonJSMin", "exports", "module", "$isNaN", "number", "require_gOPD", "__commonJSMin", "exports", "module", "require_gopd", "__commonJSMin", "exports", "module", "$gOPD", "require_es_define_property", "__commonJSMin", "exports", "module", "$defineProperty", "require_shams", "__commonJSMin", "exports", "module", "obj", "sym", "symObj", "symVal", "_", "syms", "descriptor", "require_has_symbols", "__commonJSMin", "exports", "module", "origSymbol", "hasSymbolSham", "require_Reflect_getPrototypeOf", "__commonJSMin", "exports", "module", "require_es_object_atoms", "__commonJSMin", "exports", "module", "require_Object_getPrototypeOf", "__commonJSMin", "exports", "module", "$Object", "require_implementation", "__commonJSMin", "exports", "module", "ERROR_MESSAGE", "toStr", "max", "funcType", "concatty", "a", "b", "arr", "i", "j", "slicy", "arrLike", "offset", "joiny", "joiner", "str", "that", "target", "args", "bound", "binder", "result", "boundLength", "boundArgs", "Empty", "require_function_bind", "__commonJSMin", "exports", "module", "implementation", "require_functionCall", "__commonJSMin", "exports", "module", "require_functionApply", "__commonJSMin", "exports", "module", "require_reflectApply", "__commonJSMin", "exports", "module", "require_actualApply", "__commonJSMin", "exports", "module", "bind", "$apply", "$call", "$reflectApply", "require_call_bind_apply_helpers", "__commonJSMin", "exports", "module", "bind", "$TypeError", "$call", "$actualApply", "args", "require_get", "__commonJSMin", "exports", "module", "callBind", "gOPD", "hasProtoAccessor", "desc", "$Object", "$getPrototypeOf", "value", "require_get_proto", "__commonJSMin", "exports", "module", "reflectGetProto", "originalGetProto", "getDunderProto", "O", "require_hasown", "__commonJSMin", "exports", "module", "call", "$hasOwn", "bind", "require_get_intrinsic", "__commonJSMin", "exports", "module", "undefined", "$Object", "$Error", "$EvalError", "$RangeError", "$ReferenceError", "$SyntaxError", "$TypeError", "$URIError", "abs", "floor", "max", "min", "pow", "round", "sign", "$Function", "getEvalledConstructor", "expressionSyntax", "$gOPD", "$defineProperty", "throwTypeError", "ThrowTypeError", "hasSymbols", "getProto", "$ObjectGPO", "$ReflectGPO", "$apply", "$call", "needsEval", "TypedArray", "INTRINSICS", "errorProto", "doEval", "name", "value", "fn", "gen", "LEGACY_ALIASES", "bind", "hasOwn", "$concat", "$spliceApply", "$replace", "$strSlice", "$exec", "rePropName", "reEscapeChar", "stringToPath", "string", "first", "last", "result", "match", "number", "quote", "subString", "getBaseIntrinsic", "allowMissing", "intrinsicName", "alias", "parts", "intrinsicBaseName", "intrinsic", "intrinsicRealName", "skipFurtherCaching", "i", "isOwn", "part", "desc", "require_functionApply", "__commonJSMin", "exports", "module", "require_functionCall", "__commonJSMin", "exports", "module", "require_get_intrinsic", "__commonJSMin", "exports", "module", "undefined", "$Object", "$Error", "$EvalError", "$RangeError", "$ReferenceError", "$SyntaxError", "$TypeError", "$URIError", "abs", "floor", "max", "min", "pow", "round", "sign", "$Function", "getEvalledConstructor", "expressionSyntax", "$gOPD", "$defineProperty", "throwTypeError", "ThrowTypeError", "hasSymbols", "getProto", "$ObjectGPO", "$ReflectGPO", "$apply", "$call", "needsEval", "TypedArray", "INTRINSICS", "errorProto", "doEval", "name", "value", "fn", "gen", "LEGACY_ALIASES", "bind", "hasOwn", "$concat", "$spliceApply", "$replace", "$strSlice", "$exec", "rePropName", "reEscapeChar", "stringToPath", "string", "first", "last", "result", "match", "number", "quote", "subString", "getBaseIntrinsic", "allowMissing", "intrinsicName", "alias", "parts", "intrinsicBaseName", "intrinsic", "intrinsicRealName", "skipFurtherCaching", "i", "isOwn", "part", "desc", "require_define_data_property", "__commonJSMin", "exports", "module", "$defineProperty", "$SyntaxError", "$TypeError", "gopd", "obj", "property", "value", "nonEnumerable", "nonWritable", "nonConfigurable", "loose", "desc", "require_has_property_descriptors", "__commonJSMin", "exports", "module", "$defineProperty", "hasPropertyDescriptors", "require_set_function_length", "__commonJSMin", "exports", "module", "GetIntrinsic", "define", "hasDescriptors", "gOPD", "$TypeError", "$floor", "fn", "length", "loose", "functionLengthIsConfigurable", "functionLengthIsWritable", "desc", "require_call_bind", "__commonJSMin", "exports", "module", "bind", "GetIntrinsic", "setFunctionLength", "$TypeError", "$apply", "$call", "$reflectApply", "$defineProperty", "$max", "originalFunction", "func", "applyBind", "require_callBound", "__commonJSMin", "exports", "module", "GetIntrinsic", "callBind", "$indexOf", "name", "allowMissing", "intrinsic", "require_util_inspect", "__commonJSMin", "exports", "module", "require_object_inspect", "__commonJSMin", "exports", "module", "hasMap", "mapSizeDescriptor", "mapSize", "mapForEach", "hasSet", "setSizeDescriptor", "setSize", "setForEach", "hasWeakMap", "weakMapHas", "hasWeakSet", "weakSetHas", "hasWeakRef", "weakRefDeref", "booleanValueOf", "objectToString", "functionToString", "$match", "$slice", "$replace", "$toUpperCase", "$toLowerCase", "$test", "$concat", "$join", "$arrSlice", "$floor", "bigIntValueOf", "gOPS", "symToString", "hasShammedSymbols", "toStringTag", "isEnumerable", "gPO", "O", "addNumericSeparator", "num", "str", "sepRegex", "int", "intStr", "dec", "utilInspect", "inspectCustom", "inspectSymbol", "isSymbol", "quotes", "quoteREs", "inspect_", "obj", "options", "depth", "seen", "opts", "has", "customInspect", "numericSeparator", "inspectString", "bigIntStr", "maxDepth", "isArray", "indent", "getIndent", "indexOf", "inspect", "value", "from", "noIndent", "newOpts", "isRegExp", "name", "nameOf", "keys", "arrObjKeys", "symString", "markBoxed", "isElement", "s", "attrs", "i", "wrapQuotes", "quote", "xs", "singleLineValues", "indentedJoin", "isError", "parts", "isMap", "mapParts", "key", "collectionOf", "isSet", "setParts", "isWeakMap", "weakCollectionOf", "isWeakSet", "isWeakRef", "isNumber", "isBigInt", "isBoolean", "isString", "isDate", "ys", "isPlainObject", "protoTag", "stringTag", "toStr", "constructorTag", "tag", "defaultStyle", "style", "quoteChar", "hasOwn", "f", "m", "x", "l", "remaining", "trailer", "quoteRE", "lowbyte", "c", "n", "type", "size", "entries", "joinedEntries", "baseIndent", "lineJoiner", "isArr", "syms", "symMap", "k", "j", "require_side_channel", "__commonJSMin", "exports", "module", "GetIntrinsic", "callBound", "inspect", "$TypeError", "$WeakMap", "$Map", "$weakMapGet", "$weakMapSet", "$weakMapHas", "$mapGet", "$mapSet", "$mapHas", "listGetNode", "list", "key", "prev", "curr", "listGet", "objects", "node", "listSet", "value", "listHas", "$wm", "$m", "$o", "channel", "require_formats", "__commonJSMin", "exports", "module", "replace", "percentTwenties", "Format", "value", "require_utils", "__commonJSMin", "exports", "module", "formats", "has", "isArray", "hexTable", "array", "i", "compactQueue", "queue", "item", "obj", "compacted", "j", "arrayToObject", "source", "options", "merge", "target", "mergeTarget", "targetItem", "acc", "key", "value", "assign", "decode", "str", "decoder", "charset", "strWithoutPlus", "encode", "defaultEncoder", "kind", "format", "string", "$0", "out", "c", "compact", "refs", "keys", "val", "isRegExp", "isBuffer", "combine", "a", "b", "maybeMap", "fn", "mapped", "require_stringify", "__commonJSMin", "exports", "module", "getSideChannel", "utils", "formats", "has", "arrayPrefixGenerators", "prefix", "key", "isArray", "split", "push", "pushToArray", "arr", "valueOrArray", "toISO", "defaultFormat", "defaults", "date", "isNonNullishPrimitive", "v", "sentinel", "stringify", "object", "generateArrayPrefix", "commaRoundTrip", "strictNullHandling", "skipNulls", "encoder", "filter", "sort", "allowDots", "serializeDate", "format", "formatter", "encodeValuesOnly", "charset", "sideChannel", "obj", "tmpSc", "step", "findFlag", "pos", "value", "keyValue", "valuesArray", "valuesJoined", "i", "values", "objKeys", "keys", "adjustedPrefix", "j", "keyPrefix", "valueSideChannel", "normalizeStringifyOptions", "opts", "options", "arrayFormat", "joined", "require_parse", "__commonJSMin", "exports", "module", "utils", "has", "isArray", "defaults", "interpretNumericEntities", "str", "$0", "numberStr", "parseArrayValue", "val", "options", "isoSentinel", "charsetSentinel", "parseValues", "obj", "cleanStr", "limit", "parts", "skipIndex", "i", "charset", "part", "bracketEqualsPos", "pos", "key", "encodedVal", "parseObject", "chain", "valuesParsed", "leaf", "root", "cleanRoot", "index", "parseKeys", "givenKey", "brackets", "child", "segment", "parent", "keys", "normalizeParseOptions", "opts", "tempObj", "newObj", "require_lib", "__commonJSMin", "exports", "module", "stringify", "parse", "formats", "index_exports", "__export", "AlreadyExistsError", "BreakingChangesError", "Client", "ForbiddenError", "InternalError", "InvalidDataFormatError", "InvalidIdentifierError", "InvalidJsonSchemaError", "InvalidPayloadError", "InvalidQueryError", "LimitExceededError", "MethodNotFoundError", "OperationTimeoutError", "PayloadTooLargeError", "PaymentRequiredError", "QuotaExceededError", "RateLimitedError", "ReferenceConstraintError", "ReferenceNotFoundError", "RelationConflictError", "ResourceGoneError", "ResourceLockedConflictError", "ResourceNotFoundError", "RuntimeError", "UnauthorizedError", "UnknownError", "UnsupportedMediaTypeError", "UploadFileError", "admin_exports", "axios", "esm_exports", "billing_exports", "errorFrom", "files_exports", "isApiError", "runtime_exports", "tables_exports", "__toCommonJS", "esm_exports", "__export", "DEFAULT_OPTIONS", "esm_default", "exponentialDelay", "isIdempotentRequestError", "isNetworkError", "isNetworkOrIdempotentRequestError", "isRetryableError", "isSafeRequestError", "linearDelay", "namespace", "retryAfter", "import_is_retry_allowed", "error", "CODE_EXCLUDE_LIST", "isRetryAllowed", "SAFE_HTTP_METHODS", "IDEMPOTENT_HTTP_METHODS", "retryAfterHeader", "retryAfterMs", "noDelay", "_retryNumber", "retryNumber", "delayFactor", "calculatedDelay", "delay", "randomSum", "getRequestOptions", "config", "defaultOptions", "setCurrentState", "resetLastRequestTime", "currentState", "fixConfig", "axiosInstance", "shouldRetry", "retries", "retryCondition", "shouldRetryOrPromise", "handleRetry", "retryDelay", "shouldResetTimeout", "onRetry", "lastRequestDuration", "timeout", "data", "resolve", "abortListener", "handleMaxRetryTimesExceeded", "axiosRetry", "requestInterceptorId", "responseInterceptorId", "runtime_exports", "__export", "Client", "import_browser_or_node", "import_http", "import_https", "_100mb", "maxBodyLength", "maxContentLength", "httpAgent", "http", "httpsAgent", "https", "config_exports", "__export", "getClientConfig", "import_browser_or_node", "defaultApiUrl", "defaultTimeout", "defaultDebug", "apiUrlEnvName", "botIdEnvName", "integrationIdEnvName", "workspaceIdEnvName", "tokenEnvName", "clientProps", "props", "readEnvConfig", "headers", "apiUrl", "timeout", "debug", "getNodeConfig", "config", "token", "listing_exports", "__export", "AsyncCollection", "_list", "nextToken", "items", "meta", "item", "props", "limit", "arr", "count", "axios_exports", "__export", "createAxiosInstance", "axios", "import_browser_or_node", "randomUUID", "addDebugInterceptors", "axiosInstance", "config", "_formatRequestLog", "response", "_formatResponseLog", "error", "_formatErrorLog", "method", "url", "headers", "data", "fullUrl", "status", "duration", "_formatDuration", "startTime", "endTime", "createAxios", "config", "maxBodyLength", "maxContentLength", "httpAgent", "httpsAgent", "createAxiosInstance", "axiosConfig", "axiosInstance", "addDebugInterceptors", "errors_exports", "__export", "toApiError", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "UploadFileError", "message", "innerError", "file", "toApiError", "err", "axios", "errorFrom", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "props", "listing_exports", "nextToken", "admin_exports", "__export", "Client", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "props", "listing_exports", "nextToken", "billing_exports", "__export", "Client", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "_", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "_", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "props", "listing_exports", "nextToken", "files_exports", "__export", "Client", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "import_axios", "upload", "client", "key", "index", "tags", "contentType", "accessPolicies", "content", "url", "indexing", "expiresAt", "metadata", "publicContentImmediatelyAccessible", "UploadFileError", "axios", "res", "err", "buffer", "size", "uint8Array", "file", "headers", "thrown", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "props", "listing_exports", "nextToken", "input", "upload", "tables_exports", "__export", "Client", "import_axios", "import_crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "BaseApiError", "_BaseApiError", "code", "description", "type", "message", "error", "id", "metadata", "prefix", "timestamp", "randomSuffixByteLength", "randomHexSuffix", "x", "isObject", "obj", "isApiError", "thrown", "UnknownError", "InternalError", "UnauthorizedError", "ForbiddenError", "PayloadTooLargeError", "InvalidPayloadError", "UnsupportedMediaTypeError", "MethodNotFoundError", "ResourceNotFoundError", "InvalidJsonSchemaError", "InvalidDataFormatError", "InvalidIdentifierError", "RelationConflictError", "ReferenceConstraintError", "ResourceLockedConflictError", "ResourceGoneError", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "OperationTimeoutError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "import_axios", "import_qs", "isDefined", "pair", "toAxiosRequest", "req", "method", "path", "query", "headerParams", "body", "headerEntries", "headers", "queryString", "qs", "url", "data", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "_", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "_", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "parseReq", "input", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "mapRequest", "toAxiosRequest", "mapErrorResponse", "toApiError", "axiosReq", "res", "e", "err", "axios", "errorFrom", "Client", "clientProps", "clientConfig", "config_exports", "axiosInstance", "axios_exports", "errors_exports", "esm_default", "props", "listing_exports", "nextToken", "input", "upload"]
}
