@botpress/client 0.48.1 → 0.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
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/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/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/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/gen/errors.ts", "../src/errors.ts", "../src/client.ts", "../src/config.ts", "../src/gen/index.ts", "../src/gen/to-axios.ts", "../src/gen/operations/createConversation.ts", "../src/gen/operations/getConversation.ts", "../src/gen/operations/listConversations.ts", "../src/gen/operations/getOrCreateConversation.ts", "../src/gen/operations/updateConversation.ts", "../src/gen/operations/deleteConversation.ts", "../src/gen/operations/listParticipants.ts", "../src/gen/operations/addParticipant.ts", "../src/gen/operations/getParticipant.ts", "../src/gen/operations/removeParticipant.ts", "../src/gen/operations/createEvent.ts", "../src/gen/operations/getEvent.ts", "../src/gen/operations/listEvents.ts", "../src/gen/operations/createMessage.ts", "../src/gen/operations/getOrCreateMessage.ts", "../src/gen/operations/getMessage.ts", "../src/gen/operations/updateMessage.ts", "../src/gen/operations/listMessages.ts", "../src/gen/operations/deleteMessage.ts", "../src/gen/operations/createUser.ts", "../src/gen/operations/getUser.ts", "../src/gen/operations/listUsers.ts", "../src/gen/operations/getOrCreateUser.ts", "../src/gen/operations/updateUser.ts", "../src/gen/operations/deleteUser.ts", "../src/gen/operations/setStateExpiry.ts", "../src/gen/operations/getState.ts", "../src/gen/operations/setState.ts", "../src/gen/operations/getOrSetState.ts", "../src/gen/operations/patchState.ts", "../src/gen/operations/callAction.ts", "../src/gen/operations/configureIntegration.ts", "../src/gen/operations/getTask.ts", "../src/gen/operations/createTask.ts", "../src/gen/operations/updateTask.ts", "../src/gen/operations/deleteTask.ts", "../src/gen/operations/listTasks.ts", "../src/gen/operations/createWorkflow.ts", "../src/gen/operations/getWorkflow.ts", "../src/gen/operations/updateWorkflow.ts", "../src/gen/operations/deleteWorkflow.ts", "../src/gen/operations/listWorkflows.ts", "../src/gen/operations/getOrCreateWorkflow.ts", "../src/gen/operations/listTagValues.ts", "../src/gen/operations/trackAnalytics.ts", "../src/gen/operations/runVrl.ts", "../src/gen/operations/getAccount.ts", "../src/gen/operations/updateAccount.ts", "../src/gen/operations/listPersonalAccessTokens.ts", "../src/gen/operations/createPersonalAccessToken.ts", "../src/gen/operations/deletePersonalAccessToken.ts", "../src/gen/operations/setAccountPreference.ts", "../src/gen/operations/getAccountPreference.ts", "../src/gen/operations/listPublicIntegrations.ts", "../src/gen/operations/getPublicIntegrationById.ts", "../src/gen/operations/getPublicIntegration.ts", "../src/gen/operations/createBot.ts", "../src/gen/operations/updateBot.ts", "../src/gen/operations/transferBot.ts", "../src/gen/operations/listBots.ts", "../src/gen/operations/getBot.ts", "../src/gen/operations/deleteBot.ts", "../src/gen/operations/getBotLogs.ts", "../src/gen/operations/getBotWebchat.ts", "../src/gen/operations/getBotAnalytics.ts", "../src/gen/operations/getBotIssue.ts", "../src/gen/operations/listBotIssues.ts", "../src/gen/operations/deleteBotIssue.ts", "../src/gen/operations/listBotIssueEvents.ts", "../src/gen/operations/listBotVersions.ts", "../src/gen/operations/getBotVersion.ts", "../src/gen/operations/createBotVersion.ts", "../src/gen/operations/deployBotVersion.ts", "../src/gen/operations/listWorkspaceInvoices.ts", "../src/gen/operations/getUpcomingInvoice.ts", "../src/gen/operations/chargeWorkspaceUnpaidInvoices.ts", "../src/gen/operations/createWorkspace.ts", "../src/gen/operations/getPublicWorkspace.ts", "../src/gen/operations/getWorkspace.ts", "../src/gen/operations/listWorkspaceUsages.ts", "../src/gen/operations/breakDownWorkspaceUsageByBot.ts", "../src/gen/operations/getAllWorkspaceQuotaCompletion.ts", "../src/gen/operations/getWorkspaceQuota.ts", "../src/gen/operations/listWorkspaceQuotas.ts", "../src/gen/operations/updateWorkspace.ts", "../src/gen/operations/checkHandleAvailability.ts", "../src/gen/operations/listWorkspaces.ts", "../src/gen/operations/listPublicWorkspaces.ts", "../src/gen/operations/deleteWorkspace.ts", "../src/gen/operations/getAuditRecords.ts", "../src/gen/operations/listWorkspaceMembers.ts", "../src/gen/operations/getWorkspaceMember.ts", "../src/gen/operations/deleteWorkspaceMember.ts", "../src/gen/operations/createWorkspaceMember.ts", "../src/gen/operations/updateWorkspaceMember.ts", "../src/gen/operations/listIntegrationApiKeys.ts", "../src/gen/operations/createIntegrationApiKey.ts", "../src/gen/operations/deleteIntegrationApiKey.ts", "../src/gen/operations/createIntegration.ts", "../src/gen/operations/validateIntegrationCreation.ts", "../src/gen/operations/updateIntegration.ts", "../src/gen/operations/validateIntegrationUpdate.ts", "../src/gen/operations/listIntegrations.ts", "../src/gen/operations/getIntegration.ts", "../src/gen/operations/getIntegrationLogs.ts", "../src/gen/operations/getIntegrationByName.ts", "../src/gen/operations/deleteIntegration.ts", "../src/gen/operations/requestIntegrationVerification.ts", "../src/gen/operations/createInterface.ts", "../src/gen/operations/getInterface.ts", "../src/gen/operations/getInterfaceByName.ts", "../src/gen/operations/updateInterface.ts", "../src/gen/operations/deleteInterface.ts", "../src/gen/operations/listInterfaces.ts", "../src/gen/operations/createPlugin.ts", "../src/gen/operations/getPlugin.ts", "../src/gen/operations/getPluginByName.ts", "../src/gen/operations/updatePlugin.ts", "../src/gen/operations/deletePlugin.ts", "../src/gen/operations/listPlugins.ts", "../src/gen/operations/getPluginCode.ts", "../src/gen/operations/getUsage.ts", "../src/gen/operations/getMultipleUsages.ts", "../src/gen/operations/listUsageHistory.ts", "../src/gen/operations/listUsageActivity.ts", "../src/gen/operations/listUsageActivityDaily.ts", "../src/gen/operations/changeAISpendQuota.ts", "../src/gen/operations/listActivities.ts", "../src/gen/operations/introspect.ts", "../src/gen/operations/upsertFile.ts", "../src/gen/operations/deleteFile.ts", "../src/gen/operations/listFiles.ts", "../src/gen/operations/getFile.ts", "../src/gen/operations/updateFileMetadata.ts", "../src/gen/operations/copyFile.ts", "../src/gen/operations/searchFiles.ts", "../src/gen/operations/listFilePassages.ts", "../src/gen/operations/listFileTags.ts", "../src/gen/operations/listFileTagValues.ts", "../src/gen/operations/createKnowledgeBase.ts", "../src/gen/operations/deleteKnowledgeBase.ts", "../src/gen/operations/updateKnowledgeBase.ts", "../src/gen/operations/listKnowledgeBases.ts", "../src/gen/operations/listTables.ts", "../src/gen/operations/getTable.ts", "../src/gen/operations/getOrCreateTable.ts", "../src/gen/operations/createTable.ts", "../src/gen/operations/duplicateTable.ts", "../src/gen/operations/exportTable.ts", "../src/gen/operations/getTableJobs.ts", "../src/gen/operations/importTable.ts", "../src/gen/operations/updateTable.ts", "../src/gen/operations/renameTableColumn.ts", "../src/gen/operations/deleteTable.ts", "../src/gen/operations/getTableRow.ts", "../src/gen/operations/findTableRows.ts", "../src/gen/operations/createTableRows.ts", "../src/gen/operations/deleteTableRows.ts", "../src/gen/operations/updateTableRows.ts", "../src/gen/operations/upsertTableRows.ts", "../src/lister.ts"],
4
- "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\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\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", "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'\n\nexport * from './types'\nexport * from './errors'\nexport * from './client'\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", "\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_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_DEPENDENCY_FAILED: 424,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n} as const\n\ntype ErrorCode = typeof codes[keyof typeof codes]\n\ndeclare const window: any\ntype CryptoLib = { getRandomValues(array: Uint8Array): Uint8Array }\n\nconst cryptoLibPolyfill: CryptoLib = {\n // Fallback in case crypto isn't available.\n getRandomValues: (array: Uint8Array) => new Uint8Array(array.map(() => Math.floor(Math.random() * 256))),\n}\n\nlet cryptoLib: CryptoLib =\n typeof window !== 'undefined' && typeof window.document !== 'undefined'\n ? window.crypto // Note: On browsers we need to use window.crypto instead of the imported crypto module as the latter is externalized and doesn't have getRandomValues().\n : crypto\n\nif (!cryptoLib.getRandomValues) {\n // Use a polyfill in older environments that have a crypto implementaton missing getRandomValues()\n cryptoLib = cryptoLibPolyfill\n}\n\nabstract class BaseApiError<Code extends ErrorCode, Type extends string, Description extends string> extends Error {\n public readonly isApiError = true\n\n constructor(\n public readonly code: Code,\n public readonly description: Description,\n public readonly type: Type,\n public override readonly message: string,\n public readonly error?: Error,\n public readonly id?: string,\n public readonly metadata?: Record<string, unknown>,\n ) {\n super(message)\n\n if (!this.id) {\n this.id = BaseApiError.generateId()\n }\n }\n\n format() {\n return `[${this.type}] ${this.message} (Error ID: ${this.id})`\n }\n\n toJSON() {\n return {\n id: this.id,\n code: this.code,\n type: this.type,\n message: this.message,\n metadata: this.metadata,\n }\n }\n\n static generateId() {\n const prefix = this.getPrefix();\n const timestamp = new Date().toISOString().replace(/[\\-:TZ]/g, \"\").split(\".\")[0] // UTC time in YYMMDDHHMMSS format\n\n const randomSuffixByteLength = 4\n const randomHexSuffix = Array.from(cryptoLib.getRandomValues(new Uint8Array(randomSuffixByteLength)))\n .map(x => x.toString(16).padStart(2, '0'))\n .join('')\n .toUpperCase()\n\n return `${prefix}_${timestamp}x${randomHexSuffix}`\n }\n\n private static getPrefix() {\n if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n // Browser environment\n return 'err_bwsr'\n }\n return 'err'\n }\n}\n\nconst isObject = (obj: unknown): obj is object => typeof obj === 'object' && !Array.isArray(obj) && obj !== null\n\nexport const isApiError = (thrown: unknown): thrown is ApiError => {\n return thrown instanceof BaseApiError || isObject(thrown) && (thrown as ApiError).isApiError === true\n}\n\ntype UnknownType = 'Unknown'\n\n/**\n * An unknown error occurred\n */\nexport class UnknownError extends BaseApiError<500, UnknownType, 'An unknown error occurred'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(500, 'An unknown error occurred', 'Unknown', message, error, id, metadata)\n }\n}\n\ntype InternalType = 'Internal'\n\n/**\n * An internal error occurred\n */\nexport class InternalError extends BaseApiError<500, InternalType, 'An internal error occurred'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(500, 'An internal error occurred', 'Internal', message, error, id, metadata)\n }\n}\n\ntype UnauthorizedType = 'Unauthorized'\n\n/**\n * The request requires to be authenticated.\n */\nexport class UnauthorizedError extends BaseApiError<401, UnauthorizedType, 'The request requires to be authenticated.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(401, 'The request requires to be authenticated.', 'Unauthorized', message, error, id, metadata)\n }\n}\n\ntype ForbiddenType = 'Forbidden'\n\n/**\n * The requested action can\\'t be peform by this resource.\n */\nexport class ForbiddenError extends BaseApiError<403, ForbiddenType, 'The requested action can\\'t be peform by this resource.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(403, 'The requested action can\\'t be peform by this resource.', 'Forbidden', message, error, id, metadata)\n }\n}\n\ntype PayloadTooLargeType = 'PayloadTooLarge'\n\n/**\n * The request payload is too large.\n */\nexport class PayloadTooLargeError extends BaseApiError<413, PayloadTooLargeType, 'The request payload is too large.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(413, 'The request payload is too large.', 'PayloadTooLarge', message, error, id, metadata)\n }\n}\n\ntype InvalidPayloadType = 'InvalidPayload'\n\n/**\n * The request payload is invalid.\n */\nexport class InvalidPayloadError extends BaseApiError<400, InvalidPayloadType, 'The request payload is invalid.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The request payload is invalid.', 'InvalidPayload', message, error, id, metadata)\n }\n}\n\ntype UnsupportedMediaTypeType = 'UnsupportedMediaType'\n\n/**\n * The request is invalid because the content-type is not supported.\n */\nexport class UnsupportedMediaTypeError extends BaseApiError<415, UnsupportedMediaTypeType, 'The request is invalid because the content-type is not supported.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(415, 'The request is invalid because the content-type is not supported.', 'UnsupportedMediaType', message, error, id, metadata)\n }\n}\n\ntype MethodNotFoundType = 'MethodNotFound'\n\n/**\n * The requested method does not exist.\n */\nexport class MethodNotFoundError extends BaseApiError<405, MethodNotFoundType, 'The requested method does not exist.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(405, 'The requested method does not exist.', 'MethodNotFound', message, error, id, metadata)\n }\n}\n\ntype ResourceNotFoundType = 'ResourceNotFound'\n\n/**\n * The requested resource does not exist.\n */\nexport class ResourceNotFoundError extends BaseApiError<404, ResourceNotFoundType, 'The requested resource does not exist.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(404, 'The requested resource does not exist.', 'ResourceNotFound', message, error, id, metadata)\n }\n}\n\ntype InvalidJsonSchemaType = 'InvalidJsonSchema'\n\n/**\n * The provided JSON schema is invalid.\n */\nexport class InvalidJsonSchemaError extends BaseApiError<400, InvalidJsonSchemaType, 'The provided JSON schema is invalid.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided JSON schema is invalid.', 'InvalidJsonSchema', message, error, id, metadata)\n }\n}\n\ntype InvalidDataFormatType = 'InvalidDataFormat'\n\n/**\n * The provided data doesn\\'t respect the provided JSON schema.\n */\nexport class InvalidDataFormatError extends BaseApiError<400, InvalidDataFormatType, 'The provided data doesn\\'t respect the provided JSON schema.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided data doesn\\'t respect the provided JSON schema.', 'InvalidDataFormat', message, error, id, metadata)\n }\n}\n\ntype InvalidIdentifierType = 'InvalidIdentifier'\n\n/**\n * The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.\n */\nexport class InvalidIdentifierError extends BaseApiError<400, InvalidIdentifierType, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.', 'InvalidIdentifier', message, error, id, metadata)\n }\n}\n\ntype RelationConflictType = 'RelationConflict'\n\n/**\n * The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.\n */\nexport class RelationConflictError extends BaseApiError<409, RelationConflictType, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.', 'RelationConflict', message, error, id, metadata)\n }\n}\n\ntype ReferenceConstraintType = 'ReferenceConstraint'\n\n/**\n * The resource cannot be deleted because it\\'s referenced by another resource\n */\nexport class ReferenceConstraintError extends BaseApiError<409, ReferenceConstraintType, 'The resource cannot be deleted because it\\'s referenced by another resource'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource cannot be deleted because it\\'s referenced by another resource', 'ReferenceConstraint', message, error, id, metadata)\n }\n}\n\ntype ResourceLockedConflictType = 'ResourceLockedConflict'\n\n/**\n * The resource is current locked and cannot be operated on until the lock is released.\n */\nexport class ResourceLockedConflictError extends BaseApiError<409, ResourceLockedConflictType, 'The resource is current locked and cannot be operated on until the lock is released.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource is current locked and cannot be operated on until the lock is released.', 'ResourceLockedConflict', message, error, id, metadata)\n }\n}\n\ntype ReferenceNotFoundType = 'ReferenceNotFound'\n\n/**\n * The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.\n */\nexport class ReferenceNotFoundError extends BaseApiError<400, ReferenceNotFoundType, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.', 'ReferenceNotFound', message, error, id, metadata)\n }\n}\n\ntype InvalidQueryType = 'InvalidQuery'\n\n/**\n * The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.\n */\nexport class InvalidQueryError extends BaseApiError<400, InvalidQueryType, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.', 'InvalidQuery', message, error, id, metadata)\n }\n}\n\ntype RuntimeType = 'Runtime'\n\n/**\n * An error happened during the execution of a runtime (bot or integration).\n */\nexport class RuntimeError extends BaseApiError<400, RuntimeType, 'An error happened during the execution of a runtime (bot or integration).'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'An error happened during the execution of a runtime (bot or integration).', 'Runtime', message, error, id, metadata)\n }\n}\n\ntype AlreadyExistsType = 'AlreadyExists'\n\n/**\n * The record attempted to be created already exists.\n */\nexport class AlreadyExistsError extends BaseApiError<409, AlreadyExistsType, 'The record attempted to be created already exists.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The record attempted to be created already exists.', 'AlreadyExists', message, error, id, metadata)\n }\n}\n\ntype RateLimitedType = 'RateLimited'\n\n/**\n * The request has been rate limited.\n */\nexport class RateLimitedError extends BaseApiError<429, RateLimitedType, 'The request has been rate limited.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(429, 'The request has been rate limited.', 'RateLimited', message, error, id, metadata)\n }\n}\n\ntype PaymentRequiredType = 'PaymentRequired'\n\n/**\n * A payment is required to perform this request.\n */\nexport class PaymentRequiredError extends BaseApiError<402, PaymentRequiredType, 'A payment is required to perform this request.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(402, 'A payment is required to perform this request.', 'PaymentRequired', message, error, id, metadata)\n }\n}\n\ntype QuotaExceededType = 'QuotaExceeded'\n\n/**\n * The request exceeds the allowed quota. Quotas are a soft limit that can be increased.\n */\nexport class QuotaExceededError extends BaseApiError<403, QuotaExceededType, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(403, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.', 'QuotaExceeded', message, error, id, metadata)\n }\n}\n\ntype LimitExceededType = 'LimitExceeded'\n\n/**\n * The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.\n */\nexport class LimitExceededError extends BaseApiError<413, LimitExceededType, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(413, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.', 'LimitExceeded', message, error, id, metadata)\n }\n}\n\ntype BreakingChangesType = 'BreakingChanges'\n\n/**\n * Request payload contains breaking changes which is not allowed for this resource without a version increment.\n */\nexport class BreakingChangesError extends BaseApiError<400, BreakingChangesType, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.', 'BreakingChanges', message, error, id, metadata)\n }\n}\n\nexport type ErrorType =\n | 'Unknown'\n | 'Internal'\n | 'Unauthorized'\n | 'Forbidden'\n | 'PayloadTooLarge'\n | 'InvalidPayload'\n | 'UnsupportedMediaType'\n | 'MethodNotFound'\n | 'ResourceNotFound'\n | 'InvalidJsonSchema'\n | 'InvalidDataFormat'\n | 'InvalidIdentifier'\n | 'RelationConflict'\n | 'ReferenceConstraint'\n | 'ResourceLockedConflict'\n | 'ReferenceNotFound'\n | 'InvalidQuery'\n | 'Runtime'\n | 'AlreadyExists'\n | 'RateLimited'\n | 'PaymentRequired'\n | 'QuotaExceeded'\n | 'LimitExceeded'\n | 'BreakingChanges'\n\nexport type ApiError =\n | UnknownError\n | InternalError\n | UnauthorizedError\n | ForbiddenError\n | PayloadTooLargeError\n | InvalidPayloadError\n | UnsupportedMediaTypeError\n | MethodNotFoundError\n | ResourceNotFoundError\n | InvalidJsonSchemaError\n | InvalidDataFormatError\n | InvalidIdentifierError\n | RelationConflictError\n | ReferenceConstraintError\n | ResourceLockedConflictError\n | ReferenceNotFoundError\n | InvalidQueryError\n | RuntimeError\n | AlreadyExistsError\n | RateLimitedError\n | PaymentRequiredError\n | QuotaExceededError\n | LimitExceededError\n | BreakingChangesError\n\nconst errorTypes: { [type: string]: new (message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) => ApiError } = {\n Unknown: UnknownError,\n Internal: InternalError,\n Unauthorized: UnauthorizedError,\n Forbidden: ForbiddenError,\n PayloadTooLarge: PayloadTooLargeError,\n InvalidPayload: InvalidPayloadError,\n UnsupportedMediaType: UnsupportedMediaTypeError,\n MethodNotFound: MethodNotFoundError,\n ResourceNotFound: ResourceNotFoundError,\n InvalidJsonSchema: InvalidJsonSchemaError,\n InvalidDataFormat: InvalidDataFormatError,\n InvalidIdentifier: InvalidIdentifierError,\n RelationConflict: RelationConflictError,\n ReferenceConstraint: ReferenceConstraintError,\n ResourceLockedConflict: ResourceLockedConflictError,\n ReferenceNotFound: ReferenceNotFoundError,\n InvalidQuery: InvalidQueryError,\n Runtime: RuntimeError,\n AlreadyExists: AlreadyExistsError,\n RateLimited: RateLimitedError,\n PaymentRequired: PaymentRequiredError,\n QuotaExceeded: QuotaExceededError,\n LimitExceeded: LimitExceededError,\n BreakingChanges: BreakingChangesError,\n}\n\nexport const errorFrom = (err: unknown): ApiError => {\n if (isApiError(err)) {\n return err\n }\n else if (err instanceof Error) {\n return new UnknownError(err.message, err)\n }\n else if (typeof err === 'string') {\n return new UnknownError(err)\n }\n else {\n return getApiErrorFromObject(err)\n }\n}\n\nfunction getApiErrorFromObject(err: any) {\n // Check if it's an deserialized API error object\n if (typeof err === 'object' && 'code' in err && 'type' in err && 'id' in err && 'message' in err && typeof err.type === 'string' && typeof err.message === 'string') {\n const ErrorClass = errorTypes[err.type]\n if (!ErrorClass) {\n return new UnknownError(`An unclassified API error occurred: ${err.message} (Type: ${err.type}, Code: ${err.code})`)\n }\n\n return new ErrorClass(err.message, undefined, <string>err.id || 'UNKNOWN', err.metadata) // If error ID was not received do not pass undefined to generate a new one, flag it as UNKNOWN so we can fix the issue.\n }\n\n return new UnknownError('An invalid error occurred: ' + JSON.stringify(err))\n}\n", "import { AxiosError } from 'axios'\nimport { UpsertFileResponse } from './gen/operations/upsertFile'\n\nexport * from './gen/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", "import axios, { AxiosError } from 'axios'\nimport axiosRetry from 'axios-retry'\nimport { isNode } from 'browser-or-node'\nimport http from 'http'\nimport https from 'https'\nimport * as config from './config'\nimport * as errors from './errors'\nimport * as gen from './gen'\nimport { Lister } from './lister'\nimport * as types from './types'\n\nconst _100mb = 100 * 1024 * 1024\nconst maxBodyLength = _100mb\nconst maxContentLength = _100mb\n\nexport class Client extends gen.Client implements types.IClient {\n public readonly config: Readonly<types.ClientConfig>\n\n public constructor(clientProps: types.ClientProps = {}) {\n const clientConfig = config.getClientConfig(clientProps)\n const { apiUrl, headers, withCredentials, timeout } = clientConfig\n const axiosInstance = axios.create({\n baseURL: apiUrl,\n headers,\n withCredentials,\n timeout,\n maxBodyLength,\n maxContentLength,\n httpAgent: isNode ? new http.Agent({ keepAlive: true }) : undefined,\n httpsAgent: isNode ? new https.Agent({ keepAlive: true }) : undefined,\n })\n super(axiosInstance)\n\n if (clientProps.retry) {\n axiosRetry(axiosInstance, clientProps.retry)\n }\n\n this.config = clientConfig\n }\n\n public get list() {\n return new Lister(this)\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 ({\n key,\n index,\n tags,\n contentType,\n accessPolicies,\n content,\n url,\n indexing,\n expiresAt,\n metadata,\n publicContentImmediatelyAccessible,\n }: types.ClientInputs['uploadFile']): Promise<types.ClientOutputs['uploadFile']> => {\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 this.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 (err: any) {\n throw new errors.UploadFileError(`Failed to upload file: ${err.message}`, <AxiosError>err, file)\n }\n\n return {\n file: {\n ...file,\n size,\n },\n }\n }\n}\n", "import { isBrowser, isNode } from 'browser-or-node'\nimport * as types from './types'\n\nconst defaultApiUrl = 'https://api.botpress.cloud'\nconst defaultTimeout = 60_000\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\nexport function getClientConfig(clientProps: types.ClientProps): 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.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\n return {\n apiUrl,\n timeout,\n withCredentials: isBrowser,\n headers,\n }\n}\n\nfunction readEnvConfig(props: types.ClientProps): types.ClientProps {\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: types.ClientProps): types.ClientProps {\n const config: types.ClientProps = {\n ...props,\n apiUrl: props.apiUrl ?? process.env[apiUrlEnvName],\n botId: props.botId ?? process.env[botIdEnvName],\n integrationId: props.integrationId ?? process.env[integrationIdEnvName],\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: types.ClientProps): types.ClientProps {\n return props\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 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 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 getTask from './operations/getTask'\nimport * as createTask from './operations/createTask'\nimport * as updateTask from './operations/updateTask'\nimport * as deleteTask from './operations/deleteTask'\nimport * as listTasks from './operations/listTasks'\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 runVrl from './operations/runVrl'\nimport * as getAccount from './operations/getAccount'\nimport * as updateAccount from './operations/updateAccount'\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 createBot from './operations/createBot'\nimport * as updateBot from './operations/updateBot'\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 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 createBotVersion from './operations/createBotVersion'\nimport * as deployBotVersion from './operations/deployBotVersion'\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 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 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 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 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 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 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 getTask from './operations/getTask'\nexport * as createTask from './operations/createTask'\nexport * as updateTask from './operations/updateTask'\nexport * as deleteTask from './operations/deleteTask'\nexport * as listTasks from './operations/listTasks'\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 runVrl from './operations/runVrl'\nexport * as getAccount from './operations/getAccount'\nexport * as updateAccount from './operations/updateAccount'\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 createBot from './operations/createBot'\nexport * as updateBot from './operations/updateBot'\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 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 createBotVersion from './operations/createBotVersion'\nexport * as deployBotVersion from './operations/deployBotVersion'\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 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 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 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 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 = '0.83.0'\n\nexport type ClientProps = {\n toAxiosRequest: typeof toAxiosRequest\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 const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getConversation = async (input: getConversation.GetConversationInput): Promise<getConversation.GetConversationResponse> => {\n const { path, headers, query, body } = getConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listConversations = async (input: listConversations.ListConversationsInput): Promise<listConversations.ListConversationsResponse> => {\n const { path, headers, query, body } = listConversations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateConversation = async (input: getOrCreateConversation.GetOrCreateConversationInput): Promise<getOrCreateConversation.GetOrCreateConversationResponse> => {\n const { path, headers, query, body } = getOrCreateConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateConversation = async (input: updateConversation.UpdateConversationInput): Promise<updateConversation.UpdateConversationResponse> => {\n const { path, headers, query, body } = updateConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteConversation = async (input: deleteConversation.DeleteConversationInput): Promise<deleteConversation.DeleteConversationResponse> => {\n const { path, headers, query, body } = deleteConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listParticipants = async (input: listParticipants.ListParticipantsInput): Promise<listParticipants.ListParticipantsResponse> => {\n const { path, headers, query, body } = listParticipants.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly addParticipant = async (input: addParticipant.AddParticipantInput): Promise<addParticipant.AddParticipantResponse> => {\n const { path, headers, query, body } = addParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getParticipant = async (input: getParticipant.GetParticipantInput): Promise<getParticipant.GetParticipantResponse> => {\n const { path, headers, query, body } = getParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly removeParticipant = async (input: removeParticipant.RemoveParticipantInput): Promise<removeParticipant.RemoveParticipantResponse> => {\n const { path, headers, query, body } = removeParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createEvent = async (input: createEvent.CreateEventInput): Promise<createEvent.CreateEventResponse> => {\n const { path, headers, query, body } = createEvent.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getEvent = async (input: getEvent.GetEventInput): Promise<getEvent.GetEventResponse> => {\n const { path, headers, query, body } = getEvent.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listEvents = async (input: listEvents.ListEventsInput): Promise<listEvents.ListEventsResponse> => {\n const { path, headers, query, body } = listEvents.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createMessage = async (input: createMessage.CreateMessageInput): Promise<createMessage.CreateMessageResponse> => {\n const { path, headers, query, body } = createMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateMessage = async (input: getOrCreateMessage.GetOrCreateMessageInput): Promise<getOrCreateMessage.GetOrCreateMessageResponse> => {\n const { path, headers, query, body } = getOrCreateMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getMessage = async (input: getMessage.GetMessageInput): Promise<getMessage.GetMessageResponse> => {\n const { path, headers, query, body } = getMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateMessage = async (input: updateMessage.UpdateMessageInput): Promise<updateMessage.UpdateMessageResponse> => {\n const { path, headers, query, body } = updateMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listMessages = async (input: listMessages.ListMessagesInput): Promise<listMessages.ListMessagesResponse> => {\n const { path, headers, query, body } = listMessages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteMessage = async (input: deleteMessage.DeleteMessageInput): Promise<deleteMessage.DeleteMessageResponse> => {\n const { path, headers, query, body } = deleteMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createUser = async (input: createUser.CreateUserInput): Promise<createUser.CreateUserResponse> => {\n const { path, headers, query, body } = createUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUser = async (input: getUser.GetUserInput): Promise<getUser.GetUserResponse> => {\n const { path, headers, query, body } = getUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsers = async (input: listUsers.ListUsersInput): Promise<listUsers.ListUsersResponse> => {\n const { path, headers, query, body } = listUsers.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateUser = async (input: getOrCreateUser.GetOrCreateUserInput): Promise<getOrCreateUser.GetOrCreateUserResponse> => {\n const { path, headers, query, body } = getOrCreateUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateUser = async (input: updateUser.UpdateUserInput): Promise<updateUser.UpdateUserResponse> => {\n const { path, headers, query, body } = updateUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteUser = async (input: deleteUser.DeleteUserInput): Promise<deleteUser.DeleteUserResponse> => {\n const { path, headers, query, body } = deleteUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setStateExpiry = async (input: setStateExpiry.SetStateExpiryInput): Promise<setStateExpiry.SetStateExpiryResponse> => {\n const { path, headers, query, body } = setStateExpiry.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getState = async (input: getState.GetStateInput): Promise<getState.GetStateResponse> => {\n const { path, headers, query, body } = getState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setState = async (input: setState.SetStateInput): Promise<setState.SetStateResponse> => {\n const { path, headers, query, body } = setState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrSetState = async (input: getOrSetState.GetOrSetStateInput): Promise<getOrSetState.GetOrSetStateResponse> => {\n const { path, headers, query, body } = getOrSetState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly patchState = async (input: patchState.PatchStateInput): Promise<patchState.PatchStateResponse> => {\n const { path, headers, query, body } = patchState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly callAction = async (input: callAction.CallActionInput): Promise<callAction.CallActionResponse> => {\n const { path, headers, query, body } = callAction.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly configureIntegration = async (input: configureIntegration.ConfigureIntegrationInput): Promise<configureIntegration.ConfigureIntegrationResponse> => {\n const { path, headers, query, body } = configureIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTask = async (input: getTask.GetTaskInput): Promise<getTask.GetTaskResponse> => {\n const { path, headers, query, body } = getTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"get\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<getTask.GetTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly createTask = async (input: createTask.CreateTaskInput): Promise<createTask.CreateTaskResponse> => {\n const { path, headers, query, body } = createTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"post\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<createTask.CreateTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly updateTask = async (input: updateTask.UpdateTaskInput): Promise<updateTask.UpdateTaskResponse> => {\n const { path, headers, query, body } = updateTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"put\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<updateTask.UpdateTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly deleteTask = async (input: deleteTask.DeleteTaskInput): Promise<deleteTask.DeleteTaskResponse> => {\n const { path, headers, query, body } = deleteTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"delete\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<deleteTask.DeleteTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly listTasks = async (input: listTasks.ListTasksInput): Promise<listTasks.ListTasksResponse> => {\n const { path, headers, query, body } = listTasks.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"get\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<listTasks.ListTasksResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly createWorkflow = async (input: createWorkflow.CreateWorkflowInput): Promise<createWorkflow.CreateWorkflowResponse> => {\n const { path, headers, query, body } = createWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkflow = async (input: getWorkflow.GetWorkflowInput): Promise<getWorkflow.GetWorkflowResponse> => {\n const { path, headers, query, body } = getWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkflow = async (input: updateWorkflow.UpdateWorkflowInput): Promise<updateWorkflow.UpdateWorkflowResponse> => {\n const { path, headers, query, body } = updateWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkflow = async (input: deleteWorkflow.DeleteWorkflowInput): Promise<deleteWorkflow.DeleteWorkflowResponse> => {\n const { path, headers, query, body } = deleteWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkflows = async (input: listWorkflows.ListWorkflowsInput): Promise<listWorkflows.ListWorkflowsResponse> => {\n const { path, headers, query, body } = listWorkflows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateWorkflow = async (input: getOrCreateWorkflow.GetOrCreateWorkflowInput): Promise<getOrCreateWorkflow.GetOrCreateWorkflowResponse> => {\n const { path, headers, query, body } = getOrCreateWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listTagValues = async (input: listTagValues.ListTagValuesInput): Promise<listTagValues.ListTagValuesResponse> => {\n const { path, headers, query, body } = listTagValues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly trackAnalytics = async (input: trackAnalytics.TrackAnalyticsInput): Promise<trackAnalytics.TrackAnalyticsResponse> => {\n const { path, headers, query, body } = trackAnalytics.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly runVrl = async (input: runVrl.RunVrlInput): Promise<runVrl.RunVrlResponse> => {\n const { path, headers, query, body } = runVrl.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAccount = async (input: getAccount.GetAccountInput): Promise<getAccount.GetAccountResponse> => {\n const { path, headers, query, body } = getAccount.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateAccount = async (input: updateAccount.UpdateAccountInput): Promise<updateAccount.UpdateAccountResponse> => {\n const { path, headers, query, body } = updateAccount.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPersonalAccessTokens = async (input: listPersonalAccessTokens.ListPersonalAccessTokensInput): Promise<listPersonalAccessTokens.ListPersonalAccessTokensResponse> => {\n const { path, headers, query, body } = listPersonalAccessTokens.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createPersonalAccessToken = async (input: createPersonalAccessToken.CreatePersonalAccessTokenInput): Promise<createPersonalAccessToken.CreatePersonalAccessTokenResponse> => {\n const { path, headers, query, body } = createPersonalAccessToken.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deletePersonalAccessToken = async (input: deletePersonalAccessToken.DeletePersonalAccessTokenInput): Promise<deletePersonalAccessToken.DeletePersonalAccessTokenResponse> => {\n const { path, headers, query, body } = deletePersonalAccessToken.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setAccountPreference = async (input: setAccountPreference.SetAccountPreferenceInput): Promise<setAccountPreference.SetAccountPreferenceResponse> => {\n const { path, headers, query, body } = setAccountPreference.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAccountPreference = async (input: getAccountPreference.GetAccountPreferenceInput): Promise<getAccountPreference.GetAccountPreferenceResponse> => {\n const { path, headers, query, body } = getAccountPreference.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPublicIntegrations = async (input: listPublicIntegrations.ListPublicIntegrationsInput): Promise<listPublicIntegrations.ListPublicIntegrationsResponse> => {\n const { path, headers, query, body } = listPublicIntegrations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicIntegrationById = async (input: getPublicIntegrationById.GetPublicIntegrationByIdInput): Promise<getPublicIntegrationById.GetPublicIntegrationByIdResponse> => {\n const { path, headers, query, body } = getPublicIntegrationById.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicIntegration = async (input: getPublicIntegration.GetPublicIntegrationInput): Promise<getPublicIntegration.GetPublicIntegrationResponse> => {\n const { path, headers, query, body } = getPublicIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createBot = async (input: createBot.CreateBotInput): Promise<createBot.CreateBotResponse> => {\n const { path, headers, query, body } = createBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateBot = async (input: updateBot.UpdateBotInput): Promise<updateBot.UpdateBotResponse> => {\n const { path, headers, query, body } = updateBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly transferBot = async (input: transferBot.TransferBotInput): Promise<transferBot.TransferBotResponse> => {\n const { path, headers, query, body } = transferBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBots = async (input: listBots.ListBotsInput): Promise<listBots.ListBotsResponse> => {\n const { path, headers, query, body } = listBots.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBot = async (input: getBot.GetBotInput): Promise<getBot.GetBotResponse> => {\n const { path, headers, query, body } = getBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteBot = async (input: deleteBot.DeleteBotInput): Promise<deleteBot.DeleteBotResponse> => {\n const { path, headers, query, body } = deleteBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotLogs = async (input: getBotLogs.GetBotLogsInput): Promise<getBotLogs.GetBotLogsResponse> => {\n const { path, headers, query, body } = getBotLogs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotWebchat = async (input: getBotWebchat.GetBotWebchatInput): Promise<getBotWebchat.GetBotWebchatResponse> => {\n const { path, headers, query, body } = getBotWebchat.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotAnalytics = async (input: getBotAnalytics.GetBotAnalyticsInput): Promise<getBotAnalytics.GetBotAnalyticsResponse> => {\n const { path, headers, query, body } = getBotAnalytics.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotIssue = async (input: getBotIssue.GetBotIssueInput): Promise<getBotIssue.GetBotIssueResponse> => {\n const { path, headers, query, body } = getBotIssue.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotIssues = async (input: listBotIssues.ListBotIssuesInput): Promise<listBotIssues.ListBotIssuesResponse> => {\n const { path, headers, query, body } = listBotIssues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteBotIssue = async (input: deleteBotIssue.DeleteBotIssueInput): Promise<deleteBotIssue.DeleteBotIssueResponse> => {\n const { path, headers, query, body } = deleteBotIssue.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotIssueEvents = async (input: listBotIssueEvents.ListBotIssueEventsInput): Promise<listBotIssueEvents.ListBotIssueEventsResponse> => {\n const { path, headers, query, body } = listBotIssueEvents.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotVersions = async (input: listBotVersions.ListBotVersionsInput): Promise<listBotVersions.ListBotVersionsResponse> => {\n const { path, headers, query, body } = listBotVersions.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotVersion = async (input: getBotVersion.GetBotVersionInput): Promise<getBotVersion.GetBotVersionResponse> => {\n const { path, headers, query, body } = getBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createBotVersion = async (input: createBotVersion.CreateBotVersionInput): Promise<createBotVersion.CreateBotVersionResponse> => {\n const { path, headers, query, body } = createBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deployBotVersion = async (input: deployBotVersion.DeployBotVersionInput): Promise<deployBotVersion.DeployBotVersionResponse> => {\n const { path, headers, query, body } = deployBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceInvoices = async (input: listWorkspaceInvoices.ListWorkspaceInvoicesInput): Promise<listWorkspaceInvoices.ListWorkspaceInvoicesResponse> => {\n const { path, headers, query, body } = listWorkspaceInvoices.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUpcomingInvoice = async (input: getUpcomingInvoice.GetUpcomingInvoiceInput): Promise<getUpcomingInvoice.GetUpcomingInvoiceResponse> => {\n const { path, headers, query, body } = getUpcomingInvoice.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly chargeWorkspaceUnpaidInvoices = async (input: chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesInput): Promise<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse> => {\n const { path, headers, query, body } = chargeWorkspaceUnpaidInvoices.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createWorkspace = async (input: createWorkspace.CreateWorkspaceInput): Promise<createWorkspace.CreateWorkspaceResponse> => {\n const { path, headers, query, body } = createWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicWorkspace = async (input: getPublicWorkspace.GetPublicWorkspaceInput): Promise<getPublicWorkspace.GetPublicWorkspaceResponse> => {\n const { path, headers, query, body } = getPublicWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspace = async (input: getWorkspace.GetWorkspaceInput): Promise<getWorkspace.GetWorkspaceResponse> => {\n const { path, headers, query, body } = getWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceUsages = async (input: listWorkspaceUsages.ListWorkspaceUsagesInput): Promise<listWorkspaceUsages.ListWorkspaceUsagesResponse> => {\n const { path, headers, query, body } = listWorkspaceUsages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly breakDownWorkspaceUsageByBot = async (input: breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotInput): Promise<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse> => {\n const { path, headers, query, body } = breakDownWorkspaceUsageByBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAllWorkspaceQuotaCompletion = async (input: getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionInput): Promise<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse> => {\n const { path, headers, query, body } = getAllWorkspaceQuotaCompletion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspaceQuota = async (input: getWorkspaceQuota.GetWorkspaceQuotaInput): Promise<getWorkspaceQuota.GetWorkspaceQuotaResponse> => {\n const { path, headers, query, body } = getWorkspaceQuota.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceQuotas = async (input: listWorkspaceQuotas.ListWorkspaceQuotasInput): Promise<listWorkspaceQuotas.ListWorkspaceQuotasResponse> => {\n const { path, headers, query, body } = listWorkspaceQuotas.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkspace = async (input: updateWorkspace.UpdateWorkspaceInput): Promise<updateWorkspace.UpdateWorkspaceResponse> => {\n const { path, headers, query, body } = updateWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly checkHandleAvailability = async (input: checkHandleAvailability.CheckHandleAvailabilityInput): Promise<checkHandleAvailability.CheckHandleAvailabilityResponse> => {\n const { path, headers, query, body } = checkHandleAvailability.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaces = async (input: listWorkspaces.ListWorkspacesInput): Promise<listWorkspaces.ListWorkspacesResponse> => {\n const { path, headers, query, body } = listWorkspaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPublicWorkspaces = async (input: listPublicWorkspaces.ListPublicWorkspacesInput): Promise<listPublicWorkspaces.ListPublicWorkspacesResponse> => {\n const { path, headers, query, body } = listPublicWorkspaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkspace = async (input: deleteWorkspace.DeleteWorkspaceInput): Promise<deleteWorkspace.DeleteWorkspaceResponse> => {\n const { path, headers, query, body } = deleteWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAuditRecords = async (input: getAuditRecords.GetAuditRecordsInput): Promise<getAuditRecords.GetAuditRecordsResponse> => {\n const { path, headers, query, body } = getAuditRecords.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceMembers = async (input: listWorkspaceMembers.ListWorkspaceMembersInput): Promise<listWorkspaceMembers.ListWorkspaceMembersResponse> => {\n const { path, headers, query, body } = listWorkspaceMembers.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspaceMember = async (input: getWorkspaceMember.GetWorkspaceMemberInput): Promise<getWorkspaceMember.GetWorkspaceMemberResponse> => {\n const { path, headers, query, body } = getWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkspaceMember = async (input: deleteWorkspaceMember.DeleteWorkspaceMemberInput): Promise<deleteWorkspaceMember.DeleteWorkspaceMemberResponse> => {\n const { path, headers, query, body } = deleteWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createWorkspaceMember = async (input: createWorkspaceMember.CreateWorkspaceMemberInput): Promise<createWorkspaceMember.CreateWorkspaceMemberResponse> => {\n const { path, headers, query, body } = createWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkspaceMember = async (input: updateWorkspaceMember.UpdateWorkspaceMemberInput): Promise<updateWorkspaceMember.UpdateWorkspaceMemberResponse> => {\n const { path, headers, query, body } = updateWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listIntegrationApiKeys = async (input: listIntegrationApiKeys.ListIntegrationApiKeysInput): Promise<listIntegrationApiKeys.ListIntegrationApiKeysResponse> => {\n const { path, headers, query, body } = listIntegrationApiKeys.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createIntegrationApiKey = async (input: createIntegrationApiKey.CreateIntegrationApiKeyInput): Promise<createIntegrationApiKey.CreateIntegrationApiKeyResponse> => {\n const { path, headers, query, body } = createIntegrationApiKey.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteIntegrationApiKey = async (input: deleteIntegrationApiKey.DeleteIntegrationApiKeyInput): Promise<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse> => {\n const { path, headers, query, body } = deleteIntegrationApiKey.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createIntegration = async (input: createIntegration.CreateIntegrationInput): Promise<createIntegration.CreateIntegrationResponse> => {\n const { path, headers, query, body } = createIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly validateIntegrationCreation = async (input: validateIntegrationCreation.ValidateIntegrationCreationInput): Promise<validateIntegrationCreation.ValidateIntegrationCreationResponse> => {\n const { path, headers, query, body } = validateIntegrationCreation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateIntegration = async (input: updateIntegration.UpdateIntegrationInput): Promise<updateIntegration.UpdateIntegrationResponse> => {\n const { path, headers, query, body } = updateIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly validateIntegrationUpdate = async (input: validateIntegrationUpdate.ValidateIntegrationUpdateInput): Promise<validateIntegrationUpdate.ValidateIntegrationUpdateResponse> => {\n const { path, headers, query, body } = validateIntegrationUpdate.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listIntegrations = async (input: listIntegrations.ListIntegrationsInput): Promise<listIntegrations.ListIntegrationsResponse> => {\n const { path, headers, query, body } = listIntegrations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegration = async (input: getIntegration.GetIntegrationInput): Promise<getIntegration.GetIntegrationResponse> => {\n const { path, headers, query, body } = getIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegrationLogs = async (input: getIntegrationLogs.GetIntegrationLogsInput): Promise<getIntegrationLogs.GetIntegrationLogsResponse> => {\n const { path, headers, query, body } = getIntegrationLogs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegrationByName = async (input: getIntegrationByName.GetIntegrationByNameInput): Promise<getIntegrationByName.GetIntegrationByNameResponse> => {\n const { path, headers, query, body } = getIntegrationByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteIntegration = async (input: deleteIntegration.DeleteIntegrationInput): Promise<deleteIntegration.DeleteIntegrationResponse> => {\n const { path, headers, query, body } = deleteIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly requestIntegrationVerification = async (input: requestIntegrationVerification.RequestIntegrationVerificationInput): Promise<requestIntegrationVerification.RequestIntegrationVerificationResponse> => {\n const { path, headers, query, body } = requestIntegrationVerification.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createInterface = async (input: createInterface.CreateInterfaceInput): Promise<createInterface.CreateInterfaceResponse> => {\n const { path, headers, query, body } = createInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getInterface = async (input: getInterface.GetInterfaceInput): Promise<getInterface.GetInterfaceResponse> => {\n const { path, headers, query, body } = getInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getInterfaceByName = async (input: getInterfaceByName.GetInterfaceByNameInput): Promise<getInterfaceByName.GetInterfaceByNameResponse> => {\n const { path, headers, query, body } = getInterfaceByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateInterface = async (input: updateInterface.UpdateInterfaceInput): Promise<updateInterface.UpdateInterfaceResponse> => {\n const { path, headers, query, body } = updateInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteInterface = async (input: deleteInterface.DeleteInterfaceInput): Promise<deleteInterface.DeleteInterfaceResponse> => {\n const { path, headers, query, body } = deleteInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listInterfaces = async (input: listInterfaces.ListInterfacesInput): Promise<listInterfaces.ListInterfacesResponse> => {\n const { path, headers, query, body } = listInterfaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createPlugin = async (input: createPlugin.CreatePluginInput): Promise<createPlugin.CreatePluginResponse> => {\n const { path, headers, query, body } = createPlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPlugin = async (input: getPlugin.GetPluginInput): Promise<getPlugin.GetPluginResponse> => {\n const { path, headers, query, body } = getPlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPluginByName = async (input: getPluginByName.GetPluginByNameInput): Promise<getPluginByName.GetPluginByNameResponse> => {\n const { path, headers, query, body } = getPluginByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updatePlugin = async (input: updatePlugin.UpdatePluginInput): Promise<updatePlugin.UpdatePluginResponse> => {\n const { path, headers, query, body } = updatePlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deletePlugin = async (input: deletePlugin.DeletePluginInput): Promise<deletePlugin.DeletePluginResponse> => {\n const { path, headers, query, body } = deletePlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPlugins = async (input: listPlugins.ListPluginsInput): Promise<listPlugins.ListPluginsResponse> => {\n const { path, headers, query, body } = listPlugins.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPluginCode = async (input: getPluginCode.GetPluginCodeInput): Promise<getPluginCode.GetPluginCodeResponse> => {\n const { path, headers, query, body } = getPluginCode.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUsage = async (input: getUsage.GetUsageInput): Promise<getUsage.GetUsageResponse> => {\n const { path, headers, query, body } = getUsage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getMultipleUsages = async (input: getMultipleUsages.GetMultipleUsagesInput): Promise<getMultipleUsages.GetMultipleUsagesResponse> => {\n const { path, headers, query, body } = getMultipleUsages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageHistory = async (input: listUsageHistory.ListUsageHistoryInput): Promise<listUsageHistory.ListUsageHistoryResponse> => {\n const { path, headers, query, body } = listUsageHistory.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageActivity = async (input: listUsageActivity.ListUsageActivityInput): Promise<listUsageActivity.ListUsageActivityResponse> => {\n const { path, headers, query, body } = listUsageActivity.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageActivityDaily = async (input: listUsageActivityDaily.ListUsageActivityDailyInput): Promise<listUsageActivityDaily.ListUsageActivityDailyResponse> => {\n const { path, headers, query, body } = listUsageActivityDaily.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly changeAISpendQuota = async (input: changeAISpendQuota.ChangeAispendQuotaInput): Promise<changeAISpendQuota.ChangeAispendQuotaResponse> => {\n const { path, headers, query, body } = changeAISpendQuota.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listActivities = async (input: listActivities.ListActivitiesInput): Promise<listActivities.ListActivitiesResponse> => {\n const { path, headers, query, body } = listActivities.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly introspect = async (input: introspect.IntrospectInput): Promise<introspect.IntrospectResponse> => {\n const { path, headers, query, body } = introspect.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly upsertFile = async (input: upsertFile.UpsertFileInput): Promise<upsertFile.UpsertFileResponse> => {\n const { path, headers, query, body } = upsertFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteFile = async (input: deleteFile.DeleteFileInput): Promise<deleteFile.DeleteFileResponse> => {\n const { path, headers, query, body } = deleteFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFiles = async (input: listFiles.ListFilesInput): Promise<listFiles.ListFilesResponse> => {\n const { path, headers, query, body } = listFiles.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getFile = async (input: getFile.GetFileInput): Promise<getFile.GetFileResponse> => {\n const { path, headers, query, body } = getFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateFileMetadata = async (input: updateFileMetadata.UpdateFileMetadataInput): Promise<updateFileMetadata.UpdateFileMetadataResponse> => {\n const { path, headers, query, body } = updateFileMetadata.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly copyFile = async (input: copyFile.CopyFileInput): Promise<copyFile.CopyFileResponse> => {\n const { path, headers, query, body } = copyFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly searchFiles = async (input: searchFiles.SearchFilesInput): Promise<searchFiles.SearchFilesResponse> => {\n const { path, headers, query, body } = searchFiles.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFilePassages = async (input: listFilePassages.ListFilePassagesInput): Promise<listFilePassages.ListFilePassagesResponse> => {\n const { path, headers, query, body } = listFilePassages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFileTags = async (input: listFileTags.ListFileTagsInput): Promise<listFileTags.ListFileTagsResponse> => {\n const { path, headers, query, body } = listFileTags.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFileTagValues = async (input: listFileTagValues.ListFileTagValuesInput): Promise<listFileTagValues.ListFileTagValuesResponse> => {\n const { path, headers, query, body } = listFileTagValues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createKnowledgeBase = async (input: createKnowledgeBase.CreateKnowledgeBaseInput): Promise<createKnowledgeBase.CreateKnowledgeBaseResponse> => {\n const { path, headers, query, body } = createKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteKnowledgeBase = async (input: deleteKnowledgeBase.DeleteKnowledgeBaseInput): Promise<deleteKnowledgeBase.DeleteKnowledgeBaseResponse> => {\n const { path, headers, query, body } = deleteKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateKnowledgeBase = async (input: updateKnowledgeBase.UpdateKnowledgeBaseInput): Promise<updateKnowledgeBase.UpdateKnowledgeBaseResponse> => {\n const { path, headers, query, body } = updateKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listKnowledgeBases = async (input: listKnowledgeBases.ListKnowledgeBasesInput): Promise<listKnowledgeBases.ListKnowledgeBasesResponse> => {\n const { path, headers, query, body } = listKnowledgeBases.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listTables = async (input: listTables.ListTablesInput): Promise<listTables.ListTablesResponse> => {\n const { path, headers, query, body } = listTables.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTable = async (input: getTable.GetTableInput): Promise<getTable.GetTableResponse> => {\n const { path, headers, query, body } = getTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateTable = async (input: getOrCreateTable.GetOrCreateTableInput): Promise<getOrCreateTable.GetOrCreateTableResponse> => {\n const { path, headers, query, body } = getOrCreateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createTable = async (input: createTable.CreateTableInput): Promise<createTable.CreateTableResponse> => {\n const { path, headers, query, body } = createTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly duplicateTable = async (input: duplicateTable.DuplicateTableInput): Promise<duplicateTable.DuplicateTableResponse> => {\n const { path, headers, query, body } = duplicateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly exportTable = async (input: exportTable.ExportTableInput): Promise<exportTable.ExportTableResponse> => {\n const { path, headers, query, body } = exportTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTableJobs = async (input: getTableJobs.GetTableJobsInput): Promise<getTableJobs.GetTableJobsResponse> => {\n const { path, headers, query, body } = getTableJobs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly importTable = async (input: importTable.ImportTableInput): Promise<importTable.ImportTableResponse> => {\n const { path, headers, query, body } = importTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateTable = async (input: updateTable.UpdateTableInput): Promise<updateTable.UpdateTableResponse> => {\n const { path, headers, query, body } = updateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly renameTableColumn = async (input: renameTableColumn.RenameTableColumnInput): Promise<renameTableColumn.RenameTableColumnResponse> => {\n const { path, headers, query, body } = renameTableColumn.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteTable = async (input: deleteTable.DeleteTableInput): Promise<deleteTable.DeleteTableResponse> => {\n const { path, headers, query, body } = deleteTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTableRow = async (input: getTableRow.GetTableRowInput): Promise<getTableRow.GetTableRowResponse> => {\n const { path, headers, query, body } = getTableRow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly findTableRows = async (input: findTableRows.FindTableRowsInput): Promise<findTableRows.FindTableRowsResponse> => {\n const { path, headers, query, body } = findTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createTableRows = async (input: createTableRows.CreateTableRowsInput): Promise<createTableRows.CreateTableRowsResponse> => {\n const { path, headers, query, body } = createTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteTableRows = async (input: deleteTableRows.DeleteTableRowsInput): Promise<deleteTableRows.DeleteTableRowsResponse> => {\n const { path, headers, query, body } = deleteTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateTableRows = async (input: updateTableRows.UpdateTableRowsInput): Promise<updateTableRows.UpdateTableRowsResponse> => {\n const { path, headers, query, body } = updateTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly upsertTableRows = async (input: upsertTableRows.UpsertTableRowsInput): Promise<upsertTableRows.UpsertTableRowsResponse> => {\n const { path, headers, query, body } = upsertTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n}\n\n// maps axios error to api error type\nfunction getError(err: 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 * Id of the current [Task](#schema_task)\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 * Id of the current [Task](#schema_task)\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}\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'] },\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 * Id of the current [Task](#schema_task)\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 * Id of the current [Task](#schema_task)\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 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 * Id of the current [Task](#schema_task)\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 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}\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}\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 [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'], '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\";\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\";\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 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'], '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\";\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 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}\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'] },\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 * 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}\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 /**\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'], '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 * 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}\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 * 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}\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\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'] },\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 * 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}\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}\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'] },\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 * 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 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 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\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'] },\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}\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}\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}\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'] },\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 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 * 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'], '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}\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;\n /**\n * URI of the user picture\n */\n pictureUrl?: string | null;\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'] },\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}\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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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;\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 * Sandbox identifiers for the integration. Setting this to null will remove all sandbox identifiers. Setting an individual sandbox identifier to null will remove that sandbox identifier. This is an experimental feature meant to be used by specific integrations.\n */\n sandboxIdentifiers?: {\n [k: string]: {} | null;\n } | 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 GetTaskRequestHeaders {}\n\nexport interface GetTaskRequestQuery {}\n\nexport interface GetTaskRequestParams {\n id: string;\n}\n\nexport interface GetTaskRequestBody {}\n\nexport type GetTaskInput = GetTaskRequestBody & GetTaskRequestHeaders & GetTaskRequestQuery & GetTaskRequestParams\n\nexport type GetTaskRequest = {\n headers: GetTaskRequestHeaders;\n query: GetTaskRequestQuery;\n params: GetTaskRequestParams;\n body: GetTaskRequestBody;\n}\n\nexport const parseReq = (input: GetTaskInput): GetTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { },\n }\n}\n\nexport interface GetTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 CreateTaskRequestHeaders {}\n\nexport interface CreateTaskRequestQuery {}\n\nexport interface CreateTaskRequestParams {}\n\nexport interface CreateTaskRequestBody {\n /**\n * Title describing the task\n */\n title?: string;\n /**\n * All the notes related to the execution of the current task\n */\n description?: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data?: {\n [k: string]: any;\n };\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt?: string;\n /**\n * Tags for the [Task](#schema_task)\n */\n tags?: {\n [k: string]: string;\n };\n}\n\nexport type CreateTaskInput = CreateTaskRequestBody & CreateTaskRequestHeaders & CreateTaskRequestQuery & CreateTaskRequestParams\n\nexport type CreateTaskRequest = {\n headers: CreateTaskRequestHeaders;\n query: CreateTaskRequestQuery;\n params: CreateTaskRequestParams;\n body: CreateTaskRequestBody;\n}\n\nexport const parseReq = (input: CreateTaskInput): CreateTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks`,\n headers: { },\n query: { },\n params: { },\n body: { 'title': input['title'], 'description': input['description'], 'type': input['type'], 'data': input['data'], 'parentTaskId': input['parentTaskId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'] },\n }\n}\n\nexport interface CreateTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 UpdateTaskRequestHeaders {}\n\nexport interface UpdateTaskRequestQuery {}\n\nexport interface UpdateTaskRequestParams {\n id: string;\n}\n\nexport interface UpdateTaskRequestBody {\n /**\n * Title describing the task\n */\n title?: string;\n /**\n * All the notes related to the execution of the current task\n */\n description?: string;\n /**\n * Content related to the task\n */\n data?: {\n [k: string]: any;\n };\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt?: string;\n /**\n * Status of the task\n */\n status?: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Tags for the [Task](#schema_task)\n */\n tags?: {\n [k: string]: string;\n };\n}\n\nexport type UpdateTaskInput = UpdateTaskRequestBody & UpdateTaskRequestHeaders & UpdateTaskRequestQuery & UpdateTaskRequestParams\n\nexport type UpdateTaskRequest = {\n headers: UpdateTaskRequestHeaders;\n query: UpdateTaskRequestQuery;\n params: UpdateTaskRequestParams;\n body: UpdateTaskRequestBody;\n}\n\nexport const parseReq = (input: UpdateTaskInput): UpdateTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { 'title': input['title'], 'description': input['description'], 'data': input['data'], 'timeoutAt': input['timeoutAt'], 'status': input['status'], 'tags': input['tags'] },\n }\n}\n\nexport interface UpdateTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 DeleteTaskRequestHeaders {}\n\nexport interface DeleteTaskRequestQuery {}\n\nexport interface DeleteTaskRequestParams {\n id: string;\n}\n\nexport interface DeleteTaskRequestBody {}\n\nexport type DeleteTaskInput = DeleteTaskRequestBody & DeleteTaskRequestHeaders & DeleteTaskRequestQuery & DeleteTaskRequestParams\n\nexport type DeleteTaskRequest = {\n headers: DeleteTaskRequestHeaders;\n query: DeleteTaskRequestQuery;\n params: DeleteTaskRequestParams;\n body: DeleteTaskRequestBody;\n}\n\nexport const parseReq = (input: DeleteTaskInput): DeleteTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { },\n }\n}\n\nexport interface DeleteTaskResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListTasksRequestHeaders {}\n\nexport interface ListTasksRequestQuery {\n nextToken?: string;\n tags?: {\n [k: string]: string;\n };\n conversationId?: string;\n userId?: string;\n parentTaskId?: string;\n status?: (\"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\")[];\n type?: string;\n}\n\nexport interface ListTasksRequestParams {}\n\nexport interface ListTasksRequestBody {}\n\nexport type ListTasksInput = ListTasksRequestBody & ListTasksRequestHeaders & ListTasksRequestQuery & ListTasksRequestParams\n\nexport type ListTasksRequest = {\n headers: ListTasksRequestHeaders;\n query: ListTasksRequestQuery;\n params: ListTasksRequestParams;\n body: ListTasksRequestBody;\n}\n\nexport const parseReq = (input: ListTasksInput): ListTasksRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks`,\n headers: { },\n query: { 'nextToken': input['nextToken'], 'tags': input['tags'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'parentTaskId': input['parentTaskId'], 'status': input['status'], 'type': input['type'] },\n params: { },\n body: { },\n }\n}\n\nexport interface ListTasksResponse {\n tasks: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 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\";\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\";\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 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'] },\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 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 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 name?: string;\n version?: string;\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'], 'name': input['name'], 'version': input['version'] },\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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n ownerWorkspace: {\n id: string;\n handle: string | null;\n name: string;\n };\n meta: {\n installs: number;\n views: number;\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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * Tags 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 * 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); Only available for dev bots\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'], '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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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); Only available for dev bots\n */\n url?: string;\n /**\n * Type of the [Bot](#schema_bot) authentication (`iam`)\n */\n authentication?: \"iam\";\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 * Tags of the [Bot](#schema_bot)\n */\n tags?: {\n [k: string]: string;\n };\n blocked?: boolean;\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 /**\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 } | null;\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 } | null;\n };\n states?: {\n [k: string]: {\n /**\n * Type of the [State](#schema_state) (`conversation`, `user`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 configuration type. Set to default if null.\n */\n configurationType?: string | null;\n configuration?: {\n [k: string]: any;\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 * Media files associated with the [Bot](#schema_bot)\n */\n medias?: {\n url: string;\n name: string;\n }[];\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'], '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'], 'subscriptions': input['subscriptions'], 'code': input['code'], 'name': input['name'], 'medias': input['medias'] },\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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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 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\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: { },\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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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 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'], '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 (exclusive) 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 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 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 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\";\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}\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\";\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}\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 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 }[];\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 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 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 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 };\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 }[];\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\";\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}\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\";\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}\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 }[];\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 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 };\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 };\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 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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], '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'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 };\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 };\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 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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], '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'], '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 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 identifier?: {\n extractScript?: string | null;\n fallbackHandlerScript?: string | null;\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 } | null;\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 } | 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 sandbox?: {\n identifierExtractScript?: string | null;\n messageExtractScript?: 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'channels': input['channels'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'sandbox': input['sandbox'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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 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 identifier?: {\n extractScript?: string | null;\n fallbackHandlerScript?: string | null;\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 } | null;\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 } | 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 sandbox?: {\n identifierExtractScript?: string | null;\n messageExtractScript?: 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'channels': input['channels'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'sandbox': input['sandbox'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], '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 visibility?: \"public\" | \"private\";\n installedByBotId?: string;\n verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n search?: string;\n sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n direction?: \"asc\" | \"desc\";\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'], 'visibility': input['visibility'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'], '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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 };\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 };\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\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'] },\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 };\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 };\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}\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 };\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 };\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}\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 };\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 };\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}\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 /**\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 } | null;\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 } | 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\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'] },\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 };\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 };\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}\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}\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'] },\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 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 dependencies?: {\n interfaces?: {\n [k: string]: {\n id: string;\n };\n };\n integrations?: {\n [k: string]: {\n id: string;\n };\n };\n };\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\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'], 'dependencies': input['dependencies'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'] },\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 /**\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 } | null;\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 } | 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 dependencies?: {\n interfaces?: {\n [k: string]: {\n id: string;\n } | null;\n };\n integrations?: {\n [k: string]: {\n id: string;\n } | null;\n };\n };\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\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'], 'dependencies': input['dependencies'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'] },\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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}\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'] },\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 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 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 };\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 }[];\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}\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 }[];\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 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 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 date: string;\n value: number;\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. 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 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 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 /**\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}\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'] },\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 }[];\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 };\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 };\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 };\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}\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'] },\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\" | \"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 * 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}\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\" | \"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 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}\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'] },\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 };\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\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'] },\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 };\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}\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'] },\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 }[];\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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 * 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'], '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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 * 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'], '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, but can only be set at table creation and not modified later. 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 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 * Use a different factor for the table. Leave empty to use the same as the duplicated 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, but can only be set at table creation and not modified later. 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 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\";\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\";\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\";\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 * 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 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'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 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 * 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'], '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 * as gen from './gen'\nimport * as types from './types'\n\ntype ListOperation = keyof {\n [K in types.Operation as types.ClientInputs[K] extends { nextToken?: string | undefined } ? K : never]: null\n}\ntype ListInputs = {\n [K in ListOperation]: Omit<types.ClientInputs[K], 'nextToken'>\n}\ntype PageLister<R> = (t: { nextToken?: string }) => Promise<{ items: R[]; meta: { nextToken?: string } }>\n\nclass 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\n// lots of repeated code here, but I prefer using vertical selection than to make the code more complex - fleur\n\nexport class Lister {\n public constructor(private _client: gen.Client) {}\n public readonly conversations = (props: ListInputs['listConversations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listConversations({ nextToken, ...props }).then((r) => ({ ...r, items: r.conversations }))\n )\n public readonly participants = (props: ListInputs['listParticipants']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listParticipants({ nextToken, ...props }).then((r) => ({ ...r, items: r.participants }))\n )\n public readonly events = (props: ListInputs['listEvents']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listEvents({ nextToken, ...props }).then((r) => ({ ...r, items: r.events }))\n )\n public readonly messages = (props: ListInputs['listMessages']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listMessages({ nextToken, ...props }).then((r) => ({ ...r, items: r.messages }))\n )\n public readonly users = (props: ListInputs['listUsers']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listUsers({ nextToken, ...props }).then((r) => ({ ...r, items: r.users }))\n )\n public readonly tasks = (props: ListInputs['listTasks']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listTasks({ nextToken, ...props }).then((r) => ({ ...r, items: r.tasks }))\n )\n public readonly publicIntegrations = (props: ListInputs['listPublicIntegrations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listPublicIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n )\n public readonly bots = (props: ListInputs['listBots']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listBots({ nextToken, ...props }).then((r) => ({ ...r, items: r.bots }))\n )\n public readonly botIssues = (props: ListInputs['listBotIssues']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listBotIssues({ nextToken, ...props }).then((r) => ({ ...r, items: r.issues }))\n )\n public readonly workspaces = (props: ListInputs['listWorkspaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n )\n public readonly publicWorkspaces = (props: ListInputs['listPublicWorkspaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listPublicWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n )\n public readonly workspaceMembers = (props: ListInputs['listWorkspaceMembers']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listWorkspaceMembers({ nextToken, ...props }).then((r) => ({ ...r, items: r.members }))\n )\n public readonly integrations = (props: ListInputs['listIntegrations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n )\n public readonly interfaces = (props: ListInputs['listInterfaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listInterfaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.interfaces }))\n )\n public readonly activities = (props: ListInputs['listActivities']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listActivities({ nextToken, ...props }).then((r) => ({ ...r, items: r.activities }))\n )\n public readonly files = (props: ListInputs['listFiles']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listFiles({ nextToken, ...props }).then((r) => ({ ...r, items: r.files }))\n )\n public readonly filePassages = (props: ListInputs['listFilePassages']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listFilePassages({ nextToken, ...props }).then((r) => ({ ...r, items: r.passages }))\n )\n}\n"],
4
+ "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\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\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", "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'\n\nexport * from './types'\nexport * from './errors'\nexport * from './client'\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", "\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_PAYLOAD_TOO_LARGE: 413,\n HTTP_STATUS_UNSUPPORTED_MEDIA_TYPE: 415,\n HTTP_STATUS_DEPENDENCY_FAILED: 424,\n HTTP_STATUS_TOO_MANY_REQUESTS: 429,\n HTTP_STATUS_INTERNAL_SERVER_ERROR: 500,\n HTTP_STATUS_NOT_IMPLEMENTED: 501,\n HTTP_STATUS_BAD_GATEWAY: 502,\n HTTP_STATUS_SERVICE_UNAVAILABLE: 503,\n HTTP_STATUS_GATEWAY_TIMEOUT: 504,\n} as const\n\ntype ErrorCode = typeof codes[keyof typeof codes]\n\ndeclare const window: any\ntype CryptoLib = { getRandomValues(array: Uint8Array): Uint8Array }\n\nconst cryptoLibPolyfill: CryptoLib = {\n // Fallback in case crypto isn't available.\n getRandomValues: (array: Uint8Array) => new Uint8Array(array.map(() => Math.floor(Math.random() * 256))),\n}\n\nlet cryptoLib: CryptoLib =\n typeof window !== 'undefined' && typeof window.document !== 'undefined'\n ? window.crypto // Note: On browsers we need to use window.crypto instead of the imported crypto module as the latter is externalized and doesn't have getRandomValues().\n : crypto\n\nif (!cryptoLib.getRandomValues) {\n // Use a polyfill in older environments that have a crypto implementaton missing getRandomValues()\n cryptoLib = cryptoLibPolyfill\n}\n\nabstract class BaseApiError<Code extends ErrorCode, Type extends string, Description extends string> extends Error {\n public readonly isApiError = true\n\n constructor(\n public readonly code: Code,\n public readonly description: Description,\n public readonly type: Type,\n public override readonly message: string,\n public readonly error?: Error,\n public readonly id?: string,\n public readonly metadata?: Record<string, unknown>,\n ) {\n super(message)\n\n if (!this.id) {\n this.id = BaseApiError.generateId()\n }\n }\n\n format() {\n return `[${this.type}] ${this.message} (Error ID: ${this.id})`\n }\n\n toJSON() {\n return {\n id: this.id,\n code: this.code,\n type: this.type,\n message: this.message,\n metadata: this.metadata,\n }\n }\n\n static generateId() {\n const prefix = this.getPrefix();\n const timestamp = new Date().toISOString().replace(/[\\-:TZ]/g, \"\").split(\".\")[0] // UTC time in YYMMDDHHMMSS format\n\n const randomSuffixByteLength = 4\n const randomHexSuffix = Array.from(cryptoLib.getRandomValues(new Uint8Array(randomSuffixByteLength)))\n .map(x => x.toString(16).padStart(2, '0'))\n .join('')\n .toUpperCase()\n\n return `${prefix}_${timestamp}x${randomHexSuffix}`\n }\n\n private static getPrefix() {\n if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n // Browser environment\n return 'err_bwsr'\n }\n return 'err'\n }\n}\n\nconst isObject = (obj: unknown): obj is object => typeof obj === 'object' && !Array.isArray(obj) && obj !== null\n\nexport const isApiError = (thrown: unknown): thrown is ApiError => {\n return thrown instanceof BaseApiError || isObject(thrown) && (thrown as ApiError).isApiError === true\n}\n\ntype UnknownType = 'Unknown'\n\n/**\n * An unknown error occurred\n */\nexport class UnknownError extends BaseApiError<500, UnknownType, 'An unknown error occurred'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(500, 'An unknown error occurred', 'Unknown', message, error, id, metadata)\n }\n}\n\ntype InternalType = 'Internal'\n\n/**\n * An internal error occurred\n */\nexport class InternalError extends BaseApiError<500, InternalType, 'An internal error occurred'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(500, 'An internal error occurred', 'Internal', message, error, id, metadata)\n }\n}\n\ntype UnauthorizedType = 'Unauthorized'\n\n/**\n * The request requires to be authenticated.\n */\nexport class UnauthorizedError extends BaseApiError<401, UnauthorizedType, 'The request requires to be authenticated.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(401, 'The request requires to be authenticated.', 'Unauthorized', message, error, id, metadata)\n }\n}\n\ntype ForbiddenType = 'Forbidden'\n\n/**\n * The requested action can\\'t be peform by this resource.\n */\nexport class ForbiddenError extends BaseApiError<403, ForbiddenType, 'The requested action can\\'t be peform by this resource.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(403, 'The requested action can\\'t be peform by this resource.', 'Forbidden', message, error, id, metadata)\n }\n}\n\ntype PayloadTooLargeType = 'PayloadTooLarge'\n\n/**\n * The request payload is too large.\n */\nexport class PayloadTooLargeError extends BaseApiError<413, PayloadTooLargeType, 'The request payload is too large.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(413, 'The request payload is too large.', 'PayloadTooLarge', message, error, id, metadata)\n }\n}\n\ntype InvalidPayloadType = 'InvalidPayload'\n\n/**\n * The request payload is invalid.\n */\nexport class InvalidPayloadError extends BaseApiError<400, InvalidPayloadType, 'The request payload is invalid.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The request payload is invalid.', 'InvalidPayload', message, error, id, metadata)\n }\n}\n\ntype UnsupportedMediaTypeType = 'UnsupportedMediaType'\n\n/**\n * The request is invalid because the content-type is not supported.\n */\nexport class UnsupportedMediaTypeError extends BaseApiError<415, UnsupportedMediaTypeType, 'The request is invalid because the content-type is not supported.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(415, 'The request is invalid because the content-type is not supported.', 'UnsupportedMediaType', message, error, id, metadata)\n }\n}\n\ntype MethodNotFoundType = 'MethodNotFound'\n\n/**\n * The requested method does not exist.\n */\nexport class MethodNotFoundError extends BaseApiError<405, MethodNotFoundType, 'The requested method does not exist.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(405, 'The requested method does not exist.', 'MethodNotFound', message, error, id, metadata)\n }\n}\n\ntype ResourceNotFoundType = 'ResourceNotFound'\n\n/**\n * The requested resource does not exist.\n */\nexport class ResourceNotFoundError extends BaseApiError<404, ResourceNotFoundType, 'The requested resource does not exist.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(404, 'The requested resource does not exist.', 'ResourceNotFound', message, error, id, metadata)\n }\n}\n\ntype InvalidJsonSchemaType = 'InvalidJsonSchema'\n\n/**\n * The provided JSON schema is invalid.\n */\nexport class InvalidJsonSchemaError extends BaseApiError<400, InvalidJsonSchemaType, 'The provided JSON schema is invalid.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided JSON schema is invalid.', 'InvalidJsonSchema', message, error, id, metadata)\n }\n}\n\ntype InvalidDataFormatType = 'InvalidDataFormat'\n\n/**\n * The provided data doesn\\'t respect the provided JSON schema.\n */\nexport class InvalidDataFormatError extends BaseApiError<400, InvalidDataFormatType, 'The provided data doesn\\'t respect the provided JSON schema.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided data doesn\\'t respect the provided JSON schema.', 'InvalidDataFormat', message, error, id, metadata)\n }\n}\n\ntype InvalidIdentifierType = 'InvalidIdentifier'\n\n/**\n * The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.\n */\nexport class InvalidIdentifierError extends BaseApiError<400, InvalidIdentifierType, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided identifier is not valid. An identifier must start with a lowercase letter, be between 2 and 100 characters long and use only alphanumeric characters.', 'InvalidIdentifier', message, error, id, metadata)\n }\n}\n\ntype RelationConflictType = 'RelationConflict'\n\n/**\n * The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.\n */\nexport class RelationConflictError extends BaseApiError<409, RelationConflictType, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource is related with a different resource that the one referenced in the request. This is usually caused when providing two resource identifiers that aren\\'t linked together.', 'RelationConflict', message, error, id, metadata)\n }\n}\n\ntype ReferenceConstraintType = 'ReferenceConstraint'\n\n/**\n * The resource cannot be deleted because it\\'s referenced by another resource\n */\nexport class ReferenceConstraintError extends BaseApiError<409, ReferenceConstraintType, 'The resource cannot be deleted because it\\'s referenced by another resource'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource cannot be deleted because it\\'s referenced by another resource', 'ReferenceConstraint', message, error, id, metadata)\n }\n}\n\ntype ResourceLockedConflictType = 'ResourceLockedConflict'\n\n/**\n * The resource is current locked and cannot be operated on until the lock is released.\n */\nexport class ResourceLockedConflictError extends BaseApiError<409, ResourceLockedConflictType, 'The resource is current locked and cannot be operated on until the lock is released.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The resource is current locked and cannot be operated on until the lock is released.', 'ResourceLockedConflict', message, error, id, metadata)\n }\n}\n\ntype ReferenceNotFoundType = 'ReferenceNotFound'\n\n/**\n * The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.\n */\nexport class ReferenceNotFoundError extends BaseApiError<400, ReferenceNotFoundType, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided resource reference is missing. This is usually caused when providing an invalid id inside the payload of a request.', 'ReferenceNotFound', message, error, id, metadata)\n }\n}\n\ntype InvalidQueryType = 'InvalidQuery'\n\n/**\n * The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.\n */\nexport class InvalidQueryError extends BaseApiError<400, InvalidQueryType, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'The provided query is invalid. This is usually caused when providing an invalid parameter for querying a resource.', 'InvalidQuery', message, error, id, metadata)\n }\n}\n\ntype RuntimeType = 'Runtime'\n\n/**\n * An error happened during the execution of a runtime (bot or integration).\n */\nexport class RuntimeError extends BaseApiError<400, RuntimeType, 'An error happened during the execution of a runtime (bot or integration).'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'An error happened during the execution of a runtime (bot or integration).', 'Runtime', message, error, id, metadata)\n }\n}\n\ntype AlreadyExistsType = 'AlreadyExists'\n\n/**\n * The record attempted to be created already exists.\n */\nexport class AlreadyExistsError extends BaseApiError<409, AlreadyExistsType, 'The record attempted to be created already exists.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(409, 'The record attempted to be created already exists.', 'AlreadyExists', message, error, id, metadata)\n }\n}\n\ntype RateLimitedType = 'RateLimited'\n\n/**\n * The request has been rate limited.\n */\nexport class RateLimitedError extends BaseApiError<429, RateLimitedType, 'The request has been rate limited.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(429, 'The request has been rate limited.', 'RateLimited', message, error, id, metadata)\n }\n}\n\ntype PaymentRequiredType = 'PaymentRequired'\n\n/**\n * A payment is required to perform this request.\n */\nexport class PaymentRequiredError extends BaseApiError<402, PaymentRequiredType, 'A payment is required to perform this request.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(402, 'A payment is required to perform this request.', 'PaymentRequired', message, error, id, metadata)\n }\n}\n\ntype QuotaExceededType = 'QuotaExceeded'\n\n/**\n * The request exceeds the allowed quota. Quotas are a soft limit that can be increased.\n */\nexport class QuotaExceededError extends BaseApiError<403, QuotaExceededType, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(403, 'The request exceeds the allowed quota. Quotas are a soft limit that can be increased.', 'QuotaExceeded', message, error, id, metadata)\n }\n}\n\ntype LimitExceededType = 'LimitExceeded'\n\n/**\n * The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.\n */\nexport class LimitExceededError extends BaseApiError<413, LimitExceededType, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(413, 'The request exceeds the allowed limit. Limits are a hard limit that cannot be increased.', 'LimitExceeded', message, error, id, metadata)\n }\n}\n\ntype BreakingChangesType = 'BreakingChanges'\n\n/**\n * Request payload contains breaking changes which is not allowed for this resource without a version increment.\n */\nexport class BreakingChangesError extends BaseApiError<400, BreakingChangesType, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.'> {\n constructor(message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) {\n super(400, 'Request payload contains breaking changes which is not allowed for this resource without a version increment.', 'BreakingChanges', message, error, id, metadata)\n }\n}\n\nexport type ErrorType =\n | 'Unknown'\n | 'Internal'\n | 'Unauthorized'\n | 'Forbidden'\n | 'PayloadTooLarge'\n | 'InvalidPayload'\n | 'UnsupportedMediaType'\n | 'MethodNotFound'\n | 'ResourceNotFound'\n | 'InvalidJsonSchema'\n | 'InvalidDataFormat'\n | 'InvalidIdentifier'\n | 'RelationConflict'\n | 'ReferenceConstraint'\n | 'ResourceLockedConflict'\n | 'ReferenceNotFound'\n | 'InvalidQuery'\n | 'Runtime'\n | 'AlreadyExists'\n | 'RateLimited'\n | 'PaymentRequired'\n | 'QuotaExceeded'\n | 'LimitExceeded'\n | 'BreakingChanges'\n\nexport type ApiError =\n | UnknownError\n | InternalError\n | UnauthorizedError\n | ForbiddenError\n | PayloadTooLargeError\n | InvalidPayloadError\n | UnsupportedMediaTypeError\n | MethodNotFoundError\n | ResourceNotFoundError\n | InvalidJsonSchemaError\n | InvalidDataFormatError\n | InvalidIdentifierError\n | RelationConflictError\n | ReferenceConstraintError\n | ResourceLockedConflictError\n | ReferenceNotFoundError\n | InvalidQueryError\n | RuntimeError\n | AlreadyExistsError\n | RateLimitedError\n | PaymentRequiredError\n | QuotaExceededError\n | LimitExceededError\n | BreakingChangesError\n\nconst errorTypes: { [type: string]: new (message: string, error?: Error, id?: string, metadata?: Record<string, unknown>) => ApiError } = {\n Unknown: UnknownError,\n Internal: InternalError,\n Unauthorized: UnauthorizedError,\n Forbidden: ForbiddenError,\n PayloadTooLarge: PayloadTooLargeError,\n InvalidPayload: InvalidPayloadError,\n UnsupportedMediaType: UnsupportedMediaTypeError,\n MethodNotFound: MethodNotFoundError,\n ResourceNotFound: ResourceNotFoundError,\n InvalidJsonSchema: InvalidJsonSchemaError,\n InvalidDataFormat: InvalidDataFormatError,\n InvalidIdentifier: InvalidIdentifierError,\n RelationConflict: RelationConflictError,\n ReferenceConstraint: ReferenceConstraintError,\n ResourceLockedConflict: ResourceLockedConflictError,\n ReferenceNotFound: ReferenceNotFoundError,\n InvalidQuery: InvalidQueryError,\n Runtime: RuntimeError,\n AlreadyExists: AlreadyExistsError,\n RateLimited: RateLimitedError,\n PaymentRequired: PaymentRequiredError,\n QuotaExceeded: QuotaExceededError,\n LimitExceeded: LimitExceededError,\n BreakingChanges: BreakingChangesError,\n}\n\nexport const errorFrom = (err: unknown): ApiError => {\n if (isApiError(err)) {\n return err\n }\n else if (err instanceof Error) {\n return new UnknownError(err.message, err)\n }\n else if (typeof err === 'string') {\n return new UnknownError(err)\n }\n else {\n return getApiErrorFromObject(err)\n }\n}\n\nfunction getApiErrorFromObject(err: any) {\n // Check if it's an deserialized API error object\n if (typeof err === 'object' && 'code' in err && 'type' in err && 'id' in err && 'message' in err && typeof err.type === 'string' && typeof err.message === 'string') {\n const ErrorClass = errorTypes[err.type]\n if (!ErrorClass) {\n return new UnknownError(`An unclassified API error occurred: ${err.message} (Type: ${err.type}, Code: ${err.code})`)\n }\n\n return new ErrorClass(err.message, undefined, <string>err.id || 'UNKNOWN', err.metadata) // If error ID was not received do not pass undefined to generate a new one, flag it as UNKNOWN so we can fix the issue.\n }\n\n return new UnknownError('An invalid error occurred: ' + JSON.stringify(err))\n}\n", "import { AxiosError } from 'axios'\nimport { UpsertFileResponse } from './gen/operations/upsertFile'\n\nexport * from './gen/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", "import axios, { AxiosError } from 'axios'\nimport axiosRetry from 'axios-retry'\nimport { isNode } from 'browser-or-node'\nimport http from 'http'\nimport https from 'https'\nimport * as config from './config'\nimport * as errors from './errors'\nimport * as gen from './gen'\nimport { Lister } from './lister'\nimport * as types from './types'\n\nconst _100mb = 100 * 1024 * 1024\nconst maxBodyLength = _100mb\nconst maxContentLength = _100mb\n\nexport class Client extends gen.Client implements types.IClient {\n public readonly config: Readonly<types.ClientConfig>\n\n public constructor(clientProps: types.ClientProps = {}) {\n const clientConfig = config.getClientConfig(clientProps)\n const { apiUrl, headers, withCredentials, timeout } = clientConfig\n const axiosInstance = axios.create({\n baseURL: apiUrl,\n headers,\n withCredentials,\n timeout,\n maxBodyLength,\n maxContentLength,\n httpAgent: isNode ? new http.Agent({ keepAlive: true }) : undefined,\n httpsAgent: isNode ? new https.Agent({ keepAlive: true }) : undefined,\n })\n super(axiosInstance)\n\n if (clientProps.retry) {\n axiosRetry(axiosInstance, clientProps.retry)\n }\n\n this.config = clientConfig\n }\n\n public get list() {\n return new Lister(this)\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 ({\n key,\n index,\n tags,\n contentType,\n accessPolicies,\n content,\n url,\n indexing,\n expiresAt,\n metadata,\n publicContentImmediatelyAccessible,\n }: types.ClientInputs['uploadFile']): Promise<types.ClientOutputs['uploadFile']> => {\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 this.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 (err: any) {\n throw new errors.UploadFileError(`Failed to upload file: ${err.message}`, <AxiosError>err, file)\n }\n\n return {\n file: {\n ...file,\n size,\n },\n }\n }\n}\n", "import { isBrowser, isNode } from 'browser-or-node'\nimport * as types from './types'\n\nconst defaultApiUrl = 'https://api.botpress.cloud'\nconst defaultTimeout = 60_000\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\nexport function getClientConfig(clientProps: types.ClientProps): 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.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\n return {\n apiUrl,\n timeout,\n withCredentials: isBrowser,\n headers,\n }\n}\n\nfunction readEnvConfig(props: types.ClientProps): types.ClientProps {\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: types.ClientProps): types.ClientProps {\n const config: types.ClientProps = {\n ...props,\n apiUrl: props.apiUrl ?? process.env[apiUrlEnvName],\n botId: props.botId ?? process.env[botIdEnvName],\n integrationId: props.integrationId ?? process.env[integrationIdEnvName],\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: types.ClientProps): types.ClientProps {\n return props\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 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 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 getTask from './operations/getTask'\nimport * as createTask from './operations/createTask'\nimport * as updateTask from './operations/updateTask'\nimport * as deleteTask from './operations/deleteTask'\nimport * as listTasks from './operations/listTasks'\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 runVrl from './operations/runVrl'\nimport * as getAccount from './operations/getAccount'\nimport * as updateAccount from './operations/updateAccount'\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 createBot from './operations/createBot'\nimport * as updateBot from './operations/updateBot'\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 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 createBotVersion from './operations/createBotVersion'\nimport * as deployBotVersion from './operations/deployBotVersion'\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 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 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 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 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 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 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 getTask from './operations/getTask'\nexport * as createTask from './operations/createTask'\nexport * as updateTask from './operations/updateTask'\nexport * as deleteTask from './operations/deleteTask'\nexport * as listTasks from './operations/listTasks'\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 runVrl from './operations/runVrl'\nexport * as getAccount from './operations/getAccount'\nexport * as updateAccount from './operations/updateAccount'\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 createBot from './operations/createBot'\nexport * as updateBot from './operations/updateBot'\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 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 createBotVersion from './operations/createBotVersion'\nexport * as deployBotVersion from './operations/deployBotVersion'\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 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 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 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 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 = '0.83.1'\n\nexport type ClientProps = {\n toAxiosRequest: typeof toAxiosRequest\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 const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getConversation = async (input: getConversation.GetConversationInput): Promise<getConversation.GetConversationResponse> => {\n const { path, headers, query, body } = getConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listConversations = async (input: listConversations.ListConversationsInput): Promise<listConversations.ListConversationsResponse> => {\n const { path, headers, query, body } = listConversations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateConversation = async (input: getOrCreateConversation.GetOrCreateConversationInput): Promise<getOrCreateConversation.GetOrCreateConversationResponse> => {\n const { path, headers, query, body } = getOrCreateConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateConversation = async (input: updateConversation.UpdateConversationInput): Promise<updateConversation.UpdateConversationResponse> => {\n const { path, headers, query, body } = updateConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteConversation = async (input: deleteConversation.DeleteConversationInput): Promise<deleteConversation.DeleteConversationResponse> => {\n const { path, headers, query, body } = deleteConversation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listParticipants = async (input: listParticipants.ListParticipantsInput): Promise<listParticipants.ListParticipantsResponse> => {\n const { path, headers, query, body } = listParticipants.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly addParticipant = async (input: addParticipant.AddParticipantInput): Promise<addParticipant.AddParticipantResponse> => {\n const { path, headers, query, body } = addParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getParticipant = async (input: getParticipant.GetParticipantInput): Promise<getParticipant.GetParticipantResponse> => {\n const { path, headers, query, body } = getParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly removeParticipant = async (input: removeParticipant.RemoveParticipantInput): Promise<removeParticipant.RemoveParticipantResponse> => {\n const { path, headers, query, body } = removeParticipant.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createEvent = async (input: createEvent.CreateEventInput): Promise<createEvent.CreateEventResponse> => {\n const { path, headers, query, body } = createEvent.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getEvent = async (input: getEvent.GetEventInput): Promise<getEvent.GetEventResponse> => {\n const { path, headers, query, body } = getEvent.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listEvents = async (input: listEvents.ListEventsInput): Promise<listEvents.ListEventsResponse> => {\n const { path, headers, query, body } = listEvents.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createMessage = async (input: createMessage.CreateMessageInput): Promise<createMessage.CreateMessageResponse> => {\n const { path, headers, query, body } = createMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateMessage = async (input: getOrCreateMessage.GetOrCreateMessageInput): Promise<getOrCreateMessage.GetOrCreateMessageResponse> => {\n const { path, headers, query, body } = getOrCreateMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getMessage = async (input: getMessage.GetMessageInput): Promise<getMessage.GetMessageResponse> => {\n const { path, headers, query, body } = getMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateMessage = async (input: updateMessage.UpdateMessageInput): Promise<updateMessage.UpdateMessageResponse> => {\n const { path, headers, query, body } = updateMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listMessages = async (input: listMessages.ListMessagesInput): Promise<listMessages.ListMessagesResponse> => {\n const { path, headers, query, body } = listMessages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteMessage = async (input: deleteMessage.DeleteMessageInput): Promise<deleteMessage.DeleteMessageResponse> => {\n const { path, headers, query, body } = deleteMessage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createUser = async (input: createUser.CreateUserInput): Promise<createUser.CreateUserResponse> => {\n const { path, headers, query, body } = createUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUser = async (input: getUser.GetUserInput): Promise<getUser.GetUserResponse> => {\n const { path, headers, query, body } = getUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsers = async (input: listUsers.ListUsersInput): Promise<listUsers.ListUsersResponse> => {\n const { path, headers, query, body } = listUsers.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateUser = async (input: getOrCreateUser.GetOrCreateUserInput): Promise<getOrCreateUser.GetOrCreateUserResponse> => {\n const { path, headers, query, body } = getOrCreateUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateUser = async (input: updateUser.UpdateUserInput): Promise<updateUser.UpdateUserResponse> => {\n const { path, headers, query, body } = updateUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteUser = async (input: deleteUser.DeleteUserInput): Promise<deleteUser.DeleteUserResponse> => {\n const { path, headers, query, body } = deleteUser.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setStateExpiry = async (input: setStateExpiry.SetStateExpiryInput): Promise<setStateExpiry.SetStateExpiryResponse> => {\n const { path, headers, query, body } = setStateExpiry.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getState = async (input: getState.GetStateInput): Promise<getState.GetStateResponse> => {\n const { path, headers, query, body } = getState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setState = async (input: setState.SetStateInput): Promise<setState.SetStateResponse> => {\n const { path, headers, query, body } = setState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrSetState = async (input: getOrSetState.GetOrSetStateInput): Promise<getOrSetState.GetOrSetStateResponse> => {\n const { path, headers, query, body } = getOrSetState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly patchState = async (input: patchState.PatchStateInput): Promise<patchState.PatchStateResponse> => {\n const { path, headers, query, body } = patchState.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly callAction = async (input: callAction.CallActionInput): Promise<callAction.CallActionResponse> => {\n const { path, headers, query, body } = callAction.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly configureIntegration = async (input: configureIntegration.ConfigureIntegrationInput): Promise<configureIntegration.ConfigureIntegrationResponse> => {\n const { path, headers, query, body } = configureIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTask = async (input: getTask.GetTaskInput): Promise<getTask.GetTaskResponse> => {\n const { path, headers, query, body } = getTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"get\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<getTask.GetTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly createTask = async (input: createTask.CreateTaskInput): Promise<createTask.CreateTaskResponse> => {\n const { path, headers, query, body } = createTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"post\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<createTask.CreateTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly updateTask = async (input: updateTask.UpdateTaskInput): Promise<updateTask.UpdateTaskResponse> => {\n const { path, headers, query, body } = updateTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"put\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<updateTask.UpdateTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly deleteTask = async (input: deleteTask.DeleteTaskInput): Promise<deleteTask.DeleteTaskResponse> => {\n const { path, headers, query, body } = deleteTask.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"delete\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<deleteTask.DeleteTaskResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly listTasks = async (input: listTasks.ListTasksInput): Promise<listTasks.ListTasksResponse> => {\n const { path, headers, query, body } = listTasks.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\n method: \"get\",\n path,\n headers: { ...headers },\n query: { ...query },\n body,\n })\n return this.axiosInstance.request<listTasks.ListTasksResponse>(axiosReq)\n .then((res) => res.data)\n .catch((e) => { throw getError(e) })\n }\n\n public readonly createWorkflow = async (input: createWorkflow.CreateWorkflowInput): Promise<createWorkflow.CreateWorkflowResponse> => {\n const { path, headers, query, body } = createWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkflow = async (input: getWorkflow.GetWorkflowInput): Promise<getWorkflow.GetWorkflowResponse> => {\n const { path, headers, query, body } = getWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkflow = async (input: updateWorkflow.UpdateWorkflowInput): Promise<updateWorkflow.UpdateWorkflowResponse> => {\n const { path, headers, query, body } = updateWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkflow = async (input: deleteWorkflow.DeleteWorkflowInput): Promise<deleteWorkflow.DeleteWorkflowResponse> => {\n const { path, headers, query, body } = deleteWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkflows = async (input: listWorkflows.ListWorkflowsInput): Promise<listWorkflows.ListWorkflowsResponse> => {\n const { path, headers, query, body } = listWorkflows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateWorkflow = async (input: getOrCreateWorkflow.GetOrCreateWorkflowInput): Promise<getOrCreateWorkflow.GetOrCreateWorkflowResponse> => {\n const { path, headers, query, body } = getOrCreateWorkflow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listTagValues = async (input: listTagValues.ListTagValuesInput): Promise<listTagValues.ListTagValuesResponse> => {\n const { path, headers, query, body } = listTagValues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly trackAnalytics = async (input: trackAnalytics.TrackAnalyticsInput): Promise<trackAnalytics.TrackAnalyticsResponse> => {\n const { path, headers, query, body } = trackAnalytics.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly runVrl = async (input: runVrl.RunVrlInput): Promise<runVrl.RunVrlResponse> => {\n const { path, headers, query, body } = runVrl.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAccount = async (input: getAccount.GetAccountInput): Promise<getAccount.GetAccountResponse> => {\n const { path, headers, query, body } = getAccount.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateAccount = async (input: updateAccount.UpdateAccountInput): Promise<updateAccount.UpdateAccountResponse> => {\n const { path, headers, query, body } = updateAccount.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPersonalAccessTokens = async (input: listPersonalAccessTokens.ListPersonalAccessTokensInput): Promise<listPersonalAccessTokens.ListPersonalAccessTokensResponse> => {\n const { path, headers, query, body } = listPersonalAccessTokens.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createPersonalAccessToken = async (input: createPersonalAccessToken.CreatePersonalAccessTokenInput): Promise<createPersonalAccessToken.CreatePersonalAccessTokenResponse> => {\n const { path, headers, query, body } = createPersonalAccessToken.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deletePersonalAccessToken = async (input: deletePersonalAccessToken.DeletePersonalAccessTokenInput): Promise<deletePersonalAccessToken.DeletePersonalAccessTokenResponse> => {\n const { path, headers, query, body } = deletePersonalAccessToken.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly setAccountPreference = async (input: setAccountPreference.SetAccountPreferenceInput): Promise<setAccountPreference.SetAccountPreferenceResponse> => {\n const { path, headers, query, body } = setAccountPreference.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAccountPreference = async (input: getAccountPreference.GetAccountPreferenceInput): Promise<getAccountPreference.GetAccountPreferenceResponse> => {\n const { path, headers, query, body } = getAccountPreference.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPublicIntegrations = async (input: listPublicIntegrations.ListPublicIntegrationsInput): Promise<listPublicIntegrations.ListPublicIntegrationsResponse> => {\n const { path, headers, query, body } = listPublicIntegrations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicIntegrationById = async (input: getPublicIntegrationById.GetPublicIntegrationByIdInput): Promise<getPublicIntegrationById.GetPublicIntegrationByIdResponse> => {\n const { path, headers, query, body } = getPublicIntegrationById.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicIntegration = async (input: getPublicIntegration.GetPublicIntegrationInput): Promise<getPublicIntegration.GetPublicIntegrationResponse> => {\n const { path, headers, query, body } = getPublicIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createBot = async (input: createBot.CreateBotInput): Promise<createBot.CreateBotResponse> => {\n const { path, headers, query, body } = createBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateBot = async (input: updateBot.UpdateBotInput): Promise<updateBot.UpdateBotResponse> => {\n const { path, headers, query, body } = updateBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly transferBot = async (input: transferBot.TransferBotInput): Promise<transferBot.TransferBotResponse> => {\n const { path, headers, query, body } = transferBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBots = async (input: listBots.ListBotsInput): Promise<listBots.ListBotsResponse> => {\n const { path, headers, query, body } = listBots.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBot = async (input: getBot.GetBotInput): Promise<getBot.GetBotResponse> => {\n const { path, headers, query, body } = getBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteBot = async (input: deleteBot.DeleteBotInput): Promise<deleteBot.DeleteBotResponse> => {\n const { path, headers, query, body } = deleteBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotLogs = async (input: getBotLogs.GetBotLogsInput): Promise<getBotLogs.GetBotLogsResponse> => {\n const { path, headers, query, body } = getBotLogs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotWebchat = async (input: getBotWebchat.GetBotWebchatInput): Promise<getBotWebchat.GetBotWebchatResponse> => {\n const { path, headers, query, body } = getBotWebchat.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotAnalytics = async (input: getBotAnalytics.GetBotAnalyticsInput): Promise<getBotAnalytics.GetBotAnalyticsResponse> => {\n const { path, headers, query, body } = getBotAnalytics.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotIssue = async (input: getBotIssue.GetBotIssueInput): Promise<getBotIssue.GetBotIssueResponse> => {\n const { path, headers, query, body } = getBotIssue.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotIssues = async (input: listBotIssues.ListBotIssuesInput): Promise<listBotIssues.ListBotIssuesResponse> => {\n const { path, headers, query, body } = listBotIssues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteBotIssue = async (input: deleteBotIssue.DeleteBotIssueInput): Promise<deleteBotIssue.DeleteBotIssueResponse> => {\n const { path, headers, query, body } = deleteBotIssue.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotIssueEvents = async (input: listBotIssueEvents.ListBotIssueEventsInput): Promise<listBotIssueEvents.ListBotIssueEventsResponse> => {\n const { path, headers, query, body } = listBotIssueEvents.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listBotVersions = async (input: listBotVersions.ListBotVersionsInput): Promise<listBotVersions.ListBotVersionsResponse> => {\n const { path, headers, query, body } = listBotVersions.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getBotVersion = async (input: getBotVersion.GetBotVersionInput): Promise<getBotVersion.GetBotVersionResponse> => {\n const { path, headers, query, body } = getBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createBotVersion = async (input: createBotVersion.CreateBotVersionInput): Promise<createBotVersion.CreateBotVersionResponse> => {\n const { path, headers, query, body } = createBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deployBotVersion = async (input: deployBotVersion.DeployBotVersionInput): Promise<deployBotVersion.DeployBotVersionResponse> => {\n const { path, headers, query, body } = deployBotVersion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceInvoices = async (input: listWorkspaceInvoices.ListWorkspaceInvoicesInput): Promise<listWorkspaceInvoices.ListWorkspaceInvoicesResponse> => {\n const { path, headers, query, body } = listWorkspaceInvoices.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUpcomingInvoice = async (input: getUpcomingInvoice.GetUpcomingInvoiceInput): Promise<getUpcomingInvoice.GetUpcomingInvoiceResponse> => {\n const { path, headers, query, body } = getUpcomingInvoice.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly chargeWorkspaceUnpaidInvoices = async (input: chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesInput): Promise<chargeWorkspaceUnpaidInvoices.ChargeWorkspaceUnpaidInvoicesResponse> => {\n const { path, headers, query, body } = chargeWorkspaceUnpaidInvoices.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createWorkspace = async (input: createWorkspace.CreateWorkspaceInput): Promise<createWorkspace.CreateWorkspaceResponse> => {\n const { path, headers, query, body } = createWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPublicWorkspace = async (input: getPublicWorkspace.GetPublicWorkspaceInput): Promise<getPublicWorkspace.GetPublicWorkspaceResponse> => {\n const { path, headers, query, body } = getPublicWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspace = async (input: getWorkspace.GetWorkspaceInput): Promise<getWorkspace.GetWorkspaceResponse> => {\n const { path, headers, query, body } = getWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceUsages = async (input: listWorkspaceUsages.ListWorkspaceUsagesInput): Promise<listWorkspaceUsages.ListWorkspaceUsagesResponse> => {\n const { path, headers, query, body } = listWorkspaceUsages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly breakDownWorkspaceUsageByBot = async (input: breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotInput): Promise<breakDownWorkspaceUsageByBot.BreakDownWorkspaceUsageByBotResponse> => {\n const { path, headers, query, body } = breakDownWorkspaceUsageByBot.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAllWorkspaceQuotaCompletion = async (input: getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionInput): Promise<getAllWorkspaceQuotaCompletion.GetAllWorkspaceQuotaCompletionResponse> => {\n const { path, headers, query, body } = getAllWorkspaceQuotaCompletion.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspaceQuota = async (input: getWorkspaceQuota.GetWorkspaceQuotaInput): Promise<getWorkspaceQuota.GetWorkspaceQuotaResponse> => {\n const { path, headers, query, body } = getWorkspaceQuota.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceQuotas = async (input: listWorkspaceQuotas.ListWorkspaceQuotasInput): Promise<listWorkspaceQuotas.ListWorkspaceQuotasResponse> => {\n const { path, headers, query, body } = listWorkspaceQuotas.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkspace = async (input: updateWorkspace.UpdateWorkspaceInput): Promise<updateWorkspace.UpdateWorkspaceResponse> => {\n const { path, headers, query, body } = updateWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly checkHandleAvailability = async (input: checkHandleAvailability.CheckHandleAvailabilityInput): Promise<checkHandleAvailability.CheckHandleAvailabilityResponse> => {\n const { path, headers, query, body } = checkHandleAvailability.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaces = async (input: listWorkspaces.ListWorkspacesInput): Promise<listWorkspaces.ListWorkspacesResponse> => {\n const { path, headers, query, body } = listWorkspaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPublicWorkspaces = async (input: listPublicWorkspaces.ListPublicWorkspacesInput): Promise<listPublicWorkspaces.ListPublicWorkspacesResponse> => {\n const { path, headers, query, body } = listPublicWorkspaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkspace = async (input: deleteWorkspace.DeleteWorkspaceInput): Promise<deleteWorkspace.DeleteWorkspaceResponse> => {\n const { path, headers, query, body } = deleteWorkspace.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getAuditRecords = async (input: getAuditRecords.GetAuditRecordsInput): Promise<getAuditRecords.GetAuditRecordsResponse> => {\n const { path, headers, query, body } = getAuditRecords.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listWorkspaceMembers = async (input: listWorkspaceMembers.ListWorkspaceMembersInput): Promise<listWorkspaceMembers.ListWorkspaceMembersResponse> => {\n const { path, headers, query, body } = listWorkspaceMembers.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getWorkspaceMember = async (input: getWorkspaceMember.GetWorkspaceMemberInput): Promise<getWorkspaceMember.GetWorkspaceMemberResponse> => {\n const { path, headers, query, body } = getWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteWorkspaceMember = async (input: deleteWorkspaceMember.DeleteWorkspaceMemberInput): Promise<deleteWorkspaceMember.DeleteWorkspaceMemberResponse> => {\n const { path, headers, query, body } = deleteWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createWorkspaceMember = async (input: createWorkspaceMember.CreateWorkspaceMemberInput): Promise<createWorkspaceMember.CreateWorkspaceMemberResponse> => {\n const { path, headers, query, body } = createWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateWorkspaceMember = async (input: updateWorkspaceMember.UpdateWorkspaceMemberInput): Promise<updateWorkspaceMember.UpdateWorkspaceMemberResponse> => {\n const { path, headers, query, body } = updateWorkspaceMember.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listIntegrationApiKeys = async (input: listIntegrationApiKeys.ListIntegrationApiKeysInput): Promise<listIntegrationApiKeys.ListIntegrationApiKeysResponse> => {\n const { path, headers, query, body } = listIntegrationApiKeys.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createIntegrationApiKey = async (input: createIntegrationApiKey.CreateIntegrationApiKeyInput): Promise<createIntegrationApiKey.CreateIntegrationApiKeyResponse> => {\n const { path, headers, query, body } = createIntegrationApiKey.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteIntegrationApiKey = async (input: deleteIntegrationApiKey.DeleteIntegrationApiKeyInput): Promise<deleteIntegrationApiKey.DeleteIntegrationApiKeyResponse> => {\n const { path, headers, query, body } = deleteIntegrationApiKey.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createIntegration = async (input: createIntegration.CreateIntegrationInput): Promise<createIntegration.CreateIntegrationResponse> => {\n const { path, headers, query, body } = createIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly validateIntegrationCreation = async (input: validateIntegrationCreation.ValidateIntegrationCreationInput): Promise<validateIntegrationCreation.ValidateIntegrationCreationResponse> => {\n const { path, headers, query, body } = validateIntegrationCreation.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateIntegration = async (input: updateIntegration.UpdateIntegrationInput): Promise<updateIntegration.UpdateIntegrationResponse> => {\n const { path, headers, query, body } = updateIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly validateIntegrationUpdate = async (input: validateIntegrationUpdate.ValidateIntegrationUpdateInput): Promise<validateIntegrationUpdate.ValidateIntegrationUpdateResponse> => {\n const { path, headers, query, body } = validateIntegrationUpdate.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listIntegrations = async (input: listIntegrations.ListIntegrationsInput): Promise<listIntegrations.ListIntegrationsResponse> => {\n const { path, headers, query, body } = listIntegrations.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegration = async (input: getIntegration.GetIntegrationInput): Promise<getIntegration.GetIntegrationResponse> => {\n const { path, headers, query, body } = getIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegrationLogs = async (input: getIntegrationLogs.GetIntegrationLogsInput): Promise<getIntegrationLogs.GetIntegrationLogsResponse> => {\n const { path, headers, query, body } = getIntegrationLogs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getIntegrationByName = async (input: getIntegrationByName.GetIntegrationByNameInput): Promise<getIntegrationByName.GetIntegrationByNameResponse> => {\n const { path, headers, query, body } = getIntegrationByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteIntegration = async (input: deleteIntegration.DeleteIntegrationInput): Promise<deleteIntegration.DeleteIntegrationResponse> => {\n const { path, headers, query, body } = deleteIntegration.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly requestIntegrationVerification = async (input: requestIntegrationVerification.RequestIntegrationVerificationInput): Promise<requestIntegrationVerification.RequestIntegrationVerificationResponse> => {\n const { path, headers, query, body } = requestIntegrationVerification.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createInterface = async (input: createInterface.CreateInterfaceInput): Promise<createInterface.CreateInterfaceResponse> => {\n const { path, headers, query, body } = createInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getInterface = async (input: getInterface.GetInterfaceInput): Promise<getInterface.GetInterfaceResponse> => {\n const { path, headers, query, body } = getInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getInterfaceByName = async (input: getInterfaceByName.GetInterfaceByNameInput): Promise<getInterfaceByName.GetInterfaceByNameResponse> => {\n const { path, headers, query, body } = getInterfaceByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateInterface = async (input: updateInterface.UpdateInterfaceInput): Promise<updateInterface.UpdateInterfaceResponse> => {\n const { path, headers, query, body } = updateInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteInterface = async (input: deleteInterface.DeleteInterfaceInput): Promise<deleteInterface.DeleteInterfaceResponse> => {\n const { path, headers, query, body } = deleteInterface.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listInterfaces = async (input: listInterfaces.ListInterfacesInput): Promise<listInterfaces.ListInterfacesResponse> => {\n const { path, headers, query, body } = listInterfaces.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createPlugin = async (input: createPlugin.CreatePluginInput): Promise<createPlugin.CreatePluginResponse> => {\n const { path, headers, query, body } = createPlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPlugin = async (input: getPlugin.GetPluginInput): Promise<getPlugin.GetPluginResponse> => {\n const { path, headers, query, body } = getPlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPluginByName = async (input: getPluginByName.GetPluginByNameInput): Promise<getPluginByName.GetPluginByNameResponse> => {\n const { path, headers, query, body } = getPluginByName.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updatePlugin = async (input: updatePlugin.UpdatePluginInput): Promise<updatePlugin.UpdatePluginResponse> => {\n const { path, headers, query, body } = updatePlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deletePlugin = async (input: deletePlugin.DeletePluginInput): Promise<deletePlugin.DeletePluginResponse> => {\n const { path, headers, query, body } = deletePlugin.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listPlugins = async (input: listPlugins.ListPluginsInput): Promise<listPlugins.ListPluginsResponse> => {\n const { path, headers, query, body } = listPlugins.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getPluginCode = async (input: getPluginCode.GetPluginCodeInput): Promise<getPluginCode.GetPluginCodeResponse> => {\n const { path, headers, query, body } = getPluginCode.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getUsage = async (input: getUsage.GetUsageInput): Promise<getUsage.GetUsageResponse> => {\n const { path, headers, query, body } = getUsage.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getMultipleUsages = async (input: getMultipleUsages.GetMultipleUsagesInput): Promise<getMultipleUsages.GetMultipleUsagesResponse> => {\n const { path, headers, query, body } = getMultipleUsages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageHistory = async (input: listUsageHistory.ListUsageHistoryInput): Promise<listUsageHistory.ListUsageHistoryResponse> => {\n const { path, headers, query, body } = listUsageHistory.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageActivity = async (input: listUsageActivity.ListUsageActivityInput): Promise<listUsageActivity.ListUsageActivityResponse> => {\n const { path, headers, query, body } = listUsageActivity.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listUsageActivityDaily = async (input: listUsageActivityDaily.ListUsageActivityDailyInput): Promise<listUsageActivityDaily.ListUsageActivityDailyResponse> => {\n const { path, headers, query, body } = listUsageActivityDaily.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly changeAISpendQuota = async (input: changeAISpendQuota.ChangeAispendQuotaInput): Promise<changeAISpendQuota.ChangeAispendQuotaResponse> => {\n const { path, headers, query, body } = changeAISpendQuota.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listActivities = async (input: listActivities.ListActivitiesInput): Promise<listActivities.ListActivitiesResponse> => {\n const { path, headers, query, body } = listActivities.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly introspect = async (input: introspect.IntrospectInput): Promise<introspect.IntrospectResponse> => {\n const { path, headers, query, body } = introspect.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly upsertFile = async (input: upsertFile.UpsertFileInput): Promise<upsertFile.UpsertFileResponse> => {\n const { path, headers, query, body } = upsertFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteFile = async (input: deleteFile.DeleteFileInput): Promise<deleteFile.DeleteFileResponse> => {\n const { path, headers, query, body } = deleteFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFiles = async (input: listFiles.ListFilesInput): Promise<listFiles.ListFilesResponse> => {\n const { path, headers, query, body } = listFiles.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getFile = async (input: getFile.GetFileInput): Promise<getFile.GetFileResponse> => {\n const { path, headers, query, body } = getFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateFileMetadata = async (input: updateFileMetadata.UpdateFileMetadataInput): Promise<updateFileMetadata.UpdateFileMetadataResponse> => {\n const { path, headers, query, body } = updateFileMetadata.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly copyFile = async (input: copyFile.CopyFileInput): Promise<copyFile.CopyFileResponse> => {\n const { path, headers, query, body } = copyFile.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly searchFiles = async (input: searchFiles.SearchFilesInput): Promise<searchFiles.SearchFilesResponse> => {\n const { path, headers, query, body } = searchFiles.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFilePassages = async (input: listFilePassages.ListFilePassagesInput): Promise<listFilePassages.ListFilePassagesResponse> => {\n const { path, headers, query, body } = listFilePassages.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFileTags = async (input: listFileTags.ListFileTagsInput): Promise<listFileTags.ListFileTagsResponse> => {\n const { path, headers, query, body } = listFileTags.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listFileTagValues = async (input: listFileTagValues.ListFileTagValuesInput): Promise<listFileTagValues.ListFileTagValuesResponse> => {\n const { path, headers, query, body } = listFileTagValues.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createKnowledgeBase = async (input: createKnowledgeBase.CreateKnowledgeBaseInput): Promise<createKnowledgeBase.CreateKnowledgeBaseResponse> => {\n const { path, headers, query, body } = createKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteKnowledgeBase = async (input: deleteKnowledgeBase.DeleteKnowledgeBaseInput): Promise<deleteKnowledgeBase.DeleteKnowledgeBaseResponse> => {\n const { path, headers, query, body } = deleteKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateKnowledgeBase = async (input: updateKnowledgeBase.UpdateKnowledgeBaseInput): Promise<updateKnowledgeBase.UpdateKnowledgeBaseResponse> => {\n const { path, headers, query, body } = updateKnowledgeBase.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listKnowledgeBases = async (input: listKnowledgeBases.ListKnowledgeBasesInput): Promise<listKnowledgeBases.ListKnowledgeBasesResponse> => {\n const { path, headers, query, body } = listKnowledgeBases.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly listTables = async (input: listTables.ListTablesInput): Promise<listTables.ListTablesResponse> => {\n const { path, headers, query, body } = listTables.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTable = async (input: getTable.GetTableInput): Promise<getTable.GetTableResponse> => {\n const { path, headers, query, body } = getTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getOrCreateTable = async (input: getOrCreateTable.GetOrCreateTableInput): Promise<getOrCreateTable.GetOrCreateTableResponse> => {\n const { path, headers, query, body } = getOrCreateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createTable = async (input: createTable.CreateTableInput): Promise<createTable.CreateTableResponse> => {\n const { path, headers, query, body } = createTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly duplicateTable = async (input: duplicateTable.DuplicateTableInput): Promise<duplicateTable.DuplicateTableResponse> => {\n const { path, headers, query, body } = duplicateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly exportTable = async (input: exportTable.ExportTableInput): Promise<exportTable.ExportTableResponse> => {\n const { path, headers, query, body } = exportTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTableJobs = async (input: getTableJobs.GetTableJobsInput): Promise<getTableJobs.GetTableJobsResponse> => {\n const { path, headers, query, body } = getTableJobs.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly importTable = async (input: importTable.ImportTableInput): Promise<importTable.ImportTableResponse> => {\n const { path, headers, query, body } = importTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateTable = async (input: updateTable.UpdateTableInput): Promise<updateTable.UpdateTableResponse> => {\n const { path, headers, query, body } = updateTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly renameTableColumn = async (input: renameTableColumn.RenameTableColumnInput): Promise<renameTableColumn.RenameTableColumnResponse> => {\n const { path, headers, query, body } = renameTableColumn.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteTable = async (input: deleteTable.DeleteTableInput): Promise<deleteTable.DeleteTableResponse> => {\n const { path, headers, query, body } = deleteTable.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly getTableRow = async (input: getTableRow.GetTableRowInput): Promise<getTableRow.GetTableRowResponse> => {\n const { path, headers, query, body } = getTableRow.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly findTableRows = async (input: findTableRows.FindTableRowsInput): Promise<findTableRows.FindTableRowsResponse> => {\n const { path, headers, query, body } = findTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly createTableRows = async (input: createTableRows.CreateTableRowsInput): Promise<createTableRows.CreateTableRowsResponse> => {\n const { path, headers, query, body } = createTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly deleteTableRows = async (input: deleteTableRows.DeleteTableRowsInput): Promise<deleteTableRows.DeleteTableRowsResponse> => {\n const { path, headers, query, body } = deleteTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly updateTableRows = async (input: updateTableRows.UpdateTableRowsInput): Promise<updateTableRows.UpdateTableRowsResponse> => {\n const { path, headers, query, body } = updateTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n public readonly upsertTableRows = async (input: upsertTableRows.UpsertTableRowsInput): Promise<upsertTableRows.UpsertTableRowsResponse> => {\n const { path, headers, query, body } = upsertTableRows.parseReq(input)\n const mapper = this.props.toAxiosRequest ?? toAxiosRequest\n const axiosReq = mapper({\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 getError(e) })\n }\n\n}\n\n// maps axios error to api error type\nfunction getError(err: 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 * Id of the current [Task](#schema_task)\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 * Id of the current [Task](#schema_task)\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}\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'] },\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 * Id of the current [Task](#schema_task)\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 * Id of the current [Task](#schema_task)\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 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 * Id of the current [Task](#schema_task)\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 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}\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}\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 [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'], '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\";\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\";\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 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'], '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\";\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 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}\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'] },\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 * 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}\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 /**\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'], '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 * 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}\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 * 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}\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\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'] },\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 * 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}\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}\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'] },\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 * 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 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 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\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'] },\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}\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}\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}\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'] },\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 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 * 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'], '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}\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;\n /**\n * URI of the user picture\n */\n pictureUrl?: string | null;\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'] },\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}\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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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\" | \"task\" | \"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`, `task`, `integration` or `workflow`) that the state is related to\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\" | \"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;\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 * Sandbox identifiers for the integration. Setting this to null will remove all sandbox identifiers. Setting an individual sandbox identifier to null will remove that sandbox identifier. This is an experimental feature meant to be used by specific integrations.\n */\n sandboxIdentifiers?: {\n [k: string]: {} | null;\n } | 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 GetTaskRequestHeaders {}\n\nexport interface GetTaskRequestQuery {}\n\nexport interface GetTaskRequestParams {\n id: string;\n}\n\nexport interface GetTaskRequestBody {}\n\nexport type GetTaskInput = GetTaskRequestBody & GetTaskRequestHeaders & GetTaskRequestQuery & GetTaskRequestParams\n\nexport type GetTaskRequest = {\n headers: GetTaskRequestHeaders;\n query: GetTaskRequestQuery;\n params: GetTaskRequestParams;\n body: GetTaskRequestBody;\n}\n\nexport const parseReq = (input: GetTaskInput): GetTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { },\n }\n}\n\nexport interface GetTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 CreateTaskRequestHeaders {}\n\nexport interface CreateTaskRequestQuery {}\n\nexport interface CreateTaskRequestParams {}\n\nexport interface CreateTaskRequestBody {\n /**\n * Title describing the task\n */\n title?: string;\n /**\n * All the notes related to the execution of the current task\n */\n description?: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data?: {\n [k: string]: any;\n };\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt?: string;\n /**\n * Tags for the [Task](#schema_task)\n */\n tags?: {\n [k: string]: string;\n };\n}\n\nexport type CreateTaskInput = CreateTaskRequestBody & CreateTaskRequestHeaders & CreateTaskRequestQuery & CreateTaskRequestParams\n\nexport type CreateTaskRequest = {\n headers: CreateTaskRequestHeaders;\n query: CreateTaskRequestQuery;\n params: CreateTaskRequestParams;\n body: CreateTaskRequestBody;\n}\n\nexport const parseReq = (input: CreateTaskInput): CreateTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks`,\n headers: { },\n query: { },\n params: { },\n body: { 'title': input['title'], 'description': input['description'], 'type': input['type'], 'data': input['data'], 'parentTaskId': input['parentTaskId'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'timeoutAt': input['timeoutAt'], 'tags': input['tags'] },\n }\n}\n\nexport interface CreateTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 UpdateTaskRequestHeaders {}\n\nexport interface UpdateTaskRequestQuery {}\n\nexport interface UpdateTaskRequestParams {\n id: string;\n}\n\nexport interface UpdateTaskRequestBody {\n /**\n * Title describing the task\n */\n title?: string;\n /**\n * All the notes related to the execution of the current task\n */\n description?: string;\n /**\n * Content related to the task\n */\n data?: {\n [k: string]: any;\n };\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt?: string;\n /**\n * Status of the task\n */\n status?: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Tags for the [Task](#schema_task)\n */\n tags?: {\n [k: string]: string;\n };\n}\n\nexport type UpdateTaskInput = UpdateTaskRequestBody & UpdateTaskRequestHeaders & UpdateTaskRequestQuery & UpdateTaskRequestParams\n\nexport type UpdateTaskRequest = {\n headers: UpdateTaskRequestHeaders;\n query: UpdateTaskRequestQuery;\n params: UpdateTaskRequestParams;\n body: UpdateTaskRequestBody;\n}\n\nexport const parseReq = (input: UpdateTaskInput): UpdateTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { 'title': input['title'], 'description': input['description'], 'data': input['data'], 'timeoutAt': input['timeoutAt'], 'status': input['status'], 'tags': input['tags'] },\n }\n}\n\nexport interface UpdateTaskResponse {\n /**\n * Task definition\n */\n task: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 DeleteTaskRequestHeaders {}\n\nexport interface DeleteTaskRequestQuery {}\n\nexport interface DeleteTaskRequestParams {\n id: string;\n}\n\nexport interface DeleteTaskRequestBody {}\n\nexport type DeleteTaskInput = DeleteTaskRequestBody & DeleteTaskRequestHeaders & DeleteTaskRequestQuery & DeleteTaskRequestParams\n\nexport type DeleteTaskRequest = {\n headers: DeleteTaskRequestHeaders;\n query: DeleteTaskRequestQuery;\n params: DeleteTaskRequestParams;\n body: DeleteTaskRequestBody;\n}\n\nexport const parseReq = (input: DeleteTaskInput): DeleteTaskRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks/${encodeURIComponent(input['id'])}`,\n headers: { },\n query: { },\n params: { 'id': input['id'] },\n body: { },\n }\n}\n\nexport interface DeleteTaskResponse {}\n\n", "// this file was automatically generated, do not edit\n/* eslint-disable */\n\nexport interface ListTasksRequestHeaders {}\n\nexport interface ListTasksRequestQuery {\n nextToken?: string;\n tags?: {\n [k: string]: string;\n };\n conversationId?: string;\n userId?: string;\n parentTaskId?: string;\n status?: (\"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\")[];\n type?: string;\n}\n\nexport interface ListTasksRequestParams {}\n\nexport interface ListTasksRequestBody {}\n\nexport type ListTasksInput = ListTasksRequestBody & ListTasksRequestHeaders & ListTasksRequestQuery & ListTasksRequestParams\n\nexport type ListTasksRequest = {\n headers: ListTasksRequestHeaders;\n query: ListTasksRequestQuery;\n params: ListTasksRequestParams;\n body: ListTasksRequestBody;\n}\n\nexport const parseReq = (input: ListTasksInput): ListTasksRequest & { path: string } => {\n return {\n path: `/v1/chat/tasks`,\n headers: { },\n query: { 'nextToken': input['nextToken'], 'tags': input['tags'], 'conversationId': input['conversationId'], 'userId': input['userId'], 'parentTaskId': input['parentTaskId'], 'status': input['status'], 'type': input['type'] },\n params: { },\n body: { },\n }\n}\n\nexport interface ListTasksResponse {\n tasks: {\n /**\n * Id of the [Task](#schema_task)\n */\n id: string;\n /**\n * Title describing the task\n */\n title: string;\n /**\n * All the notes related to the execution of the current task\n */\n description: string;\n /**\n * Type of the task\n */\n type: string;\n /**\n * Content related to the task\n */\n data: {\n [k: string]: any;\n };\n /**\n * Status of the task\n */\n status: \"pending\" | \"in_progress\" | \"failed\" | \"completed\" | \"blocked\" | \"paused\" | \"timeout\" | \"cancelled\";\n /**\n * Parent task id is the parent task that created this task\n */\n parentTaskId?: string;\n /**\n * Conversation id related to this task\n */\n conversationId?: string;\n /**\n * Specific user related to this task\n */\n userId?: string;\n /**\n * The timeout date where the task should be failed in the ISO 8601 format\n */\n timeoutAt: string;\n /**\n * Creation date of the task in ISO 8601 format\n */\n createdAt: string;\n /**\n * Updating date of the task in ISO 8601 format\n */\n updatedAt: string;\n /**\n * If the task fails this is the reason behind it\n */\n failureReason?: string;\n /**\n * Set of [Tags](/docs/developers/concepts/tags) that you can attach to a [Task](#schema_task). 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 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\";\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\";\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 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'] },\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 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 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 name?: string;\n version?: string;\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'], 'name': input['name'], 'version': input['version'] },\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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n ownerWorkspace: {\n id: string;\n handle: string | null;\n name: string;\n };\n meta: {\n installs: number;\n views: number;\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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * Tags 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 * 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); Only available for dev bots\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'], '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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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); Only available for dev bots\n */\n url?: string;\n /**\n * Type of the [Bot](#schema_bot) authentication (`iam`)\n */\n authentication?: \"iam\";\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 * Tags of the [Bot](#schema_bot)\n */\n tags?: {\n [k: string]: string;\n };\n blocked?: boolean;\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 /**\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 } | null;\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 } | null;\n };\n states?: {\n [k: string]: {\n /**\n * Type of the [State](#schema_state) (`conversation`, `user`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 configuration type. Set to default if null.\n */\n configurationType?: string | null;\n configuration?: {\n [k: string]: any;\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 * Media files associated with the [Bot](#schema_bot)\n */\n medias?: {\n url: string;\n name: string;\n }[];\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'], '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'], 'subscriptions': input['subscriptions'], 'code': input['code'], 'name': input['name'], 'medias': input['medias'] },\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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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 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\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: { },\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)\n */\n signingSecret: string;\n /**\n * A mapping of integrations to their configuration\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 * 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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\";\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 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'], '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 (exclusive) 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 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 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 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\";\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}\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\";\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}\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 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 }[];\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 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 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 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 };\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 }[];\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\";\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}\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\";\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}\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 }[];\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 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 };\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 };\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 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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], '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'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 };\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 };\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 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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'identifier': input['identifier'], 'channels': input['channels'], 'user': input['user'], 'interfaces': input['interfaces'], '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'], '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 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 identifier?: {\n extractScript?: string | null;\n fallbackHandlerScript?: string | null;\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 } | null;\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 } | 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 sandbox?: {\n identifierExtractScript?: string | null;\n messageExtractScript?: 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'channels': input['channels'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'sandbox': input['sandbox'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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 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 identifier?: {\n extractScript?: string | null;\n fallbackHandlerScript?: string | null;\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 } | null;\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 } | 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 sandbox?: {\n identifierExtractScript?: string | null;\n messageExtractScript?: 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public?: boolean;\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'], 'channels': input['channels'], 'identifier': input['identifier'], 'actions': input['actions'], 'events': input['events'], 'states': input['states'], 'user': input['user'], 'entities': input['entities'], 'interfaces': input['interfaces'], 'sandbox': input['sandbox'], 'secrets': input['secrets'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'], 'url': input['url'], 'public': input['public'], '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 visibility?: \"public\" | \"private\";\n installedByBotId?: string;\n verificationStatus?: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\n search?: string;\n sortBy?: \"popularity\" | \"name\" | \"createdAt\" | \"updatedAt\" | \"installCount\";\n direction?: \"asc\" | \"desc\";\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'], 'visibility': input['visibility'], 'installedByBotId': input['installedByBotId'], 'verificationStatus': input['verificationStatus'], 'search': input['search'], 'sortBy': input['sortBy'], 'direction': input['direction'], '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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 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'], '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 * URL of the [Integration](#schema_integration)\n */\n url: 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 };\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 };\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 * 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 * Idicates if the integration is public. Public integrations are available to all and cannot be updated without creating a new version.\n */\n public: boolean;\n /**\n * Status of the integration version verification\n */\n verificationStatus: \"unapproved\" | \"pending\" | \"approved\" | \"rejected\";\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 };\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 };\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\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'] },\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 };\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 };\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}\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 };\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 };\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}\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 };\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 };\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}\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 /**\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 } | null;\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 } | 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\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'] },\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 };\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 };\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}\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}\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'] },\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 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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 dependencies?: {\n interfaces?: {\n [k: string]: {\n id: string;\n };\n };\n integrations?: {\n [k: string]: {\n id: string;\n };\n };\n };\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\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'], 'dependencies': input['dependencies'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'] },\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 /**\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 } | null;\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 } | 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 dependencies?: {\n interfaces?: {\n [k: string]: {\n id: string;\n } | null;\n };\n integrations?: {\n [k: string]: {\n id: string;\n } | null;\n };\n };\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\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'], 'dependencies': input['dependencies'], 'code': input['code'], 'icon': input['icon'], 'readme': input['readme'], 'title': input['title'], 'description': input['description'] },\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`, `bot` or `task`)\n */\n type: \"conversation\" | \"user\" | \"bot\" | \"task\";\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 };\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 };\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 * 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}\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}\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'] },\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 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 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 };\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 }[];\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}\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 }[];\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 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 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 date: string;\n value: number;\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. 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 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 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 /**\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}\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'] },\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 }[];\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 };\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 };\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 };\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}\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'] },\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\" | \"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 * 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}\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\" | \"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 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}\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'] },\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 };\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\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'] },\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 };\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}\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'] },\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 }[];\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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 * 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'], '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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 * 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'], '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, but can only be set at table creation and not modified later. 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 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 * Use a different factor for the table. Leave empty to use the same as the duplicated 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, but can only be set at table creation and not modified later. 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 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\";\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\";\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\";\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 * 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 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'], 'schema': input['schema'], 'tags': input['tags'], 'isComputeEnabled': input['isComputeEnabled'] },\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, but can only be set at table creation and not modified later. 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 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, but can only be set at table creation and not modified later. 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 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 * 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'], '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 * as gen from './gen'\nimport * as types from './types'\n\ntype ListOperation = keyof {\n [K in types.Operation as types.ClientInputs[K] extends { nextToken?: string | undefined } ? K : never]: null\n}\ntype ListInputs = {\n [K in ListOperation]: Omit<types.ClientInputs[K], 'nextToken'>\n}\ntype PageLister<R> = (t: { nextToken?: string }) => Promise<{ items: R[]; meta: { nextToken?: string } }>\n\nclass 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\n// lots of repeated code here, but I prefer using vertical selection than to make the code more complex - fleur\n\nexport class Lister {\n public constructor(private _client: gen.Client) {}\n public readonly conversations = (props: ListInputs['listConversations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listConversations({ nextToken, ...props }).then((r) => ({ ...r, items: r.conversations }))\n )\n public readonly participants = (props: ListInputs['listParticipants']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listParticipants({ nextToken, ...props }).then((r) => ({ ...r, items: r.participants }))\n )\n public readonly events = (props: ListInputs['listEvents']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listEvents({ nextToken, ...props }).then((r) => ({ ...r, items: r.events }))\n )\n public readonly messages = (props: ListInputs['listMessages']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listMessages({ nextToken, ...props }).then((r) => ({ ...r, items: r.messages }))\n )\n public readonly users = (props: ListInputs['listUsers']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listUsers({ nextToken, ...props }).then((r) => ({ ...r, items: r.users }))\n )\n public readonly tasks = (props: ListInputs['listTasks']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listTasks({ nextToken, ...props }).then((r) => ({ ...r, items: r.tasks }))\n )\n public readonly publicIntegrations = (props: ListInputs['listPublicIntegrations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listPublicIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n )\n public readonly bots = (props: ListInputs['listBots']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listBots({ nextToken, ...props }).then((r) => ({ ...r, items: r.bots }))\n )\n public readonly botIssues = (props: ListInputs['listBotIssues']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listBotIssues({ nextToken, ...props }).then((r) => ({ ...r, items: r.issues }))\n )\n public readonly workspaces = (props: ListInputs['listWorkspaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n )\n public readonly publicWorkspaces = (props: ListInputs['listPublicWorkspaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listPublicWorkspaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.workspaces }))\n )\n public readonly workspaceMembers = (props: ListInputs['listWorkspaceMembers']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listWorkspaceMembers({ nextToken, ...props }).then((r) => ({ ...r, items: r.members }))\n )\n public readonly integrations = (props: ListInputs['listIntegrations']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listIntegrations({ nextToken, ...props }).then((r) => ({ ...r, items: r.integrations }))\n )\n public readonly interfaces = (props: ListInputs['listInterfaces']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listInterfaces({ nextToken, ...props }).then((r) => ({ ...r, items: r.interfaces }))\n )\n public readonly activities = (props: ListInputs['listActivities']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listActivities({ nextToken, ...props }).then((r) => ({ ...r, items: r.activities }))\n )\n public readonly files = (props: ListInputs['listFiles']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listFiles({ nextToken, ...props }).then((r) => ({ ...r, items: r.files }))\n )\n public readonly filePassages = (props: ListInputs['listFilePassages']) =>\n new AsyncCollection(({ nextToken }) =>\n this._client.listFilePassages({ nextToken, ...props }).then((r) => ({ ...r, items: r.passages }))\n )\n}\n"],
5
5
  "mappings": "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",
6
6
  "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_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_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_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", "axios", "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", "crypto", "cryptoLibPolyfill", "array", "cryptoLib", "crypto", "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", "ReferenceNotFoundError", "InvalidQueryError", "RuntimeError", "AlreadyExistsError", "RateLimitedError", "PaymentRequiredError", "QuotaExceededError", "LimitExceededError", "BreakingChangesError", "errorTypes", "errorFrom", "err", "getApiErrorFromObject", "ErrorClass", "UploadFileError", "message", "innerError", "file", "axios", "import_http", "import_https", "isNode", "isBrowser", "isNode", "defaultApiUrl", "defaultTimeout", "apiUrlEnvName", "botIdEnvName", "integrationIdEnvName", "workspaceIdEnvName", "tokenEnvName", "getClientConfig", "clientProps", "props", "readEnvConfig", "headers", "apiUrl", "timeout", "getNodeConfig", "config", "token", "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", "input", "parseReq", "_", "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", "_", "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", "Client", "axiosInstance", "props", "input", "path", "headers", "query", "body", "parseReq", "axiosReq", "toAxiosRequest", "res", "e", "getError", "err", "axios", "errorFrom", "AsyncCollection", "_list", "nextToken", "items", "meta", "item", "props", "limit", "arr", "count", "Lister", "_client", "r", "_100mb", "maxBodyLength", "maxContentLength", "Client", "clientProps", "clientConfig", "getClientConfig", "apiUrl", "headers", "withCredentials", "timeout", "axiosInstance", "axios", "isNode", "http", "https", "esm_default", "Lister", "key", "index", "tags", "contentType", "accessPolicies", "content", "url", "indexing", "expiresAt", "metadata", "publicContentImmediatelyAccessible", "UploadFileError", "res", "err", "buffer", "size", "uint8Array", "file"]
7
7
  }