From fea5f3af5823297204c19c137cca54bd86c799d0 Mon Sep 17 00:00:00 2001 From: "michal.szpruta" Date: Tue, 26 Nov 2024 14:39:19 +0100 Subject: [PATCH] Auto-renew field for services on Cloud does nothing. --- dist/api/models/AccountService.d.ts | 1 - dist/api/models/Service.d.ts | 1 - dist/bitbar-cloud-api-client.js | 4 +-- dist/bitbar-cloud-api-client.js.map | 2 +- dist/bitbar-cloud-api-client.min.js | 4 +-- dist/bitbar-cloud-api-client.min.js.map | 2 +- package-lock.json | 46 ++++++++++++------------- package.json | 2 +- src/api/models/AccountService.ts | 1 - src/api/models/Service.ts | 1 - 10 files changed, 30 insertions(+), 34 deletions(-) diff --git a/dist/api/models/AccountService.d.ts b/dist/api/models/AccountService.d.ts index a9f72edc..47cd3ce3 100644 --- a/dist/api/models/AccountService.d.ts +++ b/dist/api/models/AccountService.d.ts @@ -37,7 +37,6 @@ export declare type AccountService = { activatedById: number; activatedByName: string; active: boolean; - autoRenew: boolean; braintreeId: string; chargeType: ChargeType; createTime: number; diff --git a/dist/api/models/Service.d.ts b/dist/api/models/Service.d.ts index 68ca6eb0..f728387b 100644 --- a/dist/api/models/Service.d.ts +++ b/dist/api/models/Service.d.ts @@ -5,7 +5,6 @@ export declare type Service = { activateTime: number; activated: boolean; archiveTime: number; - autoRenew: boolean; centPrice: number; chargeType: ChargeType; commonId: string; diff --git a/dist/bitbar-cloud-api-client.js b/dist/bitbar-cloud-api-client.js index b8dd95fd..3ed0cdb1 100644 --- a/dist/bitbar-cloud-api-client.js +++ b/dist/bitbar-cloud-api-client.js @@ -1,4 +1,4 @@ -/* @bitbar/cloud-api-client v1.2.11 | Copyright 2024 (c) SmartBear Software and contributors | .git/blob/master/LICENSE */ +/* @bitbar/cloud-api-client v1.2.12 | Copyright 2024 (c) SmartBear Software and contributors | .git/blob/master/LICENSE */ (function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('axios'), require('@bitbar/finka'), require('qs'), require('node-abort-controller')) : typeof define === 'function' && define.amd ? define(['exports', 'axios', '@bitbar/finka', 'qs', 'node-abort-controller'], factory) : @@ -10,7 +10,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios); var finka__default = /*#__PURE__*/_interopDefaultLegacy(finka); - var version = "1.2.11"; + var version = "1.2.12"; /****************************************************************************** Copyright (c) Microsoft Corporation. diff --git a/dist/bitbar-cloud-api-client.js.map b/dist/bitbar-cloud-api-client.js.map index b39f5b27..532a678d 100644 --- a/dist/bitbar-cloud-api-client.js.map +++ b/dist/bitbar-cloud-api-client.js.map @@ -1 +1 @@ -{"version":3,"file":"bitbar-cloud-api-client.js","sources":["../src/Filter.ts","../src/finka.ts","../src/FilterBuilder.ts","../src/api/models/HTTP.ts","../src/api/APIEntity.ts","../src/api/APIList.ts","../src/api/APIResource.ts","../src/api/APIListCleanupConfigurations.ts","../src/api/APIResourceCleanupConfiguration.ts","../src/api/APIAdminListDevices.ts","../src/api/APIAdminListNotificationPlans.ts","../src/api/APIAdminListRuns.ts","../src/api/APIAdminListServices.ts","../src/api/decorators/NonRequestable.ts","../src/api/APIAdminListStatistics.ts","../src/api/APIAdminResourceAccount.ts","../src/api/APIAdminResourceAccountService.ts","../src/api/APIAdminResourceCluster.ts","../src/api/APIAdminResourceDevice.ts","../src/api/APIAdminResourceDeviceModel.ts","../src/api/class/InputFileset.ts","../src/api/class/Images.filter.ts","../src/api/class/NonMedia.filter.ts","../src/api/class/OutputFileset.ts","../src/api/APIResourceDeviceSessionCommon.ts","../src/api/factory/postAdminDeviceSessionChangeBillable.ts","../src/api/APIAdminResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceDeviceTime.ts","../src/api/APIAdminResourceFramework.ts","../src/api/APIAdminResourceLicense.ts","../src/api/APIAdminResourceNotificationPlan.ts","../src/api/factory/postDeviceRunIds.ts","../src/api/APIAdminResourceRunStandalone.ts","../src/api/APIAdminResourceService.ts","../src/api/APIAdminResourceUserAccount.ts","../src/api/APIResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceUser.ts","../src/api/APIResourceAccessGroup.ts","../src/api/APIResourceDeviceGroup.ts","../src/api/APIResourceFile.ts","../src/api/APIResourceDeviceSession.ts","../src/api/APIResourceRunCommon.ts","../src/api/APIResourceRun.ts","../src/api/APIResourceProject.ts","../src/api/APIAdminResource.ts","../src/api/APIListDevices.ts","../src/api/APIListProperties.ts","../src/api/APIListServices.ts","../src/api/APIListUsers.ts","../src/api/APIResourceBillingPeriod.ts","../src/api/APIResourceAccount.ts","../src/api/APIResourceBroker.ts","../src/api/APIResourceDevice.ts","../src/api/APIResourceLabelGroup.ts","../src/api/APIListFiles.ts","../src/api/APIResourceChannel.ts","../src/api/APIListNotifications.ts","../src/api/APIListRuns.ts","../src/api/APIListSmartbearTunnels.ts","../src/api/APIResourceNotification.ts","../src/api/APIResourceUser.ts","../src/api/APIResourceUserSession.ts","../src/API.ts","../src/CloudAPIClient.ts","../src/api/models/AccessGroup.ts","../src/api/models/AccountService.ts","../src/api/models/AdminDevice.ts","../src/api/models/AdminError.ts","../src/api/models/AdminFrameworkStatistics.ts","../src/api/models/BillingPeriod.ts","../src/api/models/Broker.ts","../src/api/models/Cluster.ts","../src/api/models/Device.ts","../src/api/models/DeviceModelCriterion.ts","../src/api/models/DeviceModelPool.ts","../src/api/models/DeviceProblem.ts","../src/api/models/DeviceSession.ts","../src/api/models/Enum.ts","../src/api/models/License.ts","../src/api/models/Maintenance.ts","../src/api/models/Notification.ts","../src/api/models/Project.ts","../src/api/models/Screenshot.ts","../src/api/models/Service.ts","../src/api/models/SharedResource.ts","../src/api/models/TestCaseRun.ts","../src/api/models/TestRun.ts","../src/api/models/User.ts","../src/api/models/UserFile.ts","../src/api/models/VisualTest.ts"],"sourcesContent":["/**\n * Filter\n */\n\nexport class Filter {\n name: string;\n value: T;\n operand: string;\n\n constructor(name: string, value: T, operand: string) {\n this.name = name;\n this.value = value;\n this.operand = operand;\n }\n}\n\nexport default Filter;\n","import finka from '@bitbar/finka';\n\nfinka();\n\nexport default {};\n","import {Filter} from './Filter';\nimport './finka';\n\n/**\n * FilterBuilder\n *\n * Builds filter string according to Bitbar Cloud backend convention\n */\nexport class FilterBuilder {\n\n private readonly filters: Array = [];\n\n gt(name: string, value: number): this {\n return this.add(name, value, 'gt');\n }\n\n\n lt(name: string, value: number): this {\n return this.add(name, value, 'lt');\n }\n\n after(name: string, value: Date | number): this {\n return this.add(name, value, 'after', true);\n }\n\n afterorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'afterorequal', true);\n }\n\n before(name: string, value: Date | number): this {\n return this.add(name, value, 'before', true);\n }\n\n beforeorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'beforeorequal', true);\n }\n\n on(name: string, value: any): this {\n return this.add(name, value, 'on');\n }\n\n eq(name: string, value: any): this {\n return this.add(name, value, 'eq');\n }\n\n contains(name: string, value: string): this {\n return this.add(name, value, 'contains');\n }\n\n like(name: string, value: string): this {\n return this.add(name, value, 'like');\n }\n\n notlike(name: string, value: string): this {\n return this.add(name, value, 'notlike');\n }\n\n isnull(name: string): this {\n return this.add(name, undefined, 'isnull');\n }\n\n isnotnull(name: string): this {\n return this.add(name, undefined, 'isnotnull');\n }\n\n in(name: string, value: Array): this {\n return this.add(name, value, 'in', true);\n }\n\n notin(name: string, value: Array): this {\n return this.add(name, value, 'notin', true);\n }\n\n raw(filter: Filter | string | Filter[] | string[]): void {\n const filters = Array.wrap(filter);\n for (const filter of filters) {\n if (this.isFilterPart(filter)) {\n this.filters.push(filter);\n } else {\n throw new SyntaxError(`Filter ${filter} has invalid syntax`);\n }\n }\n }\n\n\n /**\n * Check if given string is proper filter part\n */\n isFilterPart(str: string): boolean {\n return /^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(str);\n }\n\n toString(): string {\n const parts: Array = [];\n\n let part: string,\n val: string;\n\n for (const filter of this.filters) {\n if (typeof filter === 'string') {\n part = filter;\n } else {\n val = '';\n if (filter.value.length > 1 || typeof filter.value[0] !== 'undefined') {\n val = `_${filter.value.join('|')}`;\n }\n part = `${filter.name}_${filter.operand}${val}`;\n }\n parts.push(part);\n }\n\n return parts.join(';');\n }\n\n /**\n * Add filter to filters list\n * @param name {string} Name\n * @param value {*} Value\n * @param operand {string} Operand\n * @param [checkNull=false] {boolean} Check null?\n * @returns {FilterBuilder}\n */\n private add(name: string, value: T, operand: string, checkNull = false): this {\n\n let _value = Array.wrap(value);\n\n if (_value.length === 0) {\n return this;\n }\n\n // auto-convert\n for (let i = 0; i < _value.length; i++) {\n const v = _value[i];\n if (typeof v === 'object' && v instanceof Date) {\n _value[i] = v.getTime();\n }\n }\n\n let isNull = false;\n if (checkNull) {\n // check null existence\n for (const v of _value) {\n if (v !== null) {\n continue;\n }\n isNull = true;\n }\n\n if (isNull) {\n _value = _value.filter((item: any) => item !== null);\n operand += 'ornull';\n }\n }\n\n if (operand.endsWith('ornull') && _value.length === 0) {\n operand = 'isnull';\n }\n\n // add filter\n this.filters.push(new Filter>(name, _value, operand));\n\n return this;\n }\n}\n\n\nexport default FilterBuilder;\n","import {Method} from 'axios';\n\n\n/**\n * Allowed methods\n *\n * @constant\n * @type {Array}\n * @default\n */\nexport const ALLOWED_HTTP_METHODS: Array = ['GET', 'POST', 'DELETE'];\n\nexport type QueryParam = string | number | boolean;\nexport type QueryParams = Record>;\n\nexport enum APIOrder {\n asc = 'a',\n desc = 'd'\n}\n\nexport interface CollectionQueryParams extends QueryParams {\n filter: string;\n limit: number;\n offset: number;\n sort: string;\n search: string;\n}\n\nexport type CollectionBasicQueryParams = Omit\n\nexport type NoQueryParams = {\n [key in any]: never;\n}\n\nexport type CollectionResponse = {\n data: Array;\n empty: boolean;\n id: number;\n limit: number;\n next: string;\n offset: number;\n previous: string;\n search: string;\n sort: string;\n total: number;\n}\n\nexport type SimpleCollectionResponse = Pick, 'data' | 'id'>;\nexport type NoData = void;\n","import {AxiosRequestConfig, AxiosResponse, Method} from 'axios';\nimport {stringify} from 'qs';\nimport {API} from '../API';\nimport {ALLOWED_HTTP_METHODS, QueryParams} from './models/HTTP';\nimport {AbortController} from 'node-abort-controller';\n\n\n/**\n * @typeParam RESPONSE HTTP Response return type.\n * @typeParam QUERY_PARAMS Allowed Query Params\n * @typeParam DATA Allowed Data Object\n */\nexport class APIEntity {\n\n root: API;\n\n protected stack: Array = [];\n protected requestConfig: AxiosRequestConfig = {};\n protected ALLOWED_HTTP_METHODS: Array = ALLOWED_HTTP_METHODS;\n protected abortController: AbortController;\n\n /**\n * Constructor\n * @param {APIEntity|object} [parent] - Specifies a parent from which should be inherited properties\n */\n constructor(parent: APIEntity | API) {\n if (parent instanceof APIEntity) {\n this.root = parent.root;\n\n if (Array.isArray(parent.stack)) { //???\n this.push(...parent.stack);\n }\n\n if (parent.requestConfig != null) {\n this.setRequestConfig(parent.requestConfig);\n }\n } else {\n this.root = parent;\n }\n this.abortController = new AbortController();\n }\n\n abortRequest() {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n push(...items: Array): this {\n this.stack = this.stack.concat(items);\n return this;\n }\n\n shift(): this {\n this.stack.shift();\n return this;\n }\n\n restack(...items: Array): this {\n this.stack = items;\n return this;\n }\n\n /**\n * Get first element of the stack\n */\n get first(): string | number {\n return this.stack[0];\n }\n\n /**\n * Get last element of the stack\n */\n get last(): string | number {\n return this.stack[this.stack.length - 1];\n }\n\n /**\n * Set last element of the stack\n */\n set last(val) {\n this.stack[this.stack.length - 1] = val;\n }\n\n toUrl(absolute = false): string {\n let url = `/${this.stack.join('/')}`;\n\n if (absolute) {\n url = this.root.baseUrl + url;\n }\n\n return url;\n }\n\n setRequestConfig(requestConfig: AxiosRequestConfig): this {\n Object.deepAssign(this.requestConfig, requestConfig);\n return this;\n }\n\n removeRequestConfig(key: keyof AxiosRequestConfig): this {\n delete this.requestConfig[key];\n return this;\n }\n\n headers(headers: Record): this {\n const _headers: Record = {};\n\n // Unify/Standarize headers keys\n for (const key in headers) {\n const newKey = key.replace(/(?:^|-)([a-z])/g, (letter) => letter.toUpperCase());\n _headers[newKey] = headers[key];\n }\n\n return this.setRequestConfig({\n headers: _headers\n });\n }\n\n /**\n * Set HTTP method\n */\n method(name: Method): this {\n const NAME: Uppercase = >name.toLocaleUpperCase();\n const isAllowed: boolean = this.ALLOWED_HTTP_METHODS.indexOf(NAME) > -1;\n\n if (!isAllowed) {\n throw new Error(`Method '${NAME}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(', ')}`);\n }\n\n return this.setRequestConfig({\n method: NAME\n });\n }\n\n /**\n * Set GET as HTTP method\n */\n get(): this {\n return this.method('GET');\n }\n\n /**\n * Set POST as HTTP method\n */\n post(): this {\n return this.method('POST');\n }\n\n /**\n * Set DELETE as HTTP method\n */\n delete(): this {\n return this.method('DELETE');\n }\n\n /**\n * Set params\n */\n params(params: Pick): this {\n this.setRequestConfig({params});\n return this;\n }\n\n getParams(): Partial {\n return this.requestConfig.params == null ? {} : this.requestConfig.params;\n }\n\n removeParam(key: keyof QUERY_PARAMS): this {\n delete this.requestConfig.params[key];\n return this;\n }\n\n /**\n * Set data\n */\n data(data: DATA): this {\n this.setRequestConfig({data});\n return this;\n }\n\n /**\n * Set JSON data\n */\n jsonData(data: DATA): this {\n this.headers({\n 'Content-Type': 'application/json'\n }).data(data);\n return this;\n }\n\n /**\n * Set form data\n */\n formData(data: DATA): this {\n this.headers({\n 'Content-Type': 'multipart/form-data'\n }).data(data);\n return this;\n }\n\n /**\n * Send request\n */\n send(): Promise> {\n const requestConfig = Object.deepAssign({}, this.requestConfig, {\n url: `/${this.stack.join('/')}`,\n signal: this.abortController.signal\n });\n\n // Set default headers\n if (requestConfig.headers == null) {\n requestConfig.headers = {};\n }\n\n // Set default Content-Type\n if (requestConfig.headers['Content-Type'] == null) {\n requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n\n // Convert data if needed\n if (requestConfig.method === 'POST' &&\n (requestConfig.headers['Content-Type']).startsWith('application/x-www-form-urlencoded') &&\n requestConfig.data != null) {\n requestConfig.data = this.paramsSerializer(requestConfig.data);\n }\n\n if (requestConfig.params) {\n requestConfig.paramsSerializer = this.paramsSerializer;\n }\n\n // Send request\n return this.root.axios.request(requestConfig);\n }\n\n protected paramsSerializer(params: DATA | QUERY_PARAMS): string {\n return stringify(params, {\n arrayFormat: 'brackets'\n });\n }\n}\n\n\nexport default APIEntity;\n","import {AxiosResponse} from 'axios';\nimport {FilterBuilder} from '../FilterBuilder'\nimport {APIEntity} from './APIEntity'\nimport {APIOrder, CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, NoQueryParams, SimpleCollectionResponse} from './models/HTTP';\n\n\nexport const DEFAULT_LIMIT: number = 20;\nexport const DEFAULT_OFFSET: number = 0;\n\nexport class APIList\n extends APIEntity | SimpleCollectionResponse, QUERY_PARAMS, DATA> {\n\n /**\n * Shortcut for sending data POST\n */\n create(data: DATA): Promise> {\n return this.post().data(data).send();\n }\n\n /**\n * Sets sorting\n *\n * @public\n * @param {string} name - Name of the column according to which the data will be sorted\n * @param {string} [order=a] - Sorting order. Possibilities: 'a', 'd'\n */\n sort(name: string, order: APIOrder = APIOrder.asc): this {\n return this.params<'sort'>({\n sort: `${name}_${order}`\n });\n }\n\n /**\n * Sets limit\n *\n * @public\n * @param {number} [limit=DEFAULT_LIMIT] - Limit to be set\n * @returns this\n */\n limit(limit = DEFAULT_LIMIT): this {\n if (!Number.isNatural(limit)) {\n throw new Error(`Limit '${limit}' is invalid!`);\n }\n\n return this.params<'limit'>({\n limit\n });\n }\n\n /**\n * Gets limit\n *\n * @public\n * @returns number\n */\n getLimit(): number {\n const params = this.getParams();\n return params.limit == null ? DEFAULT_LIMIT : params.limit;\n }\n\n /**\n * Disables limit\n *\n * @public\n * @returns this\n */\n noLimit(): this {\n return this.limit(0);\n }\n\n /**\n * Sets offset\n *\n * @public\n * @param {number} [offset=DEFAULT_OFFSET] - Offset to be set\n * @returns this\n */\n offset(offset: number = DEFAULT_OFFSET): this {\n if (!Number.isNatural(offset)) {\n throw new Error(`Offset '${offset}' is invalid!`);\n }\n\n return this.params<'offset'>({\n offset\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE records between range\n *\n * @public\n * @param {number} from - From index\n * @param {number} to - To index\n * @returns this\n */\n between(from: number, to: number): this {\n if (!Number.isNatural(from)) {\n throw new Error(`From '${from}' is invalid!`);\n }\n\n if (!Number.isNatural(to)) {\n throw new Error(`To '${to}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: from,\n limit: 1 + (to - from)\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE one record on given index\n *\n * @public\n * @param {number} idx - Index\n * @returns this\n */\n only(idx: number): this {\n if (!Number.isNatural(idx)) {\n throw new Error(`Index '${idx}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: idx,\n limit: 1\n });\n }\n\n /**\n * Gets current limit and sets offset so that will request from BE one page of records\n *\n * @public\n * @param {number} [page=1] - Page number (counted from 1)\n * @returns this\n */\n page(page = 1): this {\n if (!Number.isNatural(page) || page == 0) {\n throw new Error(`Page '${page}' is invalid!`);\n }\n\n const limit = this.getLimit();\n const offset = (page - 1) * limit;\n\n return this.params<'offset' | 'limit'>({\n offset,\n limit\n });\n }\n\n /**\n * Sets search\n *\n * query param is working like SQL LIKE. BE sets wraps around query with %, and replaces every white character\n * with %. So e.g. if query='my device', then it's searching for '%my%device%' in DB.\n *\n * @public\n * @param {string} query - Query to search for\n * @returns this\n */\n search(query: string): this {\n if (typeof query !== 'string') {\n throw new Error('Search query must be a string!');\n }\n\n return this.params<'search'>({\n search: query\n });\n }\n\n /**\n * Sets filter\n *\n * @public\n * @param {FilterBuilder|string} filter - Filter\n * @returns this\n */\n filter(filter: FilterBuilder | string): this {\n const isFilterBuilder = filter instanceof FilterBuilder;\n\n if (typeof filter !== 'string' && !isFilterBuilder) {\n throw new Error('Filter must be either string or instance of FilterBuilder');\n }\n\n return this.params<'filter'>({\n filter: filter.toString()\n });\n }\n\n /**\n * Alias for 'noLimit'\n *\n * @public\n * @see noLimit\n * @returns this\n */\n all: typeof APIList.prototype.noLimit = this.noLimit;\n\n /**\n * Alias for 'between'\n *\n * @public\n * @param {number} from - From idx\n * @param {number} to - To idx\n * @returns this\n */\n cut: typeof APIList.prototype.between = this.between;\n}\n\nexport default APIList;\n","import {APIEntity} from './APIEntity'\nimport {QueryParams} from './models/HTTP';\n\n\n/**\n * APIResource\n *\n * @class\n * @extends APIEntity\n */\nexport class APIResource\n extends APIEntity {\n}\n\n\nexport default APIResource;\n","import {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {CleanupConfigurationData, SpecificCleanupConfigurationQueryParams} from './models/CleanupConfiguration';\nimport {DeviceCleanupConfiguration} from './models/Device';\nimport {CollectionQueryParams, NoData} from './models/HTTP';\n\n\nexport class APIListCleanupConfigurations extends APIList {\n\n /**\n * /cleanup-configurations\n */\n constructor(parent: APIAdminListDevices) {\n super(parent);\n this.push('cleanup-configurations');\n }\n\n // /cleanup-configurations/specific\n specific() {\n return new APIResource, NoData>(this)\n .push('specific');\n }\n\n}\n\nexport default APIListCleanupConfigurations\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIResource} from './APIResource'\nimport {CleanupConfigurationSpecificData, DeviceCleanupConfiguration} from './models/Device';\nimport {NoData} from './models/HTTP';\n\n\nexport class APIResourceCleanupConfiguration extends APIResource {\n //shuldn't it be APIAdminResourceCleanupConfiguration\n\n /**\n * admin/devices/cleanup-configurations/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('cleanup-configurations', id);\n }\n\n // admin/devices/cleanup-configurations/specific\n devices() {\n return new APIResource(this).push('devices');\n }\n\n}\n\nexport default APIResourceCleanupConfiguration\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIListCleanupConfigurations} from './APIListCleanupConfigurations';\nimport {APIResourceCleanupConfiguration} from './APIResourceCleanupConfiguration';\nimport {AdminDevice, AdminDeviceData, AdminDevicesQueryParams} from './models/AdminDevice';\n\n\nexport class APIAdminListDevices extends APIList {\n\n /**\n * /admin/devices\n */\n constructor(parent: APIAdminResource | API) {\n super(parent);\n this.push('admin', 'devices');\n }\n\n // /admin/devices/cleanup-configurations\n cleanupConfigurations() {\n return new APIListCleanupConfigurations(this);\n }\n\n // /admin/devices/cleanup-configurations/{id}\n cleanupConfiguration(id: number) {\n return new APIResourceCleanupConfiguration(this, id);\n }\n\n}\n\nexport default APIAdminListDevices;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {NotificationPlan, NotificationPlanData} from './models/NotificationPlan';\n\n\nexport class APIAdminListNotificationPlans extends APIList {\n\n /**\n * /admin/notification-plans\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'notification-plans');\n }\n\n // /notification-plans/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n // /notification-plans/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\n\nexport default APIAdminListNotificationPlans\n","import {Method} from 'axios';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource';\nimport {AdminTestRun, RunsConfigParams} from './models/AdminTestRun';\nimport {TestRunConfig} from './models/TestRun';\n\nexport class APIAdminListRuns extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /admin/runs\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'runs');\n }\n\n // /runs/config\n config() {\n const apiResource = new APIResource(this);\n apiResource.restack('runs', 'config');\n return apiResource;\n }\n\n}\n\n\nexport default APIAdminListRuns\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {AdminServicesParams, Service} from './models/Service';\n\n\nexport class APIAdminListServices extends APIList {\n\n /**\n * /admin/services\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'services');\n }\n\n active() {\n const apiList = new APIList(this);\n apiList.params<'notArchived'>({\n notArchived: true\n });\n return apiList;\n }\n\n activated() {\n const apiList = this.active();\n apiList.params<'filter' | 'limit' | 'sort'>({\n filter: 'activated_eq_true',\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n inUse() {\n const apiList = new APIList(this);\n apiList.params<'inUse' | 'limit' | 'sort'>({\n inUse: true,\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n byPrice() {\n const apiList = new APIList(this);\n apiList.params<'sort'>({\n sort: 'centPrice_a'\n })\n return apiList;\n }\n\n}\n\nexport default APIAdminListServices;\n","import {AxiosResponse} from 'axios';\n\nexport function NonRequestable(constructor: T) {\n return class extends constructor {\n send(): Promise {\n return Promise.reject();\n }\n };\n}\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AdminDeviceSessionStatistics, AdminStatisticsParams} from './models/AdminDeviceSessionStatistics';\nimport {AdminFrameworkStatistics} from './models/AdminFrameworkStatistics';\nimport {NoData} from './models/HTTP';\n\n\n@NonRequestable\nexport class APIAdminListStatistics extends APIList {\n\n /**\n * /admin/statistics\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'statistics');\n }\n\n // /admin/statistics/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /admin/statistics/frameworks\n frameworks() {\n return new APIList(this).push('frameworks');\n }\n\n\n}\n\n\nexport default APIAdminListStatistics\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {Account} from './models/Account';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleParams} from './models/Role';\nimport {AccountService} from './models/AccountService';\nimport {AccountPreferences, AccountPreferencesData} from './models/AccountPreference';\n\n\nexport class APIAdminResourceAccount extends APIResource {\n\n /**\n * /admin/accounts/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'accounts', id);\n }\n\n // /admin/accounts/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/accounts/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n // //admin/accounts/{id}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n}\n\nexport default APIAdminResourceAccount\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {AccountService} from './models/AccountService';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIAdminResourceAccountService extends APIResource {\n\n /**\n * /admin/account-services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'account-services', id);\n }\n\n // /account-services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /account-services/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate').post();\n }\n\n}\n\nexport default APIAdminResourceAccountService\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice} from './models/AdminDevice';\nimport {Cluster, ClusterData, ClusterParams} from './models/Cluster';\n\n\nexport class APIAdminResourceCluster extends APIResource {\n\n /**\n * /clusters/{id}\n */\n constructor(parent: API | APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('clusters', id);\n }\n\n // /clusters/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n}\n\nexport default APIAdminResourceCluster\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice, AdminDeviceData} from './models/AdminDevice';\nimport {AdminDeviceSession} from './models/AdminDeviceSession';\nimport {\n DeviceCleanupConfiguration,\n DeviceCleanupConfigurationData,\n DeviceLabelData,\n DeviceProperty\n} from './models/Device';\nimport {NoData, NoQueryParams, QueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDevice extends APIResource {\n\n /**\n * /admin/devices/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'devices', id);\n }\n\n // /admin/devices/{id}/cleanup-configuration\n cleanupConfiguration() {\n return new APIResource(this).push('cleanup-configuration');\n }\n\n // /admin/devices/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /admin/devices/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n // /admin/devices/{id}/queue\n queue() {\n return new APIList(this).push('queue');\n }\n\n}\n\nexport default APIAdminResourceDevice\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser, DeviceBrowserData} from './models/Browser';\nimport {DeviceModel, DeviceModelData} from './models/DeviceModel';\nimport {NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDeviceModel extends APIResource {\n\n /**\n * /admin/device-models/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'device-models', id);\n }\n\n // /admin/device-models/{id}/browsers\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIAdminResourceDeviceModel;\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {NoData} from '../models/HTTP';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\n\n\n@NonRequestable\nexport class InputFileset extends APIResource {\n\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('input-file-set');\n }\n\n /**\n * @endpoint /input-file-set/files\n */\n files() {\n return new APIList(this).push('files');\n }\n\n /**\n * @endpoint /input-file-set/files.zip\n */\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n}\n\nexport default InputFileset\n","// Create image files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const IMAGE_FILES_FILTER = new FilterBuilder();\nIMAGE_FILES_FILTER.eq('state', 'READY');\nIMAGE_FILES_FILTER.in('mimetype', [\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif'\n]);\nIMAGE_FILES_FILTER.notlike('name', 'action-%%');\n","// Create non-media files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const NON_MEDIA_FILES_FILTER = new FilterBuilder();\nNON_MEDIA_FILES_FILTER.eq('state', 'READY');\nNON_MEDIA_FILES_FILTER.notin('mimetype', [\n // no images\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif',\n\n // no videos\n 'video/mp4', 'video/avi', 'video/webm', 'video/ogg', 'video/mpeg'\n]);\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {Screenshot} from '../models/Screenshot';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\nimport {IMAGE_FILES_FILTER} from './Images.filter';\nimport {NON_MEDIA_FILES_FILTER} from './NonMedia.filter';\n\n\n@NonRequestable\nexport class OutputFileset extends APIResource {\n\n /**\n * /output-file-set\n *\n * Constructor\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('output-file-set');\n }\n\n // /output-file-set/files\n files() {\n return new APIList(this).push('files');\n }\n\n // /output-file-set/files/{id}\n file(id: number) {\n return new APIResource(this).push('files', id);\n }\n\n // /output-file-set/files.zip\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n\n // /output-file-set/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /output-file-set/screenshots/{id}\n screenshot(id: number) {\n return new APIResource(this).push('screenshots', id);\n }\n\n // /output-file-set/screenshots/{id}/file/{id}\n screenshotFile(id: number) {\n return this.screenshot(id).push('file');\n }\n\n // Filter files out by ready videos\n videos() {\n return this.files().params({\n filter: 's_state_eq_READY',\n tag: ['video']\n });\n }\n\n // Filter files out by non-media\n nonMediaFiles() {\n return this.files().filter(NON_MEDIA_FILES_FILTER);\n }\n\n performance() {\n return this.files().params({\n tag: ['performance']\n })\n }\n\n images() {\n return this.files().filter(IMAGE_FILES_FILTER);\n }\n\n}\n\nexport default OutputFileset\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {InputFileset} from './class/InputFileset'\nimport {OutputFileset} from './class/OutputFileset'\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\nimport {\n DeviceSession,\n DeviceSessionCommand,\n DeviceSessionStep,\n SessionQueryParams,\n SessionRunStepQueryParams,\n SessionStepQueryParams\n} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot} from './models/Screenshot';\nimport {TestCaseRun} from './models/TestCaseRun';\n\nexport class APIResourceDeviceSessionCommon extends APIResource implements DeviceSessionCommon {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/commands\n commands() {\n return new APIList(this).push('commands');\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /device-sessions/{id}/screenshots/{id}\n screenshot(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('screenshots', id);\n }\n\n // /device-sessions/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /device-sessions/{id}/steps/{id}\n step(id: number | 'current') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('steps', id);\n }\n\n // /device-sessions/{id}/steps/current\n currentStep() {\n return this.step('current');\n }\n\n // /device-sessions/{id}/test-case-runs\n testCaseRuns() {\n return new APIList(this).push('test-case-runs');\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n logs() {\n return new APIResource(this).push('logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n clusterLogs() {\n return new APIResource(this).push('cluster-logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n}\n\nexport default APIResourceDeviceSessionCommon\n","import {APIResource} from '../APIResource';\nimport APIResourceDeviceSessionCommon from '../APIResourceDeviceSessionCommon';\nimport {DeviceSession} from '../models/DeviceSession';\n\nexport function postAdminDeviceSessionChangeBillable(parent: APIResourceDeviceSessionCommon, billable: boolean) {\n const apiResource = new APIResource(parent);\n const deviceSessionId = apiResource.last;\n\n return apiResource.restack('admin', 'device-sessions', deviceSessionId, 'changebillable').params({\n billable\n }).post();\n}\n\nexport default postAdminDeviceSessionChangeBillable;\n","import {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {postAdminDeviceSessionChangeBillable} from './factory/postAdminDeviceSessionChangeBillable';\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\n\n\n/**\n * APIAdminResourceDevice\n *\n *\n * It will require more work to decouple from regular session\n */\nexport class APIAdminResourceDeviceSessionStandalone extends APIResourceDeviceSessionCommon implements DeviceSessionCommon {\n\n // /admin/device-sessions/{id}/changebillable\n changeBillable(billable: boolean) {\n return postAdminDeviceSessionChangeBillable(this, billable);\n }\n}\n\nexport default APIAdminResourceDeviceSessionStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {DeviceTimeCountSessionReportEntry} from './models/DeviceTimeCountSessionReportEntry';\nimport {DeviceTimeStepTimeReportEntry} from './models/DeviceTimeStepTimeReportEntry';\nimport {NoData} from './models/HTTP';\nimport {DeviceTimeParams, UserDeviceTime} from './models/UserDeviceTime';\n\nexport class APIAdminResourceDeviceTime extends APIList {\n\n /**\n * /admin/device-time\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'device-time');\n }\n\n // /device-time/count-session-report\n countSessionReport() {\n return new APIList(this).push('count-session-report');\n }\n\n // /device-time/step-time-report\n stepTimeReport() {\n return new APIList(this).push('step-time-report');\n }\n\n}\n\nexport default APIAdminResourceDeviceTime\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Framework, FrameworkConfigData, FrameworkEditData} from './models/Framework';\nimport {NoQueryParams} from './models/HTTP';\nimport {ProjectJobConfig} from './models/ProjectJobConfig';\nimport {Role} from './models/Role';\n\nexport class APIAdminResourceFramework extends APIResource {\n\n /**\n * /admin/frameworks/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'frameworks', id);\n }\n\n // /admin/frameworks/{id}/config\n config() {\n return new APIResource(this).push('config');\n }\n\n // /admin/frameworks/{id}/required-roles\n requiredRoles() {\n return new APIList(this).push('required-roles');\n }\n\n}\n\nexport default APIAdminResourceFramework\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\n\nexport class APIAdminResourceLicense extends APIResource {\n\n /**\n * /licenses/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'licenses', id);\n }\n\n // /licenses/{id}/activate\n activate() {\n return new APIResource(this).push('activate');\n }\n\n // /licenses/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate');\n }\n\n // /licenses/{id}/resend\n resend() {\n return new APIResource(this).push('resend');\n }\n\n // /licenses/{id}/download\n download() {\n return new APIResource(this).push('download');\n }\n\n}\n\nexport default APIAdminResourceLicense\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Notification} from './models/Notification';\nimport {NotificationPlan, NotificationPlanEditData} from './models/NotificationPlan';\n\nexport class APIAdminResourceNotificationPlan extends APIResource {\n\n /**\n * /admin/notification-plans/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'notification-plans', id);\n }\n\n // /admin/notification-plans/{id}/check\n check() {\n return new APIList(this).push('check');\n }\n\n // /admin/notification-plans/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n // /admin/notification-plans/{id}/execute\n execute() {\n return new APIResource(this).push('execute');\n }\n\n}\n\nexport default APIAdminResourceNotificationPlan\n","import {APIEntity} from '../APIEntity';\nimport {APIResource} from '../APIResource';\nimport {BuildLogsData, BuildLogsParams} from '../models/UserFile';\n\nexport function postDeviceRunIds(parent: APIEntity, name: string, ids?: Array) {\n const a = new APIResource(parent).push(name);\n\n if (ids != null) {\n a.params<'deviceRunIds'>({\n deviceRunIds: ids\n });\n }\n\n return a.post();\n}\n\nexport default postDeviceRunIds;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun, RunChangeBillableParams, RunChangePriorityParams} from './models/AdminTestRun';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceRunStandalone extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/changebillable\n changeBillable(billable: boolean) {\n return new APIResource(this).push('changebillable').post().params({\n billable\n });\n }\n\n // /runs/{id}/changepriority\n changePriority(priority?: number) {\n const resource = new APIResource(this).push('changepriority');\n if (priority) {\n resource.post().data({\n priority\n });\n }\n return resource;\n }\n\n // /admin/runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n}\n\nexport default APIAdminResourceRunStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceActivateData} from './models/Service';\n\n\nexport class APIAdminResourceService extends APIResource {\n\n /**\n * /services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'services', id);\n }\n\n // /services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n}\n\nexport default APIAdminResourceService\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccountService, AccountServiceData} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleData} from './models/Role';\nimport {User, UserUpdateAccount} from './models/User';\n\n@NonRequestable\nexport class APIAdminResourceUserAccount extends APIResource {\n\n /**\n * /account\n */\n constructor(parent: APIAdminResourceUser) {\n super(parent);\n this.push('account');\n }\n\n // /account/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /account/roles/{id}\n role(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('roles', id);\n }\n\n // /account-services\n services() {\n const a = new APIList(this);\n a.last += '-services';\n return a;\n }\n\n // /update-account\n update() {\n const a = new APIResource(this);\n a.last = 'update-account';\n return a.post();\n }\n\n}\n\nexport default APIAdminResourceUserAccount\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {InputFileset} from './class/InputFileset';\nimport {OutputFileset} from './class/OutputFileset';\nimport {DeviceSessionStandalone} from './interface/DeviceSessionStandalone';\nimport {Connection, ConnectionData} from './models/Connection';\nimport {DeviceSession, DeviceSessionRelease} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {VisualTest} from './models/VisualTest';\n\nexport class APIResourceDeviceSessionStandalone extends APIResource implements DeviceSessionStandalone {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIResourceUser | APIAdminResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n // /device-sessions/{id}/connections/{id}\n connection(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('connections', id);\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/visual-tests/images\n visualTestsImages() {\n return new APIList(this).push('visual-tests', 'images');\n }\n\n}\n\nexport default APIResourceDeviceSessionStandalone\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIAdminResourceUserAccount} from './APIAdminResourceUserAccount';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\nimport {Role, RoleParams} from './models/Role';\nimport {User} from './models/User';\n\n\n@NonRequestable\nexport class APIAdminResourceUser extends APIResource {\n\n /**\n * /admin/users/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'users', id);\n }\n\n // /admin/users/{id}/disable\n disable() {\n return new APIResource(this).push('disable');\n }\n\n // /admin/users/{id}/enable\n enable() {\n return new APIResource(this).push('enable');\n }\n\n // /admin/users/{id}/licenses\n licenses() {\n return new APIList(this).push('licenses');\n }\n\n // /admin/users/{id}/resend-activation\n resendActivation() {\n return new APIResource(this).push('resend-activation').post();\n }\n\n // /admin/users/{id}/account\n account() {\n return new APIAdminResourceUserAccount(this);\n }\n\n // /admin/users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /admin/users/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/users/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n}\n\nexport default APIAdminResourceUser;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccessGroup} from './models/AccessGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {SharedResource} from './models/SharedResource';\nimport {User, UserData} from './models/User';\n\nexport class APIResourceAccessGroup extends APIResource {\n\n /**\n * /access-groups/{id}\n *\n */\n constructor(parent: APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('access-groups', id);\n }\n\n // /access-groups/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /access-groups/{id}/users/{id}\n user(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('users', id);\n }\n\n // /access-groups/{id}/resources\n resources() {\n return new APIList(this).push('resources');\n }\n\n // /access-groups/{id}/resources/{id}\n resource(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('resources', id);\n }\n\n}\n\nexport default APIResourceAccessGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport APIResourceUser from './APIResourceUser';\nimport {Device, DeviceProperty} from './models/Device';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupParams, DeviceGroupSelectorData} from './models/DeviceGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {ShareData, SharedResource} from './models/SharedResource';\n\nexport class APIResourceDeviceGroup extends APIResource {\n\n /**\n * /device-groups/{id}\n */\n constructor(parent: APIAdminResource | APIResourceUser | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-groups', id);\n }\n\n // /device-groups/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n // /device-groups/{id}/devices/{id}\n device(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('devices', id);\n }\n\n // /device-groups/{id}/selectors\n selectors() {\n return new APIList(this).push('selectors');\n }\n\n // /device-groups/{id}/selectors/{id}\n selector(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('selectors', id);\n }\n\n // /device-groups/{id}/share\n share() {\n return new APIList(this).push('share');\n }\n\n}\n\nexport default APIResourceDeviceGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData} from './models/HTTP';\nimport {Property} from './models/Property';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {FileSizeData, UserFile, UserFileTag} from './models/UserFile';\n\n\nexport class APIResourceFile extends APIResource {\n\n /**\n * /files/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('files', id);\n }\n\n // use this to download file content\n // /files/{id}/file\n file() {\n return new APIResource(this).push('file');\n }\n\n // /files/{id}/icon\n icon() {\n return new APIResource(this).push('icon');\n }\n\n // /files/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n property(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('properties', id);\n }\n\n}\n\nexport default APIResourceFile\n","import {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {DeviceSession} from './interface/DeviceSession';\nimport {DeviceSession as DeviceSessionModel} from './models/DeviceSession';\n\nexport class APIResourceDeviceSession extends APIResourceDeviceSessionCommon implements DeviceSession {\n\n // /device-sessions/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /device-sessions/{id}/retry\n retry() {\n return new APIResource(this).push('retry').post();\n }\n\n}\n\nexport default APIResourceDeviceSession\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun} from './models/AdminTestRun';\nimport {DeviceSession, DeviceSessionStep, TRunDeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot, ScreenshotExtended, ScreenshotQueryParams} from './models/Screenshot';\nimport {Tag, TagsData, TagsQueryParams, TaqQueryParams, TestRunTagsData} from './models/Tag';\nimport {RunData, RunQueryParam, TestRun, TestRunData} from './models/TestRun';\nimport {TestRunDataAvailability, TestRunDataAvailabilityQueryParams} from './models/TestRunDataAvailability';\nimport {UserFile} from './models/UserFile';\n\nexport class APIResourceRunCommon extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/build-logs.zip\n buildLogsZip(ids?: Array) {\n return postDeviceRunIds(this, 'build-logs.zip', ids);\n }\n\n // /runs/{id}/data-availability\n dataAvailability() {\n return new APIResource(this).push('data-availability');\n }\n\n // /runs/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /runs/{id}/files.zip\n filesZip(ids?: Array) {\n return postDeviceRunIds(this, 'files.zip', ids);\n }\n\n // /runs/{id}/logs.zip\n logsZip(ids?: Array) {\n return postDeviceRunIds(this, 'logs.zip', ids);\n }\n\n // /runs/{id}/performance.zip\n performanceZip(ids?: Array) {\n return postDeviceRunIds(this, 'performance.zip', ids);\n }\n\n // /runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n // /runs/{id}/screenshot-names\n screenshotNames() {\n return new APIList(this).push('screenshot-names');\n }\n\n // /runs/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /runs/{id}/screenshots.zip\n screenshotsZip(ids?: Array) {\n return postDeviceRunIds(this, 'screenshots.zip', ids);\n }\n\n // /runs/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /runs/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n // /runs/{id}/tag\n tag(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('tags', id);\n }\n\n}\n\nexport default APIResourceRunCommon\n","import {APIResourceDeviceSession} from './APIResourceDeviceSession'\nimport {APIResourceRunCommon} from './APIResourceRunCommon'\n\nexport class APIResourceRun extends APIResourceRunCommon {\n\n // /runs/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n}\n\nexport default APIResourceRun\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceRun} from './APIResourceRun'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Project} from './models/Project';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {TestRun} from './models/TestRun';\n\nexport class APIResourceProject extends APIResource {\n\n /**\n * /projects/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('projects', id);\n }\n\n // /projects/{id}/runs\n runs() {\n return new APIList(this).push('runs');\n }\n\n // /projects/{id}/runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n // /unarchive\n unarchive() {\n return new APIResource(this).push('unarchive');\n }\n\n}\n\nexport default APIResourceProject\n","import {API} from '../API';\nimport {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIAdminListNotificationPlans} from './APIAdminListNotificationPlans';\nimport {APIAdminListRuns} from './APIAdminListRuns';\nimport {APIAdminListServices} from './APIAdminListServices';\nimport {APIAdminListStatistics} from './APIAdminListStatistics';\nimport APIAdminResourceAccount from './APIAdminResourceAccount';\nimport {APIAdminResourceAccountService} from './APIAdminResourceAccountService';\nimport {APIAdminResourceCluster} from './APIAdminResourceCluster';\nimport {APIAdminResourceDevice} from './APIAdminResourceDevice';\nimport {APIAdminResourceDeviceModel} from './APIAdminResourceDeviceModel';\nimport {APIAdminResourceDeviceSessionStandalone} from './APIAdminResourceDeviceSessionStandalone';\nimport {APIAdminResourceDeviceTime} from './APIAdminResourceDeviceTime';\nimport {APIAdminResourceFramework} from './APIAdminResourceFramework';\nimport {APIAdminResourceLicense} from './APIAdminResourceLicense';\nimport {APIAdminResourceNotificationPlan} from './APIAdminResourceNotificationPlan';\nimport {APIAdminResourceRunStandalone} from './APIAdminResourceRunStandalone';\nimport {APIAdminResourceService} from './APIAdminResourceService';\nimport {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceFile} from './APIResourceFile'\nimport {APIResourceProject} from './APIResourceProject';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccessGroup, AccessGroupData} from './models/AccessGroup';\nimport {Account} from './models/Account';\nimport {AccountService} from './models/AccountService';\nimport {Activity} from './models/Activity';\nimport {AdminDeviceSession, AdminInteractiveDeviceSession} from './models/AdminDeviceSession';\nimport {AdminDeviceType, DeviceTypeData} from './models/AdminDeviceType';\nimport {AdminEmail} from './models/AdminEmail';\nimport {AdminError} from './models/AdminError';\nimport {Administrator} from './models/Administrator';\nimport {AdminOverview} from './models/AdminOverview';\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {Browser, BrowserData} from './models/Browser';\nimport {CountryVatRate, CountryVatRateData} from './models/CountryVatRate';\nimport {DeviceModelCriterion, DeviceModelCriterionData} from './models/DeviceModelCriterion';\nimport {DeviceModelPool, DeviceModelPoolData} from './models/DeviceModelPool';\nimport {Framework, FrameworkData} from './models/Framework';\nimport {License, LicenseData} from './models/License';\nimport {Maintenance, MaintenanceData} from './models/Maintenance';\nimport {Project} from './models/Project';\nimport {Role, RoleParams} from './models/Role';\nimport {Settings, SettingsParams} from './models/Settings';\nimport {User, UserData, UserParams} from './models/User';\nimport {DeviceTimeSummaryParams, UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {UserFile, UserFileData, UserFileParams} from './models/UserFile';\nimport {Cluster} from './models/Cluster';\nimport {DeviceProperty} from './models/Device';\nimport {DeviceGroup} from './models/DeviceGroup';\nimport {DeviceModel} from './models/DeviceModel';\nimport {DeviceProblem} from './models/DeviceProblem';\nimport {DeviceStatus} from './models/DeviceStatus';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n@NonRequestable\nexport class APIAdminResource extends APIResource {\n\n /**\n * /admin\n */\n constructor(parent: API) {\n super(parent);\n }\n\n // /access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /admin/accounts\n accounts() {\n return new APIList(this).push('admin', 'accounts');\n }\n\n // /admin/accounts/{id}\n account(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIAdminResourceAccount(this, id);\n }\n\n // /admin/account-services\n accountServices() {\n return new APIList(this).push('admin', 'account-services');\n }\n\n // /admin/account-services/{id}\n accountService(id: number) {\n return new APIAdminResourceAccountService(this, id);\n }\n\n // activities\n activities() {\n return new APIList(this).push('admin', 'activities');\n }\n\n // admin/administrators\n administrators() {\n return new APIList(this).push('admin', 'administrators');\n }\n\n // /admin/billing-periods\n billingPeriods() {\n return new APIList(this).push('admin', 'billing-periods');\n }\n\n // /admin/billing-periods/{id}\n billingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'billing-periods', id);\n }\n\n // /admin/browsers\n browsers() {\n return new APIList(this).push('admin', 'browsers');\n }\n\n // /admin/browsers/{id}\n browser(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'browsers', id);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /admin/country-vat-rates\n countryVatRates() {\n return new APIList(this).push('admin', 'country-vat-rates');\n }\n\n // /admin/country-vat-rates/{id}\n countryVatRate(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource>(this).push('admin', 'country-vat-rates', id);\n }\n\n // /admin/devices\n devices() {\n return new APIAdminListDevices(this);\n }\n\n // /admin/devices/{id}\n device(id: number) {\n return new APIAdminResourceDevice(this, id);\n }\n\n devicesForModel(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n const apiList = this.devices();\n apiList.params({\n filter: 'deviceModelId_eq_' + id\n });\n return apiList;\n }\n\n // /admin/device/statuses\n deviceStatuses() {\n return new APIList(this).push('admin', 'device', 'statuses');\n }\n\n // /admin/device-models\n deviceModels() {\n return new APIList(this).push('admin', 'device-models');\n }\n\n // /admin/device-models/{id}\n deviceModel(id: number) {\n return new APIAdminResourceDeviceModel(this, id);\n }\n\n // /admin/device-problems\n deviceProblems() {\n return new APIList(this).push('admin', 'device-problems');\n }\n\n // /admin/device-model-criteria\n deviceModelCriterias() {\n return new APIList(this).push('admin', 'device-model-criteria');\n }\n\n // /admin/device-model-criteria/{id}\n deviceModelCriteria(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'device-model-criteria', id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('admin', 'device-sessions');\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIAdminResourceDeviceSessionStandalone(this, id);\n }\n\n // /device-time\n deviceTime() {\n return new APIAdminResourceDeviceTime(this);\n }\n\n // /device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('admin', 'device-time-summary');\n }\n\n // /device-types\n deviceTypes() {\n return new APIList(this).push('admin', 'device-types');\n }\n\n // /device-types/{id}\n deviceType(id: number) {\n return new APIResource(this).push('admin', 'device-types', id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /admin/emails\n emails() {\n return new APIList(this).push('admin', 'emails');\n }\n\n // /admin/emails/{id}/resend\n resendEmail(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'emails', id, 'resend').post();\n }\n\n // /admin/errors\n errors() {\n return new APIList(this).push('admin', 'errors');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /admin/frameworks\n frameworks() {\n return new APIList(this).push('admin', 'frameworks');\n }\n\n // /admin/frameworks/{id}\n framework(id: number) {\n return new APIAdminResourceFramework(this, id);\n }\n\n // /admin/frameworks/available-labels\n frameworkAvailableLabels() {\n const apiList = this.frameworks();\n apiList.push('available-labels');\n return apiList;\n }\n\n // /admin/interactive-queue\n interactiveQueue() {\n return new APIList(this).push('admin', 'interactive-queue');\n }\n\n // /admin/licenses\n licenses() {\n return new APIList(this).push('admin', 'licenses');\n }\n\n // /admin/licenses/{id}\n license(id: number) {\n return new APIAdminResourceLicense(this, id);\n }\n\n // /admin/maintenance\n maintenance() {\n return new APIResource(this).push('admin', 'maintenance');\n }\n\n // /admin/notification-plans\n notificationPlans() {\n return new APIAdminListNotificationPlans(this);\n }\n\n // /admin/notification-plans/{id}\n notificationPlan(id: number) {\n return new APIAdminResourceNotificationPlan(this, id);\n }\n\n // /admin/overview\n overview() {\n return new APIResource(this).push('admin', 'overview');\n }\n\n pools() {\n return new APIList(this).push('admin', 'pools');\n }\n\n pool(id: number) {\n return new APIResource(this).push('admin', 'pools', id);\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /admin/roles\n roles() {\n return new APIList(this).push('admin', 'roles');\n }\n\n // /admin/runs\n runs() {\n return new APIAdminListRuns(this);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIAdminResourceRunStandalone(this, id);\n }\n\n // /admin/samples\n samples() {\n return new APIList>(this).push('admin', 'samples');\n }\n\n // /admin/samples/{id}\n sample(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'samples', id);\n }\n\n // /admin/services\n services() {\n return new APIAdminListServices(this);\n }\n\n // /admin/services/{id}\n service(id: number) {\n return new APIAdminResourceService(this, id);\n }\n\n // /admin/settings\n settings() {\n return new APIResource(this).push('admin', 'settings');\n }\n\n // /admin/statistics\n statistics() {\n return new APIAdminListStatistics(this);\n }\n\n // /users\n users() {\n return new APIList(this).push('users');\n }\n\n // /admin/users\n createUser() {\n return new APIList(this).push('admin', 'users').post();\n }\n\n // /users/{id}\n user(id: number) {\n return new APIAdminResourceUser(this, id);\n }\n\n}\n\nexport default APIAdminResource;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {DesktopBrowserCapabilities} from './models/DesktopBrowserCapabilities';\nimport {Device, DevicesQueryParams} from './models/Device';\nimport {DevicePicker} from './models/DeviceFilter';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIListDevices extends APIList {\n\n /**\n * /devices\n */\n constructor(parent: API) {\n super(parent);\n this.push('devices');\n }\n\n // /devices/filters\n filters() {\n return new APIResource>(this).push('filters');\n }\n\n // /devices/desktop-browser-capabilities\n desktopBrowserCapabilities() {\n return new APIResource(this).push('desktop-browser-capabilities');\n }\n\n}\n\nexport default APIListDevices;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {CollectionQueryParams} from './models/HTTP';\nimport {Property, PropertyData} from './models/Property';\n\n\nexport class APIListProperties extends APIList {\n\n /**\n * /properties\n */\n constructor(parent: API) {\n super(parent);\n this.push('properties');\n }\n\n maintenance() {\n return new APIList(this).params({\n filter: 'name_eq_CLOUD_HEADER_ANNOUNCEMENT',\n limit: 1,\n sort: 'updateTime_d'\n });\n }\n\n}\n\nexport default APIListProperties\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccountService, ServicePaymentStatus} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceData} from './models/Service';\n\n\nexport class APIListServices extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['POST'];\n\n /**\n * /services\n */\n constructor(parent: API | APIResourceUser) {\n super(parent);\n this.push('services');\n }\n\n // /services/available\n available() {\n return new APIList(this).push('available');\n }\n\n active() {\n const apiList = new APIList(this);\n if (this.first === 'me') {\n apiList.push('active');\n } else {\n apiList.params({\n notArchived: true\n });\n }\n return apiList;\n }\n\n byPrice() {\n return new APIList(this).sort('centPrice');\n }\n\n availableByPrice() {\n return new APIList(this).push('available').sort('centPrice');\n }\n\n}\n\nexport default APIListServices\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {\n User,\n UserActivateData,\n UserData,\n UserPasswordData,\n UserRecoveryQueryParams,\n} from './models/User';\n\n\nexport class APIListUsers extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET', 'POST'];\n\n /**\n * /users\n */\n constructor(parent: API) {\n super(parent);\n this.push('users');\n }\n\n // /users/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /users/recoveries\n recoveries() {\n return new APIResource(this).push('recoveries');\n }\n\n // /users/passwordRecovery\n passwordRecovery() {\n return new APIResource(this).push('password-recovery');\n }\n\n}\n\nexport default APIListUsers;\n","import {APIResource} from './APIResource'\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {APIResourceAccount} from './APIResourceAccount';\n\n\n\n\nexport class APIResourceBillingPeriod extends APIResource {\n\n /**\n * /billing-periods/{id}\n */\n constructor(parent: APIResourceAccount, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('billing-periods', id);\n }\n\n // /billing-periods/{id}/receipt\n receipt() {\n return new APIResource(this).push('receipt').setRequestConfig({\n responseType: 'arraybuffer'\n });\n }\n\n}\n\nexport default APIResourceBillingPeriod\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceBillingPeriod} from './APIResourceBillingPeriod';\nimport {Account, AccountData} from './models/Account';\nimport {AccountConcurrencyStatusMap} from './models/AccountConcurrencyStatusMap';\nimport {AccountPreferences} from './models/AccountPreference';\nimport {AccountService} from './models/AccountService';\nimport {AccountServicePayment} from './models/AccountServicePayment';\nimport {BillingPeriod, BillingPeriodQueryParams} from './models/BillingPeriod';\nimport {DeviceTimeSummaryQueryParams} from './models/Device';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams, QueryParams, SimpleCollectionResponse} from './models/HTTP';\nimport {User, UserData} from './models/User';\nimport {DeviceTimeQueryParams, UserDeviceTime} from './models/UserDeviceTime';\nimport {UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {VisualTestAccess} from './models/VisualTest';\n\n\nexport class APIResourceAccount extends APIResource {\n\n /**\n * /accounts/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('accounts', id);\n }\n\n // /accounts/{id}/concurrency-status\n concurrencyStatus() {\n return new APIResource(this).push('concurrency-status');\n }\n\n // /accounts/{id}/device-time\n deviceTime() {\n return new APIList(this).push('device-time');\n }\n\n // /accounts/{id}/device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('device-time-summary');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource>(this).push('preferences');\n }\n\n // /accounts/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /accounts/{accountId}/users/{userId}\n removeUser(id: number) {\n return new APIResource(this).push('users', id);\n }\n\n // /accounts/{accountId}/users/{userId}/disable\n disableUser(id: number) {\n return new APIResource(this).push('users', id, 'disable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/enable\n enableUser(id: number) {\n return new APIResource(this).push('users', id, 'enable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/resend-activation\n resendActivation(id: number) {\n return new APIResource(this).push('users', id, 'resend-activation').post();\n }\n\n // /accounts/{accountId}/billing-periods\n billingPeriods() {\n return new APIList(this).push('billing-periods');\n }\n\n // /accounts/{accountId}/billing-periods/{id}\n billingPeriod(id: number) {\n return new APIResourceBillingPeriod(this, id);\n }\n\n // /account-services/{id}/billing-period\n serviceBillingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('account-services', id, 'billing-period');\n }\n\n // /account/{accountId}/visual-test/access\n visualTestAccess() {\n return new APIResource(this).push('visual-tests', 'access');\n }\n\n // /account/{accountId}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /account/{accountId}/account-services/{id}\n accountService(id: number) {\n return new APIList(this).push('account-services', id);\n }\n\n}\n\nexport default APIResourceAccount;\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Broker} from './models/Broker';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIResourceBroker extends APIResource {\n\n /**\n * /broker\n */\n constructor(parent: API) {\n\n super(parent);\n this.push('broker');\n }\n\n // /broker/hubs\n hubs() {\n return new APIList(this).push('hubs');\n }\n\n}\n\nexport default APIResourceBroker\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser} from './models/Browser';\nimport {Device, DeviceProperiesData, DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams} from './models/HTTP';\n\n\nexport class APIResourceDevice extends APIResource {\n\n /**\n * /devices/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('devices', id);\n }\n\n // /devices/{id}/properties\n properties() {\n return new APIList(this).push('properties');\n }\n\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIResourceDevice\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams, NoQueryParams} from './models/HTTP';\nimport {LabelData, LabelGroup} from './models/LabelGroup';\n\nexport class APIResourceLabelGroup extends APIResource {\n\n /**\n * /label-groups/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('label-groups', id);\n }\n\n // /label-groups/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /label-groups/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n}\n\nexport default APIResourceLabelGroup\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {FilesQueryParams} from './class/FilesQueryParams';\nimport {FileData, UploadObj, UserFile} from './models/UserFile';\n\n\nexport class APIListFiles extends APIList {\n\n /**\n * /files\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('files');\n }\n\n /**\n * Simplifies process of uploading\n * /files\n */\n upload(obj: UploadObj): this {\n // For NodeJS\n // @ts-ignore\n if (global.isNodeJs) {\n return this.nodeUpload(obj);\n } else {\n /**\n * Browser\n * @todo\n */\n throw new Error('Not supported yet!');\n }\n }\n\n private nodeUpload(file: UploadObj): this {\n const fs = require('fs');\n const FormData = require('form-data');\n const form = new FormData();\n form.append('file', fs.createReadStream(file.dir + '/' + file.filename), {\n filename: file.filename\n });\n return this.post().headers(form.getHeaders()).data(form);\n }\n\n}\n\nexport default APIListFiles\n","import {APIList} from './APIList'\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIResource} from './APIResource'\n\n\nexport class APIResourceChannel extends APIResource {\n\n /**\n * /users/{id}/notifications/channels/{type}\n */\n constructor(parent: APIListNotifications, type: string) {\n if (type == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('channels', type);\n }\n\n // /channels/{type}/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\nexport default APIResourceChannel;\n","import {APIList} from './APIList';\nimport {APIResourceChannel} from './APIResourceChannel';\nimport {APIResourceUser} from './APIResourceUser';\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Notification, NotificationsData} from './models/Notification';\n\n\nexport class APIListNotifications extends APIList {\n\n /**\n * /notifications\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('notifications');\n }\n\n // /notifications/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n // /notifications/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n channel(type: string) {\n return new APIResourceChannel(this, type);\n }\n\n}\n\nexport default APIListNotifications\n","import {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoQueryParams} from './models/HTTP';\nimport {TestRun, TestRunConfig, TestRunsConfigData, TestRunsData, TestRunsQueryParams} from './models/TestRun';\n\n\nexport class APIListRuns extends APIList {\n\n /**\n * /runs\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('runs');\n }\n\n // /runs/config\n config() {\n return new APIResource(this).push('config');\n }\n\n}\n\nexport default APIListRuns\n","import {Method} from 'axios';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData} from './models/HTTP';\nimport {SmartbearTunnel, TunnelQueryParams} from './models/SmartbearTunnel';\n\n\nexport class APIListSmartbearTunnels extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /tunnels\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('tunnels');\n }\n\n /**\n * Sets tunnel activity parameter\n */\n active(active: boolean): this {\n return this.params({active: active});\n }\n}\n\nexport default APIListSmartbearTunnels;\n","\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {Notification, NotificationData} from './models/Notification';\n\nexport class APIResourceNotification extends APIResource {\n\n /**\n * /notifications/{id}\n */\n constructor(parent: APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('notifications', id);\n }\n\n // /notifications/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n}\n\nexport default APIResourceNotification\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIListFiles} from './APIListFiles';\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIListRuns} from './APIListRuns';\nimport {APIListServices} from './APIListServices';\nimport {APIListSmartbearTunnels} from './APIListSmartbearTunnels';\nimport {APIResource} from './APIResource';\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {APIResourceFile} from './APIResourceFile';\nimport {APIResourceNotification} from './APIResourceNotification';\nimport {APIResourceProject} from './APIResourceProject';\nimport {AccessGroup, AccessGroupsData} from './models/AccessGroup';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupIdsData, DeviceGroupWithPublicParams} from './models/DeviceGroup';\nimport {DeviceStatistics} from './models/DeviceStatistics';\nimport {DeviceUsage} from './models/DeviceUsage';\nimport {Framework} from './models/Framework';\nimport {Project, UserProjectData, UserProjectQueryParams} from './models/Project';\nimport {User, UserDeleteData} from './models/User';\nimport {UiPreferencesData, UserPreference, UserPreferenceData} from './models/UserPreference';\nimport {StatisticQueryParams, UserStatistics} from './models/UserStatistics';\nimport {DeviceSession, DeviceSessionData, DeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {DeviceStatisticQueryParam, DeviceUsageQueryParams} from './models/Device';\n\nexport class APIResourceUser extends APIResource {\n\n /**\n * /users/{id} | /me\n */\n constructor(parent: API, id: number | 'me') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n\n if (id === 'me') {\n this.push('me');\n } else if (typeof id === 'number') {\n this.push('users', id);\n } else {\n throw new TypeError('id is not a number');\n }\n }\n\n // /users/{id}/services\n services() {\n return new APIListServices(this);\n }\n\n // /users/{id}/device-groups\n deviceGroups() {\n return new APIList>(this).push('device-groups');\n }\n\n // /users/{id}/device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /users/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /users/{id}/mark-account-owner\n markAccountOwner() {\n return new APIResource(this).push('mark-account-owner').post();\n }\n\n // /users/{id}/projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /users/{id}/projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /users/{id}/files\n files() {\n return new APIListFiles(this);\n }\n\n // /users/{id}/files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /users/{id}/runs\n runs() {\n return new APIListRuns(this);\n }\n\n // /users/{id}/available-frameworks\n availableFrameworks() {\n return new APIList(this).push('available-frameworks');\n }\n\n /**\n * /users/{id}/reset-api-key\n */\n resetApiKey() {\n return new APIResource(this).push('reset-api-key');\n }\n\n // /users/{id}/restore\n restore() {\n return new APIResource(this).push('restore');\n }\n\n // /users/{id}/feedback\n feedback() {\n return new APIResource(this).push('feedback');\n }\n\n // /users/{id}/notifications\n notifications() {\n return new APIListNotifications(this);\n }\n\n // /users/{id}/notifications/{id}\n notification(id: number) {\n return new APIResourceNotification(this, id);\n }\n\n // /users/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n // /users/{id}/ui-preferences\n uiPreferences() {\n return new APIResource(this).push('ui-preferences');\n }\n\n // /users/{id}/device-usage\n deviceUsage() {\n return new APIList(this).push('device-usage');\n }\n\n // /users/{id}/statistics\n statistics() {\n return new APIResource(this).push('statistics');\n }\n\n // /users/{id}/device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /users/{id}/access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /users/{id}/access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /users/{id}/tunnels/{id}\n smartbearTunnel(id: number) {\n return new APIResource(this).push('tunnels', id);\n }\n\n // /users/{id}/tunnels\n smartbearTunnels() {\n return new APIListSmartbearTunnels(this);\n }\n\n deleteAccount() {\n return new APIResource(this).push('delete');\n }\n}\n\nexport default APIResourceUser\n","import {API} from '../API';\nimport {APIResource} from './APIResource'\nimport {NoQueryParams} from './models/HTTP';\nimport {LoginData, User} from './models/User';\n\nexport class APIResourceUserSession extends APIResource {\n\n // /user-sessions\n constructor(parent: API) {\n super(parent);\n this.push('user-sessions');\n }\n\n // /user-sessions/login\n login(data: LoginData) {\n return new APIResource(this).push('login').post().data(data);\n }\n\n // /user-sessions/logout\n logout() {\n return new APIResource(this).push('logout').post();\n }\n\n // /user-sessions/oauth/authorize/{name}-login\n sso(name: string) {\n return new APIResource(this).push('oauth', 'authorize', name + '-login');\n }\n\n // /user-sessions/portal-login\n portalLogin() {\n return new APIResource(this).push('portal-login').post();\n }\n\n // /user-sessions/oauth/authorize/sbid-login\n sbidCallbackUrl() {\n return new APIResource(this).push('oauth', 'authorize', 'sbid-login').toUrl(true);\n }\n\n}\n\nexport default APIResourceUserSession\n","import axios, {AxiosInstance} from 'axios';\n// @ts-ignore\nimport {version} from '../package.json';\nimport {APIAdminResource} from './api/APIAdminResource';\nimport {APIAdminResourceCluster} from './api/APIAdminResourceCluster';\nimport {APIList} from './api/APIList';\nimport {APIListDevices} from './api/APIListDevices';\nimport {APIListProperties} from './api/APIListProperties';\nimport {APIListServices} from './api/APIListServices';\nimport {APIListUsers} from './api/APIListUsers';\nimport {APIResource} from './api/APIResource';\nimport {APIResourceAccount} from './api/APIResourceAccount';\nimport {APIResourceBroker} from './api/APIResourceBroker';\nimport {APIResourceDevice} from './api/APIResourceDevice';\nimport {APIResourceDeviceGroup} from './api/APIResourceDeviceGroup';\nimport {APIResourceDeviceSession} from './api/APIResourceDeviceSession';\nimport {APIResourceFile} from './api/APIResourceFile';\nimport {APIResourceLabelGroup} from './api/APIResourceLabelGroup';\nimport {APIResourceProject} from './api/APIResourceProject';\nimport {APIResourceRun} from './api/APIResourceRun';\nimport {APIResourceUser} from './api/APIResourceUser';\nimport {APIResourceUserSession} from './api/APIResourceUserSession';\nimport {Cluster} from './api/models/Cluster';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './api/models/HTTP';\nimport {License} from './api/models/License';\nimport {Project} from './api/models/Project';\nimport {Property} from './api/models/Property';\nimport {UserFile, UserFileData, UserFileParams} from './api/models/UserFile';\nimport {ApiConfig} from './ApiConfig';\nimport './finka';\nimport {LabelGroup} from './api/models/LabelGroup';\n\n// @ts-ignore\nif (globalThis.isNodeJs) {\n // Set User-Agent\n axios.defaults.headers.common['User-Agent'] = `Bitbar Cloud API Client for JavaScript v${version}`;\n}\n\n// Disable max content length\naxios.defaults.maxContentLength = 1073741824; // 1GB\n\n\n/**\n * API\n * Root for other API resources\n */\nexport class API {\n axios: AxiosInstance;\n\n private axiosConfig: ApiConfig = {};\n\n get baseUrl(): string {\n return this.axiosConfig.baseURL;\n }\n\n\n constructor(private config: ApiConfig) {\n if (config == null) {\n throw new Error('config cannot be empty');\n } else if (this.config.cloudUrl == null) {\n throw new TypeError('cloudUrl cannot be empty');\n } else if (typeof this.config.cloudUrl !== 'string') {\n throw new TypeError('cloudUrl must be a string');\n } else if (!/^https?:\\/\\/.{2,}/.test(this.config.cloudUrl)) {\n throw new Error(`cloudUrl doesn't look like a URL`);\n }\n\n // Validate and correct cloudUrl if needed\n this.axiosConfig.baseURL = this.config.cloudUrl.replace(/\\/+$/, '') + '/api'\n\n // Check v2\n this.config.v2 = !!this.config.v2;\n if (this.config.v2) {\n this.axiosConfig.baseURL += '/v2';\n }\n\n // Check if apiKey is set\n if (this.config.apiKey) {\n if (typeof this.config.apiKey !== 'string') {\n throw new TypeError('apiKey must be a string');\n } else if (!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey)) {\n throw new Error('apiKey is in the wrong format');\n }\n\n this.axiosConfig.auth = {\n username: this.config.apiKey,\n password: ''\n };\n }\n\n // With credentials\n this.axiosConfig.withCredentials = config.withCredentials == null ? false : config.withCredentials;\n\n // Create axios instance\n this.axios = axios.create(this.axiosConfig);\n }\n\n\n // --- Resources starts here --- //\n\n // /account/{id}\n account(id: number) {\n return new APIResourceAccount(this, id);\n }\n\n // /admin\n admin() {\n return new APIAdminResource(this);\n }\n\n // /broker\n broker() {\n return new APIResourceBroker(this);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /devices/{id}\n device(id: number) {\n return new APIResourceDevice(this, id);\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /devices\n devices() {\n return new APIListDevices(this);\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /enums\n enums() {\n return new APIResource(this).push('enums');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /label-groups\n labelGroups() {\n return new APIList(this).push('label-groups');\n }\n\n // /label-groups/{id}\n labelGroup(id: number) {\n return new APIResourceLabelGroup(this, id);\n }\n\n // /labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /licenses\n licenses() {\n return new APIResource(this).push('licenses');\n }\n\n // /license\n license() {\n return new APIResource(this).push('license');\n }\n\n /*\n /me or /admin\n Requires prototype extension covering ACL check\n */\n ma(): APIAdminResource | APIResourceUser {\n throw new Error('Requires prototype extension covering ACL check');\n }\n\n // /me\n me() {\n return this.user('me');\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /properties\n properties() {\n return new APIListProperties(this);\n }\n\n // /properties/{id}\n property(id: number) {\n return new APIResource(this).push('properties', id);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n // /services\n services() {\n return new APIListServices(this);\n }\n\n // /user/{id}\n user(id: number | 'me') {\n return new APIResourceUser(this, id);\n }\n\n // /users\n users() {\n return new APIListUsers(this);\n }\n\n // /user-sessions\n userSession() {\n return new APIResourceUserSession(this);\n }\n\n}\n\n\nexport default API;\n","/* istanbul ignore file */\n\nimport {API} from './API';\nimport {FilterBuilder} from './FilterBuilder';\n\nexport {API} from './API';\nexport {FilterBuilder} from './FilterBuilder';\n\n/**\n * Cloud API Client\n */\nexport const CloudAPIClient = {\n API,\n FilterBuilder\n}\n\nexport default CloudAPIClient;\n","export enum AccessGroupScope {\n USER = 'USER',\n ACCOUNT = 'ACCOUNT',\n GLOBAL = 'GLOBAL'\n}\n\nexport type AccessGroup = {\n id: number;\n name: string;\n scope: AccessGroupScope;\n userEmail: string;\n userId: number;\n}\n\nexport type AccessGroupData = Pick;\n\nexport type AccessGroupsData = Omit;\n","import {ServiceUnit} from './Service';\n\nexport enum PaymentStatus {\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REDIRECTED = 'REDIRECTED'\n}\n\nexport enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n BRAINTREE = 'BRAINTREE',\n STRIPE = 'STRIPE',\n INVOICE = 'INVOICE',\n PROMOTION = 'PROMOTION',\n AWS = 'AWS'\n}\n\nexport enum ChargeType {\n USAGE_MOBILE = 'USAGE_MOBILE',\n CONCURRENCY_MOBILE = 'CONCURRENCY_MOBILE',\n CONCURRENCY_DESKTOP = 'CONCURRENCY_DESKTOP'\n}\n\nexport enum DeactivateReason {\n INITIAL_FAILURE = 'INITIAL_FAILURE',\n SCA_FAILURE = 'SCA_FAILURE',\n CHARGE_FAILURE = 'CHARGE_FAILURE',\n CANCEL = 'CANCEL',\n SUSPENDED = 'SUSPENDED',\n ANOTHER_PURCHASE = 'ANOTHER_PURCHASE'\n}\n\nexport type ServicePaymentStatus = {\n accountService: AccountService;\n message: string;\n redirectUrl: string;\n status: PaymentStatus;\n}\n\nexport type AccountService = {\n accountId: number;\n accountName: string;\n activatedById: number;\n activatedByName: string;\n active: boolean;\n autoRenew: boolean;\n braintreeId: string;\n chargeType: ChargeType;\n createTime: number;\n deactivateReason: DeactivateReason;\n deactivatedById: number;\n deactivatedByName: string;\n endTime: number;\n finished: boolean;\n id: number;\n lastPaymentTime: number;\n paymentMethod: PaymentMethod;\n price: number;\n serviceCount: number;\n serviceId: number;\n serviceName: string;\n startTime: number;\n subscriptionManagementURL: string;\n total: number;\n unit: ServiceUnit;\n unitCount: number;\n userId: number;\n vatRate: number;\n}\n\nexport type AccountServiceData = Pick & {count: number};\n","import {DevicesQueryParams, Platform, SoftwareVersion} from './Device';\nimport {OsType} from './Enum';\nimport {CollectionQueryParams} from './HTTP';\n\n\nexport enum InitStep {\n SKIP = 'SKIP',\n REBOOT = 'REBOOT',\n REBOOT_WITH_UNLOCK = 'REBOOT_WITH_UNLOCK',\n UNLOCK_ONLY = 'UNLOCK_ONLY'\n}\n\nexport enum DeviceState {\n OFFLINE_CLEANING = 'OFFLINE_CLEANING',\n OFFLINE_DIRTY = 'OFFLINE_DIRTY',\n OFFLINE_FREE = 'OFFLINE_FREE',\n OFFLINE_TESTING = 'OFFLINE_TESTING',\n ONLINE_CLEANING = 'ONLINE_CLEANING',\n ONLINE_DIRTY = 'ONLINE_DIRTY',\n ONLINE_FREE = 'ONLINE_FREE',\n ONLINE_TESTING = 'ONLINE_TESTING'\n}\n\nexport type AdminDevice = {\n accountId: number;\n accountName: string;\n cluster: unknown;\n comment: string;\n dedicationEndTime: number;\n deviceModelId: number;\n deviceModelName: string;\n enabled: boolean;\n fingerprint: string;\n id: number;\n initStep: InitStep;\n ipAddress: string;\n lastOnlineTime: number;\n location: string;\n locked: boolean;\n manufacturer: string;\n name: string;\n osType: OsType;\n platform: Platform;\n serialId: string;\n softwareVersion: SoftwareVersion;\n state: DeviceState;\n stateChangeTime: number;\n stateTime: number;\n testTimeLimit: number;\n unlockGesture: string;\n}\n\nexport type AdminDevicesQueryParams = Pick & CollectionQueryParams;\n\nexport type AdminDeviceData = Pick & {apiLevel: number; releaseVersion: string};\n","export enum AdminErrorType {\n ABORT_REQUEST = 'ABORT_REQUEST',\n ADB_COMMAND_REJECTED = 'ADB_COMMAND_REJECTED',\n ADB_SHELL_COMMAND_FAILED = 'ADB_SHELL_COMMAND_FAILED',\n APP_LOCK_NOT_INSTALLED = 'APP_LOCK_NOT_INSTALLED',\n DEVICE_OFFLINE = 'DEVICE_OFFLINE',\n DEVICE_OUTPUT_NULL = 'DEVICE_OUTPUT_NULL',\n GAMEBENCH_ERROR = 'GAMEBENCH_ERROR',\n GAMEBENCH_NOT_SUPPORTED = 'GAMEBENCH_NOT_SUPPORTED',\n GRANT_FAILED = 'GRANT_FAILED',\n INSTALL_FAILED = 'INSTALL_FAILED',\n INTERACTIVE_SETUP_FAILED = 'INTERACTIVE_SETUP_FAILED',\n INTERNAL_INSTALL_FAILED = 'INTERNAL_INSTALL_FAILED',\n INVALID_TEST_SESSION_FILE = 'INVALID_TEST_SESSION_FILE',\n LOCK_EXPIRED = 'LOCK_EXPIRED',\n LOCK_TIMEOUT = 'LOCK_TIMEOUT',\n NO_NETWORK_CONNECTION = 'NO_NETWORK_CONNECTION',\n OTHER = 'OTHER',\n REBOOTING_TIMEOUT = 'REBOOTING_TIMEOUT',\n REPACKAGING = 'REPACKAGING',\n RESULTS_PREPARING = 'RESULTS_PREPARING',\n RESULTS_PROCESSING = 'RESULTS_PROCESSING',\n RESULTS_SENDING = 'RESULTS_SENDING',\n STEP_TIMEOUT = 'STEP_TIMEOUT',\n SYSTEM_FAILURE = 'SYSTEM_FAILURE',\n TEST_RUN_FAILED = 'TEST_RUN_FAILED',\n TEST_RUN_INTERRUPTED = 'TEST_RUN_INTERRUPTED',\n TEST_RUN_TIMEOUT = 'TEST_RUN_TIMEOUT',\n TEST_RUN_WARNED = 'TEST_RUN_WARNED',\n TEST_TIMEOUT = 'TEST_TIMEOUT',\n VNC_CONNECTION_SETUP_FAILED = 'VNC_CONNECTION_SETUP_FAILED',\n XCRUN_INSTRUMENTS_COMMAND_FAILED = 'XCRUN_INSTRUMENTS_COMMAND_FAILED',\n XCRUN_INSTRUMENTS_JS_ERROR = 'XCRUN_INSTRUMENTS_JS_ERROR'\n}\n\nexport type AdminError = {\n id: number;\n quantity: number;\n type: AdminErrorType;\n}\n","import {DeviceSessionState} from './DeviceSession';\nimport {OsType} from './Enum';\n\nexport enum FrameworkType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport type AdminFrameworkStatistics = {\n cloudName: string;\n count: number;\n day: number;\n deviceModelId: number;\n deviceModelName: string;\n frameworkId: number;\n frameworkName: string;\n id: number;\n osType: OsType;\n releaseVersion: string;\n state: DeviceSessionState;\n type: FrameworkType;\n userEmail: string;\n userId: number;\n}\n","import {PaymentMethod} from './AccountService';\nimport {DeviceSessionType} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {QueryParams} from './HTTP';\n\nexport enum BillingType {\n BUY = 'BUY',\n CHARGE = 'CHARGE',\n CANCEL = 'CANCEL'\n}\n\nexport type BillingPeriod = {\n accountServiceId: number;\n additionalHours: number;\n additionalHoursPrice: number;\n apiBillingPeriodType: BillingType;\n createTime: number;\n endBillingPeriod: number;\n id: number;\n lastPaymentDate: number;\n paid: boolean;\n paymentMethod: PaymentMethod;\n plan: string;\n servicePrice: number;\n startBillingPeriod: number;\n subscriptionEnd: number;\n subscriptionStart: number;\n totalPrice: number;\n usages: Array;\n}\n\nexport type BillingPeriodUsage = {\n billableSeconds: number;\n id: number;\n nonBillableSeconds: number;\n osType: OsType;\n type: DeviceSessionType;\n}\n\nexport interface BillingPeriodQueryParams extends QueryParams {\n onDate: number;\n}\n","export enum BrokerType {\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP'\n}\n\nexport type Broker = {\n id: number;\n location: string;\n type: BrokerType;\n url: string;\n}\n","\nimport {AdminDevice} from './AdminDevice';\nimport {CollectionResponse, QueryParams} from './HTTP';\n\nexport type Cluster = {\n devices: CollectionResponse;\n enabled: boolean;\n id: number;\n ipAddress: string;\n jenkinsUrl: string;\n location: string;\n name: string;\n pluginVersion: string;\n region: string;\n state: ClusterState;\n stateChangeTime: number;\n stateTime: number;\n url: string;\n}\n\nexport enum ClusterState {\n 'OFFLINE',\n ONLINE = 'ONLINE',\n RESTARTING = 'RESTARTING',\n QUIET_DOWN = 'QUIET_DOWN',\n MAINTENANCE = 'MAINTENANCE'\n}\n\nexport interface ClusterParams extends QueryParams {\n withDevices: boolean;\n}\n\nexport type ClusterData = Pick & {\n quietDown: boolean;\n restart: boolean;\n turnMaintenance: boolean;\n}\n","import {Browser} from './Browser';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, QueryParams} from './HTTP';\nimport {TestRunsQueryParams} from './TestRun';\n\n\nexport enum DeviceGroupOrigin {\n STATIC = 'STATIC',\n DYNAMIC = 'DYNAMIC',\n HYBRID = 'HYBRID'\n}\n\nexport enum Platform {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n WINDOWS = 'WINDOWS',\n MAC = 'MAC',\n LINUX = 'LINUX',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport enum SupportedCreators {\n MANUAL = 'MANUAL',\n ROBOT = 'ROBOT',\n AUTOMATIC = 'AUTOMATIC'\n}\n\nexport type DeviceProperty = {\n displayName: string;\n id: number;\n labelGroupName: string;\n name: string;\n propertyGroupId: number;\n propertyGroupName: string;\n}\n\nexport type SoftwareVersion = {\n apiLevel: number;\n id: number;\n releaseVersion: string;\n}\n\nexport type Device = {\n accountId: number;\n accountName: string;\n available: boolean;\n browsers: CollectionResponse;\n creditsPrice: number;\n deviceGroupOrigin: DeviceGroupOrigin;\n displayName: string;\n enabled: boolean;\n frame100Url: string;\n frame160Url: string;\n frame400Url: string;\n frame80Url: string;\n frameExtraWidth: number;\n id: number;\n imageHeight: number;\n imageLeft: number;\n imagePrefix: string;\n imageTop: number;\n imageWidth: number;\n locked: boolean;\n manufacturer: string;\n online: boolean;\n osType: OsType;\n platform: Platform;\n properties: CollectionResponse;\n softwareVersion: SoftwareVersion;\n supportedCreators: Array;\n}\n\nexport type DeviceCleanupConfiguration = {\n content: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n discriminator: string;\n enabled: boolean;\n global: boolean;\n example: true;\n id: number;\n lastModificationTime: number;\n osType: OsType;\n}\n\nexport type DeviceCleanupConfigurationData = {\n deviceCleanupConfigurationId: number;\n}\n\nexport type DeviceLabelData = {\n labelId: number;\n}\n\nexport interface DeviceProperiesData extends QueryParams {\n labelId: number;\n}\n\nexport interface CleanupConfigurationSpecificData extends QueryParams {\n serialId: string;\n}\n\nexport interface DeviceTimeSummaryQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n}\nexport interface DeviceUsageQueryParams extends TestRunsQueryParams {\n startTime: number;\n}\n\nexport interface DeviceStatisticQueryParam extends TestRunsQueryParams {\n mode: string;\n}\n\nexport interface DevicesQueryParams extends CollectionQueryParams {\n labelIds: Array;\n liveTestingOnly: boolean;\n withBrowsers: boolean;\n withDedicated: boolean;\n withDisabled: boolean;\n withProperties: boolean;\n withSupportedCreators: boolean;\n}\n","export enum CriterionField {\n NAME = 'NAME',\n FINGERPRINT = 'FINGERPRINT',\n SERIAL_ID = 'SERIAL_ID',\n UNLOCK_GESTURE = 'UNLOCK_GESTURE',\n SOFTWARE_VERSION = 'SOFTWARE_VERSION',\n INIT_STEP = 'INIT_STEP',\n ACCOUNT = 'ACCOUNT',\n BROWSERS = 'BROWSERS'\n}\n\nexport type DeviceModelCriterion = {\n createTime: number;\n field: CriterionField;\n id: number;\n labelGroupDisplayName: string;\n labelGroupId: number;\n labelGroupName: string;\n}\n\nexport type DeviceModelCriterionData = Pick;\n","export enum RetentionStrategy {\n CLUSTER_ON_OFF = 'CLUSTER_ON_OFF',\n MIN_FREE_MAX_TOTAL = 'MIN_FREE_MAX_TOTAL',\n POOL_MANAGER_AWARE = 'POOL_MANAGER_AWARE'\n}\n\nexport type DeviceModelPool = {\n createTime: number;\n enabled: boolean;\n id: number;\n location: string;\n maxTotal: number;\n minAvailable: number;\n name: string;\n numberOfBrowsers: number;\n osVersion: string;\n retentionStrategy: RetentionStrategy;\n running: number;\n}\n\nexport type DeviceModelPoolData = Pick;\n","export enum ProblemType {\n CLEANING = 'CLEANING',\n DIRTY = 'DIRTY',\n OFFLINE = 'OFFLINE',\n LOW_BATTERY = 'LOW_BATTERY',\n HIGH_FAIL_RATE = 'HIGH_FAIL_RATE',\n NO_INTERNET_CONNECTION = 'NO_INTERNET_CONNECTION'\n}\n\nexport type DeviceProblem = {\n clusterId: number;\n clusterName: string;\n deviceId: number;\n deviceModelId: number;\n deviceModelName: string;\n deviceName: string;\n id: number;\n problems: Array;\n}\n\nexport type DeviceProblemPair = {\n id: number;\n type: ProblemType;\n value: any;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport type TunnelSettings = {\n domain: string;\n email: string;\n}\n\nexport enum DeviceSessionType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport enum RetryState {\n NONE = 'NONE',\n MANUAL = 'MANUAL',\n AUTO = 'AUTO'\n}\n\nexport enum DeviceSessionState {\n ABORTED = 'ABORTED',\n EXCLUDED = 'EXCLUDED',\n FAILED = 'FAILED',\n RUNNING = 'RUNNING',\n SUCCEEDED = 'SUCCEEDED',\n TIMEOUT = 'TIMEOUT',\n WAITING = 'WAITING',\n WARNING = 'WARNING'\n}\n\nexport enum DeviceSessionStepType {\n WAITING = 'WAITING',\n PREPARING = 'PREPARING',\n UNINSTALL = 'UNINSTALL',\n INSTALL = 'INSTALL',\n RUNNING = 'RUNNING',\n SENDING_RESULTS = 'SENDING_RESULTS',\n PROCESSING_RESULTS = 'PROCESSING_RESULTS'\n}\n\nexport type DeviceSessionConfig = {\n adbVersion: string;\n browserName: string;\n browserVersion: string;\n deviceModelId: number;\n id: number;\n screenResolution: string;\n tunnelSettings: TunnelSettings;\n type: DeviceSessionConfig;\n url: string;\n}\n\nexport type DeviceSession = {\n accountId: number;\n autoRetriesLeftCount: number;\n billable: boolean;\n config: DeviceSessionConfig;\n createTime: number;\n clientSideId: string;\n device: Device;\n deviceInstanceId: number;\n deviceLogFirstTimestamp: number;\n deviceRunId: number;\n deviceTime: number;\n duration: number;\n endTime: number;\n excludeReason: string;\n externalId: string;\n id: number;\n installTime: number;\n name: string;\n projectId: number;\n projectName: string;\n retryState: RetryState;\n rowIndex: number;\n startTime: number;\n state: DeviceSessionState;\n successRatio: number;\n testCaseAllCount: number;\n testCaseFailedCount: number;\n testCasePassedCount: number;\n testCaseSkippedCount: number;\n testCaseSuccessCount: number;\n testRunId: number;\n testRunName: string;\n timeLimit: number;\n type: DeviceSessionType;\n userEmail: string;\n userId: number;\n}\n\nexport type DeviceSessionCommand = {\n duration: number;\n httpMethod: string;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n\nexport type DeviceSessionStep = {\n deviceSessionId: number;\n excludeReason: string;\n failReason: string;\n finishTimeMS: number;\n id: number;\n startTimeMS: number;\n type: DeviceSessionStepType;\n}\n\nexport type DeviceSessionConnection = {\n createTime: number;\n deviceSessionId: number;\n endTime: number;\n externalId: string;\n host: string;\n id: number;\n password: string;\n path: string;\n port: number;\n type: string;\n url: string;\n urlSchema: string;\n}\n\nexport type DeviceSessionData = Omit & {configuration: DeviceSessionConfig};\n\nexport interface DeviceSessionQueryParams extends CollectionBasicQueryParams {\n withProperties: boolean;\n}\n\nexport interface SessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n testRunId: number;\n}\n\nexport interface SessionRunStepQueryParams extends CollectionBasicQueryParams {\n runId: number;\n}\n\nexport interface SessionStepQueryParams extends SessionRunStepQueryParams {\n projectId: number;\n}\n\nexport interface TRunDeviceSessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n}\n\nexport enum SessionReleaseReason {\n INACTIVITY = 'INACTIVITY',\n TIMEOUT = 'TIMEOUT',\n USER_ACTION = 'USER_ACTION',\n CHANGE_DEVICE = 'CHANGE_DEVICE',\n WEBSOCKET_CLOSED = 'WEBSOCKET_CLOSED'\n}\n\nexport type DeviceSessionRelease = {\n reason: SessionReleaseReason;\n}\n","export enum OsType {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n DESKTOP = 'DESKTOP',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport type Enum = {\n id: number;\n value: string;\n}\n","export enum LicenseStatus {\n ACTIVE = 'ACTIVE',\n EXPIRED = 'EXPIRED',\n INACTIVE = 'INACTIVE',\n CLOSED = 'CLOSED'\n}\n\nexport type BaseLicense = {\n enabled: boolean;\n};\n\nexport type FeatureLicense = {\n deviceLimit: number;\n deviceLimited: boolean;\n projectLimit: number;\n projectLimited: boolean;\n};\n\nexport type AndroidLicense = BaseLicense & FeatureLicense & {\n cts: CTSLicense;\n uiAutomator: UIAutomatorLicense;\n};\n\nexport type BuildLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type DesktopLicense = BaseLicense & FeatureLicense;\n\nexport type GlobalLicense = FeatureLicense;\n\nexport type InspectorLicense = BaseLicense;\n\nexport type IOSLicense = BaseLicense & FeatureLicense;\n\nexport type RecorderLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type ServerLicense = BaseLicense & {\n androidEnabled: boolean;\n iosEnabled: boolean;\n};\n\nexport type CTSLicense = BaseLicense;\n\nexport type UIAutomatorLicense = BaseLicense;\n\nexport type License = {\n activateTime: number;\n android: AndroidLicense;\n build: BuildLicense;\n closeTime: number;\n desktop: DesktopLicense;\n expireTime: number;\n global: GlobalLicense;\n id: number;\n inspector: InspectorLicense;\n ios: IOSLicense;\n privateInstance: boolean;\n recorder: RecorderLicense;\n server: ServerLicense;\n status: LicenseStatus;\n userEmail: string;\n userId: number;\n}\n\nexport type LicenseData = Pick & {\n androidDeviceLimit: number;\n androidEnabled: boolean;\n androidProjectLimit: number;\n buildEnabled: boolean;\n buildLimit: number;\n desktopDeviceLimit: number;\n desktopEnabled: boolean;\n desktopProjectLimit: number;\n globalDeviceLimit: number;\n globalProjectLimit: number;\n inspectorEnabled: boolean;\n iosDeviceLimit: number;\n iosEnabled: boolean;\n iosProjectLimit: number;\n privateInstance: boolean;\n unit: string;\n unitCount: number;\n}\n","export type Maintenance = {\n enabled: boolean;\n id: number;\n}\n\nexport enum MaintenanceType {\n BARE_METAL = 'BARE_METAL',\n EC2 = 'EC2',\n VM = 'VM'\n}\n\nexport type MaintenanceData = {\n enabled: boolean;\n type: MaintenanceType;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum NotificationChannel {\n SLACK = 'SLACK',\n EMAIL = 'EMAIL',\n WEBHOOK = 'WEBHOOK'\n}\n\nexport enum NotificationScope {\n ALL = 'ALL',\n TEST_RUN = 'TEST_RUN',\n TEST_RUN_FAILURE = 'TEST_RUN_FAILURE',\n TEST_RUN_SUCCEEDED = 'TEST_RUN_SUCCEEDED',\n MAINTENANCE = 'MAINTENANCE',\n MAINTENANCE_RELEASE = 'MAINTENANCE_RELEASE',\n CUSTOM = 'CUSTOM',\n NEWS = 'NEWS',\n SYSTEM = 'SYSTEM',\n CHECK = 'CHECK',\n PLAN_LIMIT_REACHED = 'PLAN_LIMIT_REACHED',\n PLAN_INVOICE = 'PLAN_INVOICE'\n}\n\nexport type Notification = {\n channel: NotificationChannel;\n destination: string;\n id: number;\n projectId?: number;\n projectName?: string;\n scope: NotificationScope;\n userEmail: string;\n userId: number;\n}\n\nexport interface NotificationData extends QueryParams {\n scope: NotificationScope;\n}\n\nexport type NotificationsData = Pick;\n","import {OsType} from './Enum';\nimport {TestRunsQueryParams} from './TestRun';\n\nexport enum ArchivingStrategy {\n NEVER = 'NEVER',\n DAYS = 'DAYS',\n RUNS = 'RUNS'\n}\n\nexport type Project = {\n archiveTime: number;\n archivingItemCount: number;\n archivingStrategy: ArchivingStrategy;\n common: boolean;\n createTime: number;\n description: string;\n id: number;\n name: string;\n osType: OsType;\n readOnly: boolean;\n rowIndex: number;\n shared: boolean;\n sharedByEmail: string;\n sharedById: number;\n sharedWithCaller: boolean;\n successRatio: number;\n userEmail: string;\n userId: number;\n}\n\nexport type UserProjectData = Pick;\n\nexport interface UserProjectQueryParams extends TestRunsQueryParams {\n showStatistics: boolean;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport enum ScreenshotType {\n LANDSCAPE = 'LANDSCAPE',\n PORTRAIT = 'PORTRAIT'\n}\n\nexport type Screenshot = {\n fail: boolean;\n id: number;\n originalName: string;\n takeTimestamp: number;\n type: ScreenshotType;\n}\n\nexport type ScreenshotExtended = Screenshot & {\n device: Device;\n deviceRunId: number;\n projectId: number;\n testRunId: number;\n}\n\nexport interface ScreenshotQueryParams extends CollectionBasicQueryParams {\n name: string;\n}\n","import {ChargeType, PaymentMethod} from './AccountService';\nimport {CollectionQueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport type Service = {\n activateTime: number;\n activated: boolean;\n archiveTime: number;\n autoRenew: boolean;\n centPrice: number;\n chargeType: ChargeType;\n commonId: string;\n customPlan: boolean;\n defaultConcurrences: Array;\n description: string;\n externalId: string;\n features: string;\n id: number;\n includedHours: number;\n name: string;\n pricePerHour: number;\n priceString: string;\n roles: Array;\n unit: ServiceUnit;\n}\n\nexport enum ServiceUnit {\n DAY = 'DAY',\n HOUR = 'HOUR',\n MONTH = 'MONTH',\n PROJECT = 'PROJECT',\n RUN = 'RUN',\n YEAR = 'YEAR'\n}\n\nexport interface AdminServicesParams extends CollectionQueryParams {\n activeOnly: boolean;\n inUse: boolean;\n notArchive: boolean;\n}\n\nexport type ServiceActivateData = {\n activateTime: number;\n}\n\nexport interface ServiceData {\n address?: string;\n braintreeNonce?: string;\n cardNumber?: string;\n city?: string;\n count?: number;\n country?: string;\n cvv?: string;\n email?: string;\n expirationDate?: string;\n firstName?: string;\n lastName?: string;\n organization?: string;\n paymentMethod: PaymentMethod;\n phone?: string;\n serviceId: number;\n state?: string;\n stripeToken?: string;\n vatId?: string;\n zip?: string;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum SharedResourceType {\n DEVICE_GROUP = 'DEVICE_GROUP',\n FILE = 'FILE',\n PROJECT = 'PROJECT',\n}\n\nexport type SharedResource = {\n id: number;\n name: string;\n resourceId: number;\n type: SharedResourceType;\n}\n\nexport interface ShareData extends QueryParams {\n accessGroupId: number;\n email: string;\n}\n","import {Method} from 'axios';\nimport {CollectionResponse} from './HTTP';\n\n\nexport enum TestResult {\n PASSED = 'PASSED',\n FAILED = 'FAILED',\n SKIPPED = 'SKIPPED',\n NOT_AVAILABLE = 'NOT_AVAILABLE'\n}\n\nexport type TestCaseRun = {\n className: string;\n createTime: number;\n duration: number;\n errorMessage: string;\n id: number;\n methodName: string;\n result: TestResult;\n stacktrace: string;\n steps: CollectionResponse;\n suiteName: string;\n}\n\nexport type TestCaseRunStep = {\n duration: number;\n httpMethod: Uppercase;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n","import {Device} from './Device';\nimport {TunnelSettings} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, QueryParams} from './HTTP';\nimport {Tag} from './Tag';\n\n\nexport enum LimitationType {\n PACKAGE = 'PACKAGE',\n CLASS = 'CLASS'\n}\n\nexport enum TestScheduler {\n PARALLEL = 'PARALLEL',\n SERIAL = 'SERIAL',\n SINGLE = 'SINGLE',\n ALL_INSTANCES = 'ALL_INSTANCES'\n}\n\nexport enum TestState {\n WAITING = 'WAITING',\n RUNNING = 'RUNNING',\n FINISHED = 'FINISHED'\n}\n\n\nexport type TestRun = {\n abortedDeviceCount: number;\n billable: boolean;\n config: TestRunConfig;\n createTime: number;\n deviceCount: number;\n displayName: string;\n errorsDeviceCount: number;\n excludedDeviceCount: number;\n executedTestCaseCount: number;\n executionRatio: number;\n failedTestCaseCount: number;\n finishedDeviceCount: number;\n frameworkId: number;\n frameworkName: string;\n id: number;\n logsFileId: number;\n message: string;\n 'number': number;\n projectId: number;\n projectName: string;\n rowIndex: number;\n runningDeviceCount: number;\n screenshotsFileId: number;\n startTime: number;\n startedByDisplayName: string;\n startedById: number;\n state: TestState;\n succeededDeviceCount: number;\n successRatio: number;\n successfulTestCaseCount: number;\n tags: Array;\n testCaseCount: number;\n timeoutedDeviceCount: number;\n totalDeviceCount: number;\n uiLink: string;\n userId: number;\n waitingDeviceCount: number;\n warningDeviceCount: number;\n}\n\nexport type TestRunConfig = {\n appCrawlerRun: boolean;\n appiumBrokerAddress: string;\n applicationPassword: string;\n applicationUsername: string;\n availableDeviceGroups: any;\n availableDevices: Array;\n availableFrameworks: any;\n availableOsTypes: Array;\n clientSideTestConfig: any;\n computedDevices: Array;\n creditsPrice: number;\n deviceGroupId: number;\n deviceIds: any;\n deviceLanguageCode: string;\n deviceNamePattern: string;\n disableResigning: boolean;\n files: any;\n frameworkId: number;\n hookURL: string;\n id: number;\n instrumentationRunner: string;\n limitationType: LimitationType;\n limitationValue: string;\n loadedPrevious: boolean;\n example: true;\n maxAutoRetriesCount: number;\n maxTestTimeout: any;\n osType: OsType;\n projectId: number;\n projectName: string;\n resignFiles: boolean;\n runAvailable: boolean;\n scheduler: TestScheduler;\n screenshotDir: string;\n status: string;\n statusCode: number;\n testRunId: number;\n testRunName: string;\n testRunNameGrouping: string;\n testRunParameters: any;\n timeout: number;\n tunnelSettings: TunnelSettings;\n useSamples: boolean;\n usedDeviceGroupId: number;\n usedDeviceGroupName: string;\n videoRecordingEnabled: boolean;\n withAnnotation: string;\n withoutAnnotation: string;\n}\n\nexport interface TestRunData extends QueryParams {\n displayName: string;\n}\n\nexport interface RunData extends TestRunData {\n projectId: number;\n}\n\nexport interface RunQueryParam extends QueryParams {\n projectId: number;\n}\n\nexport interface TestRunsData {\n configuration: TestRunConfig;\n}\n\nexport interface TestRunsConfigData extends TestRunsData {\n includeDeviceGroups: boolean;\n includeDevices: boolean;\n includeFrameworks: boolean;\n}\n\n// for users/{userid}/runs\nexport interface TestRunsQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n skipCommonProject: boolean;\n skipShared: boolean;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport enum MfaStatus {\n VERIFICATION_NEED = 'VERIFICATION_NEED',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport enum UserStatus {\n INACTIVE = 'INACTIVE',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport type User = {\n accountId: number;\n accountName: string;\n userAccountName: string;\n accountOwners: Array;\n accountServiceIds: Array;\n address: string;\n apiKey: string;\n city: string;\n code: string;\n country: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n deleteTime: number;\n email: string;\n enabled: boolean;\n firstName: string;\n id: number;\n isAccountOwner: boolean;\n lastLaunchedTestTime: number;\n lastLoginTime: number;\n lastName: string;\n mfaQRCodeUrl: string;\n mfaStatus: MfaStatus;\n organization: string;\n phone: string;\n registrationIP: string;\n roles: Array;\n serviceIds: Array;\n state: string;\n status: UserStatus;\n timeZone: string;\n vatId: string;\n}\n\nexport type UserData = Pick;\n\nexport interface UserParams extends CollectionQueryParams {\n WITH_ADDRESS: boolean;\n WITH_USER_INFO: boolean;\n onlyMainUsers: boolean;\n onlyWithDisabledServices: boolean;\n withRole: string;\n withRoles: boolean;\n}\n\nexport type UserUpdateAccount = Pick;\n\nexport type UserDeleteData = {\n password: string;\n}\n\nexport interface LoginData {\n username: string;\n password: string;\n}\n\n\nexport type UserPasswordData = {\n key: string;\n password: string;\n};\nexport type UserActivateData = {\n zip: string;\n} & UserPasswordData\n & Pick;\n\nexport interface UserRecoveryQueryParams extends QueryParams {\n recoveryKey: string;\n}\n\nexport interface ValidateVatQueryParams extends QueryParams {\n countryCode: string;\n vatId: string;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\n\n\nexport enum FileDirection {\n INPUT = 'INPUT',\n OUTPUT = 'OUTPUT'\n}\n\nexport enum FileInputType {\n APPLICATION = 'APPLICATION',\n TEST = 'TEST',\n DATA = 'DATA'\n}\n\nexport enum FileState {\n PREPARING = 'PREPARING',\n READY = 'READY'\n}\n\nexport type FileProperty = {\n id: number;\n key: string;\n value: string;\n};\n\nexport type UserFileTag = {\n id: number;\n name: string;\n}\n\nexport type UserFile = {\n createTime: number;\n directUrl: string;\n direction: FileDirection;\n duplicate: boolean;\n fileProperties: Array;\n iconDirectUrl: string;\n id: number;\n inputType: FileInputType;\n mimetype: string;\n name: string;\n shared: boolean;\n size: number;\n state: FileState;\n userEmail: string;\n userId: number;\n};\n\nexport interface UserFileParams extends CollectionQueryParams {\n tag: Array;\n}\n\nexport type UserFileData = {\n file: FormData;\n global: boolean;\n}\n\nexport type BuildLogsData = {\n deviceRunIds: Array;\n projectId: number;\n userId: number;\n}\n\nexport type BuildLogsParams = BuildLogsData;\n\nexport interface FileSizeData extends QueryParams {\n height: number;\n width: number;\n}\n\nexport type UploadObj = {\n dir: string;\n filename: string;\n}\n\nexport interface FileData {\n file: Blob;\n global: boolean;\n}\n","export enum VisualTestImageType {\n FULL_PAGE = 'FULL_PAGE',\n VIEWPORT = 'VIEWPORT',\n ELEMENT_SCREENSHOT = 'ELEMENT_SCREENSHOT'\n}\n\nexport type VisualTestAccess = {\n enabled: boolean;\n apiKey: string | null;\n}\n\nexport type VisualTest = {\n comparisonStatus:\tstring;\n appUrl:\tstring;\n createdAt:\tstring;\n id: number;\n imageName:\tstring;\n imageThumbnailUrl:\tstring;\n imageType:\tVisualTestImageType;\n imageUrl:\tstring;\n sessionId:\tstring;\n testUrl:\tstring;\n}\n"],"names":["finka","APIOrder","AbortController","stringify","InputFileset","OutputFileset","axios","AccessGroupScope","PaymentStatus","PaymentMethod","ChargeType","DeactivateReason","InitStep","DeviceState","AdminErrorType","FrameworkType","BillingType","BrokerType","ClusterState","DeviceGroupOrigin","Platform","SupportedCreators","CriterionField","RetentionStrategy","ProblemType","DeviceSessionType","RetryState","DeviceSessionState","DeviceSessionStepType","SessionReleaseReason","OsType","LicenseStatus","MaintenanceType","NotificationChannel","NotificationScope","ArchivingStrategy","ScreenshotType","ServiceUnit","SharedResourceType","TestResult","LimitationType","TestScheduler","TestState","MfaStatus","UserStatus","FileDirection","FileInputType","FileState","VisualTestImageType"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bitbar-cloud-api-client.js","sources":["../src/Filter.ts","../src/finka.ts","../src/FilterBuilder.ts","../src/api/models/HTTP.ts","../src/api/APIEntity.ts","../src/api/APIList.ts","../src/api/APIResource.ts","../src/api/APIListCleanupConfigurations.ts","../src/api/APIResourceCleanupConfiguration.ts","../src/api/APIAdminListDevices.ts","../src/api/APIAdminListNotificationPlans.ts","../src/api/APIAdminListRuns.ts","../src/api/APIAdminListServices.ts","../src/api/decorators/NonRequestable.ts","../src/api/APIAdminListStatistics.ts","../src/api/APIAdminResourceAccount.ts","../src/api/APIAdminResourceAccountService.ts","../src/api/APIAdminResourceCluster.ts","../src/api/APIAdminResourceDevice.ts","../src/api/APIAdminResourceDeviceModel.ts","../src/api/class/InputFileset.ts","../src/api/class/Images.filter.ts","../src/api/class/NonMedia.filter.ts","../src/api/class/OutputFileset.ts","../src/api/APIResourceDeviceSessionCommon.ts","../src/api/factory/postAdminDeviceSessionChangeBillable.ts","../src/api/APIAdminResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceDeviceTime.ts","../src/api/APIAdminResourceFramework.ts","../src/api/APIAdminResourceLicense.ts","../src/api/APIAdminResourceNotificationPlan.ts","../src/api/factory/postDeviceRunIds.ts","../src/api/APIAdminResourceRunStandalone.ts","../src/api/APIAdminResourceService.ts","../src/api/APIAdminResourceUserAccount.ts","../src/api/APIResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceUser.ts","../src/api/APIResourceAccessGroup.ts","../src/api/APIResourceDeviceGroup.ts","../src/api/APIResourceFile.ts","../src/api/APIResourceDeviceSession.ts","../src/api/APIResourceRunCommon.ts","../src/api/APIResourceRun.ts","../src/api/APIResourceProject.ts","../src/api/APIAdminResource.ts","../src/api/APIListDevices.ts","../src/api/APIListProperties.ts","../src/api/APIListServices.ts","../src/api/APIListUsers.ts","../src/api/APIResourceBillingPeriod.ts","../src/api/APIResourceAccount.ts","../src/api/APIResourceBroker.ts","../src/api/APIResourceDevice.ts","../src/api/APIResourceLabelGroup.ts","../src/api/APIListFiles.ts","../src/api/APIResourceChannel.ts","../src/api/APIListNotifications.ts","../src/api/APIListRuns.ts","../src/api/APIListSmartbearTunnels.ts","../src/api/APIResourceNotification.ts","../src/api/APIResourceUser.ts","../src/api/APIResourceUserSession.ts","../src/API.ts","../src/CloudAPIClient.ts","../src/api/models/AccessGroup.ts","../src/api/models/AccountService.ts","../src/api/models/AdminDevice.ts","../src/api/models/AdminError.ts","../src/api/models/AdminFrameworkStatistics.ts","../src/api/models/BillingPeriod.ts","../src/api/models/Broker.ts","../src/api/models/Cluster.ts","../src/api/models/Device.ts","../src/api/models/DeviceModelCriterion.ts","../src/api/models/DeviceModelPool.ts","../src/api/models/DeviceProblem.ts","../src/api/models/DeviceSession.ts","../src/api/models/Enum.ts","../src/api/models/License.ts","../src/api/models/Maintenance.ts","../src/api/models/Notification.ts","../src/api/models/Project.ts","../src/api/models/Screenshot.ts","../src/api/models/Service.ts","../src/api/models/SharedResource.ts","../src/api/models/TestCaseRun.ts","../src/api/models/TestRun.ts","../src/api/models/User.ts","../src/api/models/UserFile.ts","../src/api/models/VisualTest.ts"],"sourcesContent":["/**\n * Filter\n */\n\nexport class Filter {\n name: string;\n value: T;\n operand: string;\n\n constructor(name: string, value: T, operand: string) {\n this.name = name;\n this.value = value;\n this.operand = operand;\n }\n}\n\nexport default Filter;\n","import finka from '@bitbar/finka';\n\nfinka();\n\nexport default {};\n","import {Filter} from './Filter';\nimport './finka';\n\n/**\n * FilterBuilder\n *\n * Builds filter string according to Bitbar Cloud backend convention\n */\nexport class FilterBuilder {\n\n private readonly filters: Array = [];\n\n gt(name: string, value: number): this {\n return this.add(name, value, 'gt');\n }\n\n\n lt(name: string, value: number): this {\n return this.add(name, value, 'lt');\n }\n\n after(name: string, value: Date | number): this {\n return this.add(name, value, 'after', true);\n }\n\n afterorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'afterorequal', true);\n }\n\n before(name: string, value: Date | number): this {\n return this.add(name, value, 'before', true);\n }\n\n beforeorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'beforeorequal', true);\n }\n\n on(name: string, value: any): this {\n return this.add(name, value, 'on');\n }\n\n eq(name: string, value: any): this {\n return this.add(name, value, 'eq');\n }\n\n contains(name: string, value: string): this {\n return this.add(name, value, 'contains');\n }\n\n like(name: string, value: string): this {\n return this.add(name, value, 'like');\n }\n\n notlike(name: string, value: string): this {\n return this.add(name, value, 'notlike');\n }\n\n isnull(name: string): this {\n return this.add(name, undefined, 'isnull');\n }\n\n isnotnull(name: string): this {\n return this.add(name, undefined, 'isnotnull');\n }\n\n in(name: string, value: Array): this {\n return this.add(name, value, 'in', true);\n }\n\n notin(name: string, value: Array): this {\n return this.add(name, value, 'notin', true);\n }\n\n raw(filter: Filter | string | Filter[] | string[]): void {\n const filters = Array.wrap(filter);\n for (const filter of filters) {\n if (this.isFilterPart(filter)) {\n this.filters.push(filter);\n } else {\n throw new SyntaxError(`Filter ${filter} has invalid syntax`);\n }\n }\n }\n\n\n /**\n * Check if given string is proper filter part\n */\n isFilterPart(str: string): boolean {\n return /^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(str);\n }\n\n toString(): string {\n const parts: Array = [];\n\n let part: string,\n val: string;\n\n for (const filter of this.filters) {\n if (typeof filter === 'string') {\n part = filter;\n } else {\n val = '';\n if (filter.value.length > 1 || typeof filter.value[0] !== 'undefined') {\n val = `_${filter.value.join('|')}`;\n }\n part = `${filter.name}_${filter.operand}${val}`;\n }\n parts.push(part);\n }\n\n return parts.join(';');\n }\n\n /**\n * Add filter to filters list\n * @param name {string} Name\n * @param value {*} Value\n * @param operand {string} Operand\n * @param [checkNull=false] {boolean} Check null?\n * @returns {FilterBuilder}\n */\n private add(name: string, value: T, operand: string, checkNull = false): this {\n\n let _value = Array.wrap(value);\n\n if (_value.length === 0) {\n return this;\n }\n\n // auto-convert\n for (let i = 0; i < _value.length; i++) {\n const v = _value[i];\n if (typeof v === 'object' && v instanceof Date) {\n _value[i] = v.getTime();\n }\n }\n\n let isNull = false;\n if (checkNull) {\n // check null existence\n for (const v of _value) {\n if (v !== null) {\n continue;\n }\n isNull = true;\n }\n\n if (isNull) {\n _value = _value.filter((item: any) => item !== null);\n operand += 'ornull';\n }\n }\n\n if (operand.endsWith('ornull') && _value.length === 0) {\n operand = 'isnull';\n }\n\n // add filter\n this.filters.push(new Filter>(name, _value, operand));\n\n return this;\n }\n}\n\n\nexport default FilterBuilder;\n","import {Method} from 'axios';\n\n\n/**\n * Allowed methods\n *\n * @constant\n * @type {Array}\n * @default\n */\nexport const ALLOWED_HTTP_METHODS: Array = ['GET', 'POST', 'DELETE'];\n\nexport type QueryParam = string | number | boolean;\nexport type QueryParams = Record>;\n\nexport enum APIOrder {\n asc = 'a',\n desc = 'd'\n}\n\nexport interface CollectionQueryParams extends QueryParams {\n filter: string;\n limit: number;\n offset: number;\n sort: string;\n search: string;\n}\n\nexport type CollectionBasicQueryParams = Omit\n\nexport type NoQueryParams = {\n [key in any]: never;\n}\n\nexport type CollectionResponse = {\n data: Array;\n empty: boolean;\n id: number;\n limit: number;\n next: string;\n offset: number;\n previous: string;\n search: string;\n sort: string;\n total: number;\n}\n\nexport type SimpleCollectionResponse = Pick, 'data' | 'id'>;\nexport type NoData = void;\n","import {AxiosRequestConfig, AxiosResponse, Method} from 'axios';\nimport {stringify} from 'qs';\nimport {API} from '../API';\nimport {ALLOWED_HTTP_METHODS, QueryParams} from './models/HTTP';\nimport {AbortController} from 'node-abort-controller';\n\n\n/**\n * @typeParam RESPONSE HTTP Response return type.\n * @typeParam QUERY_PARAMS Allowed Query Params\n * @typeParam DATA Allowed Data Object\n */\nexport class APIEntity {\n\n root: API;\n\n protected stack: Array = [];\n protected requestConfig: AxiosRequestConfig = {};\n protected ALLOWED_HTTP_METHODS: Array = ALLOWED_HTTP_METHODS;\n protected abortController: AbortController;\n\n /**\n * Constructor\n * @param {APIEntity|object} [parent] - Specifies a parent from which should be inherited properties\n */\n constructor(parent: APIEntity | API) {\n if (parent instanceof APIEntity) {\n this.root = parent.root;\n\n if (Array.isArray(parent.stack)) { //???\n this.push(...parent.stack);\n }\n\n if (parent.requestConfig != null) {\n this.setRequestConfig(parent.requestConfig);\n }\n } else {\n this.root = parent;\n }\n this.abortController = new AbortController();\n }\n\n abortRequest() {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n push(...items: Array): this {\n this.stack = this.stack.concat(items);\n return this;\n }\n\n shift(): this {\n this.stack.shift();\n return this;\n }\n\n restack(...items: Array): this {\n this.stack = items;\n return this;\n }\n\n /**\n * Get first element of the stack\n */\n get first(): string | number {\n return this.stack[0];\n }\n\n /**\n * Get last element of the stack\n */\n get last(): string | number {\n return this.stack[this.stack.length - 1];\n }\n\n /**\n * Set last element of the stack\n */\n set last(val) {\n this.stack[this.stack.length - 1] = val;\n }\n\n toUrl(absolute = false): string {\n let url = `/${this.stack.join('/')}`;\n\n if (absolute) {\n url = this.root.baseUrl + url;\n }\n\n return url;\n }\n\n setRequestConfig(requestConfig: AxiosRequestConfig): this {\n Object.deepAssign(this.requestConfig, requestConfig);\n return this;\n }\n\n removeRequestConfig(key: keyof AxiosRequestConfig): this {\n delete this.requestConfig[key];\n return this;\n }\n\n headers(headers: Record): this {\n const _headers: Record = {};\n\n // Unify/Standarize headers keys\n for (const key in headers) {\n const newKey = key.replace(/(?:^|-)([a-z])/g, (letter) => letter.toUpperCase());\n _headers[newKey] = headers[key];\n }\n\n return this.setRequestConfig({\n headers: _headers\n });\n }\n\n /**\n * Set HTTP method\n */\n method(name: Method): this {\n const NAME: Uppercase = >name.toLocaleUpperCase();\n const isAllowed: boolean = this.ALLOWED_HTTP_METHODS.indexOf(NAME) > -1;\n\n if (!isAllowed) {\n throw new Error(`Method '${NAME}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(', ')}`);\n }\n\n return this.setRequestConfig({\n method: NAME\n });\n }\n\n /**\n * Set GET as HTTP method\n */\n get(): this {\n return this.method('GET');\n }\n\n /**\n * Set POST as HTTP method\n */\n post(): this {\n return this.method('POST');\n }\n\n /**\n * Set DELETE as HTTP method\n */\n delete(): this {\n return this.method('DELETE');\n }\n\n /**\n * Set params\n */\n params(params: Pick): this {\n this.setRequestConfig({params});\n return this;\n }\n\n getParams(): Partial {\n return this.requestConfig.params == null ? {} : this.requestConfig.params;\n }\n\n removeParam(key: keyof QUERY_PARAMS): this {\n delete this.requestConfig.params[key];\n return this;\n }\n\n /**\n * Set data\n */\n data(data: DATA): this {\n this.setRequestConfig({data});\n return this;\n }\n\n /**\n * Set JSON data\n */\n jsonData(data: DATA): this {\n this.headers({\n 'Content-Type': 'application/json'\n }).data(data);\n return this;\n }\n\n /**\n * Set form data\n */\n formData(data: DATA): this {\n this.headers({\n 'Content-Type': 'multipart/form-data'\n }).data(data);\n return this;\n }\n\n /**\n * Send request\n */\n send(): Promise> {\n const requestConfig = Object.deepAssign({}, this.requestConfig, {\n url: `/${this.stack.join('/')}`,\n signal: this.abortController.signal\n });\n\n // Set default headers\n if (requestConfig.headers == null) {\n requestConfig.headers = {};\n }\n\n // Set default Content-Type\n if (requestConfig.headers['Content-Type'] == null) {\n requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n\n // Convert data if needed\n if (requestConfig.method === 'POST' &&\n (requestConfig.headers['Content-Type']).startsWith('application/x-www-form-urlencoded') &&\n requestConfig.data != null) {\n requestConfig.data = this.paramsSerializer(requestConfig.data);\n }\n\n if (requestConfig.params) {\n requestConfig.paramsSerializer = this.paramsSerializer;\n }\n\n // Send request\n return this.root.axios.request(requestConfig);\n }\n\n protected paramsSerializer(params: DATA | QUERY_PARAMS): string {\n return stringify(params, {\n arrayFormat: 'brackets'\n });\n }\n}\n\n\nexport default APIEntity;\n","import {AxiosResponse} from 'axios';\nimport {FilterBuilder} from '../FilterBuilder'\nimport {APIEntity} from './APIEntity'\nimport {APIOrder, CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, NoQueryParams, SimpleCollectionResponse} from './models/HTTP';\n\n\nexport const DEFAULT_LIMIT: number = 20;\nexport const DEFAULT_OFFSET: number = 0;\n\nexport class APIList\n extends APIEntity | SimpleCollectionResponse, QUERY_PARAMS, DATA> {\n\n /**\n * Shortcut for sending data POST\n */\n create(data: DATA): Promise> {\n return this.post().data(data).send();\n }\n\n /**\n * Sets sorting\n *\n * @public\n * @param {string} name - Name of the column according to which the data will be sorted\n * @param {string} [order=a] - Sorting order. Possibilities: 'a', 'd'\n */\n sort(name: string, order: APIOrder = APIOrder.asc): this {\n return this.params<'sort'>({\n sort: `${name}_${order}`\n });\n }\n\n /**\n * Sets limit\n *\n * @public\n * @param {number} [limit=DEFAULT_LIMIT] - Limit to be set\n * @returns this\n */\n limit(limit = DEFAULT_LIMIT): this {\n if (!Number.isNatural(limit)) {\n throw new Error(`Limit '${limit}' is invalid!`);\n }\n\n return this.params<'limit'>({\n limit\n });\n }\n\n /**\n * Gets limit\n *\n * @public\n * @returns number\n */\n getLimit(): number {\n const params = this.getParams();\n return params.limit == null ? DEFAULT_LIMIT : params.limit;\n }\n\n /**\n * Disables limit\n *\n * @public\n * @returns this\n */\n noLimit(): this {\n return this.limit(0);\n }\n\n /**\n * Sets offset\n *\n * @public\n * @param {number} [offset=DEFAULT_OFFSET] - Offset to be set\n * @returns this\n */\n offset(offset: number = DEFAULT_OFFSET): this {\n if (!Number.isNatural(offset)) {\n throw new Error(`Offset '${offset}' is invalid!`);\n }\n\n return this.params<'offset'>({\n offset\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE records between range\n *\n * @public\n * @param {number} from - From index\n * @param {number} to - To index\n * @returns this\n */\n between(from: number, to: number): this {\n if (!Number.isNatural(from)) {\n throw new Error(`From '${from}' is invalid!`);\n }\n\n if (!Number.isNatural(to)) {\n throw new Error(`To '${to}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: from,\n limit: 1 + (to - from)\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE one record on given index\n *\n * @public\n * @param {number} idx - Index\n * @returns this\n */\n only(idx: number): this {\n if (!Number.isNatural(idx)) {\n throw new Error(`Index '${idx}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: idx,\n limit: 1\n });\n }\n\n /**\n * Gets current limit and sets offset so that will request from BE one page of records\n *\n * @public\n * @param {number} [page=1] - Page number (counted from 1)\n * @returns this\n */\n page(page = 1): this {\n if (!Number.isNatural(page) || page == 0) {\n throw new Error(`Page '${page}' is invalid!`);\n }\n\n const limit = this.getLimit();\n const offset = (page - 1) * limit;\n\n return this.params<'offset' | 'limit'>({\n offset,\n limit\n });\n }\n\n /**\n * Sets search\n *\n * query param is working like SQL LIKE. BE sets wraps around query with %, and replaces every white character\n * with %. So e.g. if query='my device', then it's searching for '%my%device%' in DB.\n *\n * @public\n * @param {string} query - Query to search for\n * @returns this\n */\n search(query: string): this {\n if (typeof query !== 'string') {\n throw new Error('Search query must be a string!');\n }\n\n return this.params<'search'>({\n search: query\n });\n }\n\n /**\n * Sets filter\n *\n * @public\n * @param {FilterBuilder|string} filter - Filter\n * @returns this\n */\n filter(filter: FilterBuilder | string): this {\n const isFilterBuilder = filter instanceof FilterBuilder;\n\n if (typeof filter !== 'string' && !isFilterBuilder) {\n throw new Error('Filter must be either string or instance of FilterBuilder');\n }\n\n return this.params<'filter'>({\n filter: filter.toString()\n });\n }\n\n /**\n * Alias for 'noLimit'\n *\n * @public\n * @see noLimit\n * @returns this\n */\n all: typeof APIList.prototype.noLimit = this.noLimit;\n\n /**\n * Alias for 'between'\n *\n * @public\n * @param {number} from - From idx\n * @param {number} to - To idx\n * @returns this\n */\n cut: typeof APIList.prototype.between = this.between;\n}\n\nexport default APIList;\n","import {APIEntity} from './APIEntity'\nimport {QueryParams} from './models/HTTP';\n\n\n/**\n * APIResource\n *\n * @class\n * @extends APIEntity\n */\nexport class APIResource\n extends APIEntity {\n}\n\n\nexport default APIResource;\n","import {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {CleanupConfigurationData, SpecificCleanupConfigurationQueryParams} from './models/CleanupConfiguration';\nimport {DeviceCleanupConfiguration} from './models/Device';\nimport {CollectionQueryParams, NoData} from './models/HTTP';\n\n\nexport class APIListCleanupConfigurations extends APIList {\n\n /**\n * /cleanup-configurations\n */\n constructor(parent: APIAdminListDevices) {\n super(parent);\n this.push('cleanup-configurations');\n }\n\n // /cleanup-configurations/specific\n specific() {\n return new APIResource, NoData>(this)\n .push('specific');\n }\n\n}\n\nexport default APIListCleanupConfigurations\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIResource} from './APIResource'\nimport {CleanupConfigurationSpecificData, DeviceCleanupConfiguration} from './models/Device';\nimport {NoData} from './models/HTTP';\n\n\nexport class APIResourceCleanupConfiguration extends APIResource {\n //shuldn't it be APIAdminResourceCleanupConfiguration\n\n /**\n * admin/devices/cleanup-configurations/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('cleanup-configurations', id);\n }\n\n // admin/devices/cleanup-configurations/specific\n devices() {\n return new APIResource(this).push('devices');\n }\n\n}\n\nexport default APIResourceCleanupConfiguration\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIListCleanupConfigurations} from './APIListCleanupConfigurations';\nimport {APIResourceCleanupConfiguration} from './APIResourceCleanupConfiguration';\nimport {AdminDevice, AdminDeviceData, AdminDevicesQueryParams} from './models/AdminDevice';\n\n\nexport class APIAdminListDevices extends APIList {\n\n /**\n * /admin/devices\n */\n constructor(parent: APIAdminResource | API) {\n super(parent);\n this.push('admin', 'devices');\n }\n\n // /admin/devices/cleanup-configurations\n cleanupConfigurations() {\n return new APIListCleanupConfigurations(this);\n }\n\n // /admin/devices/cleanup-configurations/{id}\n cleanupConfiguration(id: number) {\n return new APIResourceCleanupConfiguration(this, id);\n }\n\n}\n\nexport default APIAdminListDevices;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {NotificationPlan, NotificationPlanData} from './models/NotificationPlan';\n\n\nexport class APIAdminListNotificationPlans extends APIList {\n\n /**\n * /admin/notification-plans\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'notification-plans');\n }\n\n // /notification-plans/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n // /notification-plans/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\n\nexport default APIAdminListNotificationPlans\n","import {Method} from 'axios';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource';\nimport {AdminTestRun, RunsConfigParams} from './models/AdminTestRun';\nimport {TestRunConfig} from './models/TestRun';\n\nexport class APIAdminListRuns extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /admin/runs\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'runs');\n }\n\n // /runs/config\n config() {\n const apiResource = new APIResource(this);\n apiResource.restack('runs', 'config');\n return apiResource;\n }\n\n}\n\n\nexport default APIAdminListRuns\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {AdminServicesParams, Service} from './models/Service';\n\n\nexport class APIAdminListServices extends APIList {\n\n /**\n * /admin/services\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'services');\n }\n\n active() {\n const apiList = new APIList(this);\n apiList.params<'notArchived'>({\n notArchived: true\n });\n return apiList;\n }\n\n activated() {\n const apiList = this.active();\n apiList.params<'filter' | 'limit' | 'sort'>({\n filter: 'activated_eq_true',\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n inUse() {\n const apiList = new APIList(this);\n apiList.params<'inUse' | 'limit' | 'sort'>({\n inUse: true,\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n byPrice() {\n const apiList = new APIList(this);\n apiList.params<'sort'>({\n sort: 'centPrice_a'\n })\n return apiList;\n }\n\n}\n\nexport default APIAdminListServices;\n","import {AxiosResponse} from 'axios';\n\nexport function NonRequestable(constructor: T) {\n return class extends constructor {\n send(): Promise {\n return Promise.reject();\n }\n };\n}\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AdminDeviceSessionStatistics, AdminStatisticsParams} from './models/AdminDeviceSessionStatistics';\nimport {AdminFrameworkStatistics} from './models/AdminFrameworkStatistics';\nimport {NoData} from './models/HTTP';\n\n\n@NonRequestable\nexport class APIAdminListStatistics extends APIList {\n\n /**\n * /admin/statistics\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'statistics');\n }\n\n // /admin/statistics/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /admin/statistics/frameworks\n frameworks() {\n return new APIList(this).push('frameworks');\n }\n\n\n}\n\n\nexport default APIAdminListStatistics\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {Account} from './models/Account';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleParams} from './models/Role';\nimport {AccountService} from './models/AccountService';\nimport {AccountPreferences, AccountPreferencesData} from './models/AccountPreference';\n\n\nexport class APIAdminResourceAccount extends APIResource {\n\n /**\n * /admin/accounts/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'accounts', id);\n }\n\n // /admin/accounts/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/accounts/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n // //admin/accounts/{id}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n}\n\nexport default APIAdminResourceAccount\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {AccountService} from './models/AccountService';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIAdminResourceAccountService extends APIResource {\n\n /**\n * /admin/account-services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'account-services', id);\n }\n\n // /account-services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /account-services/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate').post();\n }\n\n}\n\nexport default APIAdminResourceAccountService\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice} from './models/AdminDevice';\nimport {Cluster, ClusterData, ClusterParams} from './models/Cluster';\n\n\nexport class APIAdminResourceCluster extends APIResource {\n\n /**\n * /clusters/{id}\n */\n constructor(parent: API | APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('clusters', id);\n }\n\n // /clusters/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n}\n\nexport default APIAdminResourceCluster\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice, AdminDeviceData} from './models/AdminDevice';\nimport {AdminDeviceSession} from './models/AdminDeviceSession';\nimport {\n DeviceCleanupConfiguration,\n DeviceCleanupConfigurationData,\n DeviceLabelData,\n DeviceProperty\n} from './models/Device';\nimport {NoData, NoQueryParams, QueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDevice extends APIResource {\n\n /**\n * /admin/devices/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'devices', id);\n }\n\n // /admin/devices/{id}/cleanup-configuration\n cleanupConfiguration() {\n return new APIResource(this).push('cleanup-configuration');\n }\n\n // /admin/devices/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /admin/devices/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n // /admin/devices/{id}/queue\n queue() {\n return new APIList(this).push('queue');\n }\n\n}\n\nexport default APIAdminResourceDevice\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser, DeviceBrowserData} from './models/Browser';\nimport {DeviceModel, DeviceModelData} from './models/DeviceModel';\nimport {NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDeviceModel extends APIResource {\n\n /**\n * /admin/device-models/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'device-models', id);\n }\n\n // /admin/device-models/{id}/browsers\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIAdminResourceDeviceModel;\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {NoData} from '../models/HTTP';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\n\n\n@NonRequestable\nexport class InputFileset extends APIResource {\n\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('input-file-set');\n }\n\n /**\n * @endpoint /input-file-set/files\n */\n files() {\n return new APIList(this).push('files');\n }\n\n /**\n * @endpoint /input-file-set/files.zip\n */\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n}\n\nexport default InputFileset\n","// Create image files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const IMAGE_FILES_FILTER = new FilterBuilder();\nIMAGE_FILES_FILTER.eq('state', 'READY');\nIMAGE_FILES_FILTER.in('mimetype', [\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif'\n]);\nIMAGE_FILES_FILTER.notlike('name', 'action-%%');\n","// Create non-media files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const NON_MEDIA_FILES_FILTER = new FilterBuilder();\nNON_MEDIA_FILES_FILTER.eq('state', 'READY');\nNON_MEDIA_FILES_FILTER.notin('mimetype', [\n // no images\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif',\n\n // no videos\n 'video/mp4', 'video/avi', 'video/webm', 'video/ogg', 'video/mpeg'\n]);\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {Screenshot} from '../models/Screenshot';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\nimport {IMAGE_FILES_FILTER} from './Images.filter';\nimport {NON_MEDIA_FILES_FILTER} from './NonMedia.filter';\n\n\n@NonRequestable\nexport class OutputFileset extends APIResource {\n\n /**\n * /output-file-set\n *\n * Constructor\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('output-file-set');\n }\n\n // /output-file-set/files\n files() {\n return new APIList(this).push('files');\n }\n\n // /output-file-set/files/{id}\n file(id: number) {\n return new APIResource(this).push('files', id);\n }\n\n // /output-file-set/files.zip\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n\n // /output-file-set/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /output-file-set/screenshots/{id}\n screenshot(id: number) {\n return new APIResource(this).push('screenshots', id);\n }\n\n // /output-file-set/screenshots/{id}/file/{id}\n screenshotFile(id: number) {\n return this.screenshot(id).push('file');\n }\n\n // Filter files out by ready videos\n videos() {\n return this.files().params({\n filter: 's_state_eq_READY',\n tag: ['video']\n });\n }\n\n // Filter files out by non-media\n nonMediaFiles() {\n return this.files().filter(NON_MEDIA_FILES_FILTER);\n }\n\n performance() {\n return this.files().params({\n tag: ['performance']\n })\n }\n\n images() {\n return this.files().filter(IMAGE_FILES_FILTER);\n }\n\n}\n\nexport default OutputFileset\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {InputFileset} from './class/InputFileset'\nimport {OutputFileset} from './class/OutputFileset'\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\nimport {\n DeviceSession,\n DeviceSessionCommand,\n DeviceSessionStep,\n SessionQueryParams,\n SessionRunStepQueryParams,\n SessionStepQueryParams\n} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot} from './models/Screenshot';\nimport {TestCaseRun} from './models/TestCaseRun';\n\nexport class APIResourceDeviceSessionCommon extends APIResource implements DeviceSessionCommon {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/commands\n commands() {\n return new APIList(this).push('commands');\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /device-sessions/{id}/screenshots/{id}\n screenshot(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('screenshots', id);\n }\n\n // /device-sessions/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /device-sessions/{id}/steps/{id}\n step(id: number | 'current') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('steps', id);\n }\n\n // /device-sessions/{id}/steps/current\n currentStep() {\n return this.step('current');\n }\n\n // /device-sessions/{id}/test-case-runs\n testCaseRuns() {\n return new APIList(this).push('test-case-runs');\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n logs() {\n return new APIResource(this).push('logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n clusterLogs() {\n return new APIResource(this).push('cluster-logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n}\n\nexport default APIResourceDeviceSessionCommon\n","import {APIResource} from '../APIResource';\nimport APIResourceDeviceSessionCommon from '../APIResourceDeviceSessionCommon';\nimport {DeviceSession} from '../models/DeviceSession';\n\nexport function postAdminDeviceSessionChangeBillable(parent: APIResourceDeviceSessionCommon, billable: boolean) {\n const apiResource = new APIResource(parent);\n const deviceSessionId = apiResource.last;\n\n return apiResource.restack('admin', 'device-sessions', deviceSessionId, 'changebillable').params({\n billable\n }).post();\n}\n\nexport default postAdminDeviceSessionChangeBillable;\n","import {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {postAdminDeviceSessionChangeBillable} from './factory/postAdminDeviceSessionChangeBillable';\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\n\n\n/**\n * APIAdminResourceDevice\n *\n *\n * It will require more work to decouple from regular session\n */\nexport class APIAdminResourceDeviceSessionStandalone extends APIResourceDeviceSessionCommon implements DeviceSessionCommon {\n\n // /admin/device-sessions/{id}/changebillable\n changeBillable(billable: boolean) {\n return postAdminDeviceSessionChangeBillable(this, billable);\n }\n}\n\nexport default APIAdminResourceDeviceSessionStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {DeviceTimeCountSessionReportEntry} from './models/DeviceTimeCountSessionReportEntry';\nimport {DeviceTimeStepTimeReportEntry} from './models/DeviceTimeStepTimeReportEntry';\nimport {NoData} from './models/HTTP';\nimport {DeviceTimeParams, UserDeviceTime} from './models/UserDeviceTime';\n\nexport class APIAdminResourceDeviceTime extends APIList {\n\n /**\n * /admin/device-time\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'device-time');\n }\n\n // /device-time/count-session-report\n countSessionReport() {\n return new APIList(this).push('count-session-report');\n }\n\n // /device-time/step-time-report\n stepTimeReport() {\n return new APIList(this).push('step-time-report');\n }\n\n}\n\nexport default APIAdminResourceDeviceTime\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Framework, FrameworkConfigData, FrameworkEditData} from './models/Framework';\nimport {NoQueryParams} from './models/HTTP';\nimport {ProjectJobConfig} from './models/ProjectJobConfig';\nimport {Role} from './models/Role';\n\nexport class APIAdminResourceFramework extends APIResource {\n\n /**\n * /admin/frameworks/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'frameworks', id);\n }\n\n // /admin/frameworks/{id}/config\n config() {\n return new APIResource(this).push('config');\n }\n\n // /admin/frameworks/{id}/required-roles\n requiredRoles() {\n return new APIList(this).push('required-roles');\n }\n\n}\n\nexport default APIAdminResourceFramework\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\n\nexport class APIAdminResourceLicense extends APIResource {\n\n /**\n * /licenses/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'licenses', id);\n }\n\n // /licenses/{id}/activate\n activate() {\n return new APIResource(this).push('activate');\n }\n\n // /licenses/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate');\n }\n\n // /licenses/{id}/resend\n resend() {\n return new APIResource(this).push('resend');\n }\n\n // /licenses/{id}/download\n download() {\n return new APIResource(this).push('download');\n }\n\n}\n\nexport default APIAdminResourceLicense\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Notification} from './models/Notification';\nimport {NotificationPlan, NotificationPlanEditData} from './models/NotificationPlan';\n\nexport class APIAdminResourceNotificationPlan extends APIResource {\n\n /**\n * /admin/notification-plans/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'notification-plans', id);\n }\n\n // /admin/notification-plans/{id}/check\n check() {\n return new APIList(this).push('check');\n }\n\n // /admin/notification-plans/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n // /admin/notification-plans/{id}/execute\n execute() {\n return new APIResource(this).push('execute');\n }\n\n}\n\nexport default APIAdminResourceNotificationPlan\n","import {APIEntity} from '../APIEntity';\nimport {APIResource} from '../APIResource';\nimport {BuildLogsData, BuildLogsParams} from '../models/UserFile';\n\nexport function postDeviceRunIds(parent: APIEntity, name: string, ids?: Array) {\n const a = new APIResource(parent).push(name);\n\n if (ids != null) {\n a.params<'deviceRunIds'>({\n deviceRunIds: ids\n });\n }\n\n return a.post();\n}\n\nexport default postDeviceRunIds;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun, RunChangeBillableParams, RunChangePriorityParams} from './models/AdminTestRun';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceRunStandalone extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/changebillable\n changeBillable(billable: boolean) {\n return new APIResource(this).push('changebillable').post().params({\n billable\n });\n }\n\n // /runs/{id}/changepriority\n changePriority(priority?: number) {\n const resource = new APIResource(this).push('changepriority');\n if (priority) {\n resource.post().data({\n priority\n });\n }\n return resource;\n }\n\n // /admin/runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n}\n\nexport default APIAdminResourceRunStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceActivateData} from './models/Service';\n\n\nexport class APIAdminResourceService extends APIResource {\n\n /**\n * /services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'services', id);\n }\n\n // /services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n}\n\nexport default APIAdminResourceService\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccountService, AccountServiceData} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleData} from './models/Role';\nimport {User, UserUpdateAccount} from './models/User';\n\n@NonRequestable\nexport class APIAdminResourceUserAccount extends APIResource {\n\n /**\n * /account\n */\n constructor(parent: APIAdminResourceUser) {\n super(parent);\n this.push('account');\n }\n\n // /account/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /account/roles/{id}\n role(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('roles', id);\n }\n\n // /account-services\n services() {\n const a = new APIList(this);\n a.last += '-services';\n return a;\n }\n\n // /update-account\n update() {\n const a = new APIResource(this);\n a.last = 'update-account';\n return a.post();\n }\n\n}\n\nexport default APIAdminResourceUserAccount\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {InputFileset} from './class/InputFileset';\nimport {OutputFileset} from './class/OutputFileset';\nimport {DeviceSessionStandalone} from './interface/DeviceSessionStandalone';\nimport {Connection, ConnectionData} from './models/Connection';\nimport {DeviceSession, DeviceSessionRelease} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {VisualTest} from './models/VisualTest';\n\nexport class APIResourceDeviceSessionStandalone extends APIResource implements DeviceSessionStandalone {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIResourceUser | APIAdminResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n // /device-sessions/{id}/connections/{id}\n connection(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('connections', id);\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/visual-tests/images\n visualTestsImages() {\n return new APIList(this).push('visual-tests', 'images');\n }\n\n}\n\nexport default APIResourceDeviceSessionStandalone\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIAdminResourceUserAccount} from './APIAdminResourceUserAccount';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\nimport {Role, RoleParams} from './models/Role';\nimport {User} from './models/User';\n\n\n@NonRequestable\nexport class APIAdminResourceUser extends APIResource {\n\n /**\n * /admin/users/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'users', id);\n }\n\n // /admin/users/{id}/disable\n disable() {\n return new APIResource(this).push('disable');\n }\n\n // /admin/users/{id}/enable\n enable() {\n return new APIResource(this).push('enable');\n }\n\n // /admin/users/{id}/licenses\n licenses() {\n return new APIList(this).push('licenses');\n }\n\n // /admin/users/{id}/resend-activation\n resendActivation() {\n return new APIResource(this).push('resend-activation').post();\n }\n\n // /admin/users/{id}/account\n account() {\n return new APIAdminResourceUserAccount(this);\n }\n\n // /admin/users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /admin/users/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/users/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n}\n\nexport default APIAdminResourceUser;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccessGroup} from './models/AccessGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {SharedResource} from './models/SharedResource';\nimport {User, UserData} from './models/User';\n\nexport class APIResourceAccessGroup extends APIResource {\n\n /**\n * /access-groups/{id}\n *\n */\n constructor(parent: APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('access-groups', id);\n }\n\n // /access-groups/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /access-groups/{id}/users/{id}\n user(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('users', id);\n }\n\n // /access-groups/{id}/resources\n resources() {\n return new APIList(this).push('resources');\n }\n\n // /access-groups/{id}/resources/{id}\n resource(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('resources', id);\n }\n\n}\n\nexport default APIResourceAccessGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport APIResourceUser from './APIResourceUser';\nimport {Device, DeviceProperty} from './models/Device';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupParams, DeviceGroupSelectorData} from './models/DeviceGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {ShareData, SharedResource} from './models/SharedResource';\n\nexport class APIResourceDeviceGroup extends APIResource {\n\n /**\n * /device-groups/{id}\n */\n constructor(parent: APIAdminResource | APIResourceUser | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-groups', id);\n }\n\n // /device-groups/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n // /device-groups/{id}/devices/{id}\n device(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('devices', id);\n }\n\n // /device-groups/{id}/selectors\n selectors() {\n return new APIList(this).push('selectors');\n }\n\n // /device-groups/{id}/selectors/{id}\n selector(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('selectors', id);\n }\n\n // /device-groups/{id}/share\n share() {\n return new APIList(this).push('share');\n }\n\n}\n\nexport default APIResourceDeviceGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData} from './models/HTTP';\nimport {Property} from './models/Property';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {FileSizeData, UserFile, UserFileTag} from './models/UserFile';\n\n\nexport class APIResourceFile extends APIResource {\n\n /**\n * /files/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('files', id);\n }\n\n // use this to download file content\n // /files/{id}/file\n file() {\n return new APIResource(this).push('file');\n }\n\n // /files/{id}/icon\n icon() {\n return new APIResource(this).push('icon');\n }\n\n // /files/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n property(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('properties', id);\n }\n\n}\n\nexport default APIResourceFile\n","import {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {DeviceSession} from './interface/DeviceSession';\nimport {DeviceSession as DeviceSessionModel} from './models/DeviceSession';\n\nexport class APIResourceDeviceSession extends APIResourceDeviceSessionCommon implements DeviceSession {\n\n // /device-sessions/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /device-sessions/{id}/retry\n retry() {\n return new APIResource(this).push('retry').post();\n }\n\n}\n\nexport default APIResourceDeviceSession\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun} from './models/AdminTestRun';\nimport {DeviceSession, DeviceSessionStep, TRunDeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot, ScreenshotExtended, ScreenshotQueryParams} from './models/Screenshot';\nimport {Tag, TagsData, TagsQueryParams, TaqQueryParams, TestRunTagsData} from './models/Tag';\nimport {RunData, RunQueryParam, TestRun, TestRunData} from './models/TestRun';\nimport {TestRunDataAvailability, TestRunDataAvailabilityQueryParams} from './models/TestRunDataAvailability';\nimport {UserFile} from './models/UserFile';\n\nexport class APIResourceRunCommon extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/build-logs.zip\n buildLogsZip(ids?: Array) {\n return postDeviceRunIds(this, 'build-logs.zip', ids);\n }\n\n // /runs/{id}/data-availability\n dataAvailability() {\n return new APIResource(this).push('data-availability');\n }\n\n // /runs/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /runs/{id}/files.zip\n filesZip(ids?: Array) {\n return postDeviceRunIds(this, 'files.zip', ids);\n }\n\n // /runs/{id}/logs.zip\n logsZip(ids?: Array) {\n return postDeviceRunIds(this, 'logs.zip', ids);\n }\n\n // /runs/{id}/performance.zip\n performanceZip(ids?: Array) {\n return postDeviceRunIds(this, 'performance.zip', ids);\n }\n\n // /runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n // /runs/{id}/screenshot-names\n screenshotNames() {\n return new APIList(this).push('screenshot-names');\n }\n\n // /runs/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /runs/{id}/screenshots.zip\n screenshotsZip(ids?: Array) {\n return postDeviceRunIds(this, 'screenshots.zip', ids);\n }\n\n // /runs/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /runs/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n // /runs/{id}/tag\n tag(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('tags', id);\n }\n\n}\n\nexport default APIResourceRunCommon\n","import {APIResourceDeviceSession} from './APIResourceDeviceSession'\nimport {APIResourceRunCommon} from './APIResourceRunCommon'\n\nexport class APIResourceRun extends APIResourceRunCommon {\n\n // /runs/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n}\n\nexport default APIResourceRun\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceRun} from './APIResourceRun'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Project} from './models/Project';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {TestRun} from './models/TestRun';\n\nexport class APIResourceProject extends APIResource {\n\n /**\n * /projects/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('projects', id);\n }\n\n // /projects/{id}/runs\n runs() {\n return new APIList(this).push('runs');\n }\n\n // /projects/{id}/runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n // /unarchive\n unarchive() {\n return new APIResource(this).push('unarchive');\n }\n\n}\n\nexport default APIResourceProject\n","import {API} from '../API';\nimport {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIAdminListNotificationPlans} from './APIAdminListNotificationPlans';\nimport {APIAdminListRuns} from './APIAdminListRuns';\nimport {APIAdminListServices} from './APIAdminListServices';\nimport {APIAdminListStatistics} from './APIAdminListStatistics';\nimport APIAdminResourceAccount from './APIAdminResourceAccount';\nimport {APIAdminResourceAccountService} from './APIAdminResourceAccountService';\nimport {APIAdminResourceCluster} from './APIAdminResourceCluster';\nimport {APIAdminResourceDevice} from './APIAdminResourceDevice';\nimport {APIAdminResourceDeviceModel} from './APIAdminResourceDeviceModel';\nimport {APIAdminResourceDeviceSessionStandalone} from './APIAdminResourceDeviceSessionStandalone';\nimport {APIAdminResourceDeviceTime} from './APIAdminResourceDeviceTime';\nimport {APIAdminResourceFramework} from './APIAdminResourceFramework';\nimport {APIAdminResourceLicense} from './APIAdminResourceLicense';\nimport {APIAdminResourceNotificationPlan} from './APIAdminResourceNotificationPlan';\nimport {APIAdminResourceRunStandalone} from './APIAdminResourceRunStandalone';\nimport {APIAdminResourceService} from './APIAdminResourceService';\nimport {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceFile} from './APIResourceFile'\nimport {APIResourceProject} from './APIResourceProject';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccessGroup, AccessGroupData} from './models/AccessGroup';\nimport {Account} from './models/Account';\nimport {AccountService} from './models/AccountService';\nimport {Activity} from './models/Activity';\nimport {AdminDeviceSession, AdminInteractiveDeviceSession} from './models/AdminDeviceSession';\nimport {AdminDeviceType, DeviceTypeData} from './models/AdminDeviceType';\nimport {AdminEmail} from './models/AdminEmail';\nimport {AdminError} from './models/AdminError';\nimport {Administrator} from './models/Administrator';\nimport {AdminOverview} from './models/AdminOverview';\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {Browser, BrowserData} from './models/Browser';\nimport {CountryVatRate, CountryVatRateData} from './models/CountryVatRate';\nimport {DeviceModelCriterion, DeviceModelCriterionData} from './models/DeviceModelCriterion';\nimport {DeviceModelPool, DeviceModelPoolData} from './models/DeviceModelPool';\nimport {Framework, FrameworkData} from './models/Framework';\nimport {License, LicenseData} from './models/License';\nimport {Maintenance, MaintenanceData} from './models/Maintenance';\nimport {Project} from './models/Project';\nimport {Role, RoleParams} from './models/Role';\nimport {Settings, SettingsParams} from './models/Settings';\nimport {User, UserData, UserParams} from './models/User';\nimport {DeviceTimeSummaryParams, UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {UserFile, UserFileData, UserFileParams} from './models/UserFile';\nimport {Cluster} from './models/Cluster';\nimport {DeviceProperty} from './models/Device';\nimport {DeviceGroup} from './models/DeviceGroup';\nimport {DeviceModel} from './models/DeviceModel';\nimport {DeviceProblem} from './models/DeviceProblem';\nimport {DeviceStatus} from './models/DeviceStatus';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n@NonRequestable\nexport class APIAdminResource extends APIResource {\n\n /**\n * /admin\n */\n constructor(parent: API) {\n super(parent);\n }\n\n // /access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /admin/accounts\n accounts() {\n return new APIList(this).push('admin', 'accounts');\n }\n\n // /admin/accounts/{id}\n account(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIAdminResourceAccount(this, id);\n }\n\n // /admin/account-services\n accountServices() {\n return new APIList(this).push('admin', 'account-services');\n }\n\n // /admin/account-services/{id}\n accountService(id: number) {\n return new APIAdminResourceAccountService(this, id);\n }\n\n // activities\n activities() {\n return new APIList(this).push('admin', 'activities');\n }\n\n // admin/administrators\n administrators() {\n return new APIList(this).push('admin', 'administrators');\n }\n\n // /admin/billing-periods\n billingPeriods() {\n return new APIList(this).push('admin', 'billing-periods');\n }\n\n // /admin/billing-periods/{id}\n billingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'billing-periods', id);\n }\n\n // /admin/browsers\n browsers() {\n return new APIList(this).push('admin', 'browsers');\n }\n\n // /admin/browsers/{id}\n browser(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'browsers', id);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /admin/country-vat-rates\n countryVatRates() {\n return new APIList(this).push('admin', 'country-vat-rates');\n }\n\n // /admin/country-vat-rates/{id}\n countryVatRate(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource>(this).push('admin', 'country-vat-rates', id);\n }\n\n // /admin/devices\n devices() {\n return new APIAdminListDevices(this);\n }\n\n // /admin/devices/{id}\n device(id: number) {\n return new APIAdminResourceDevice(this, id);\n }\n\n devicesForModel(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n const apiList = this.devices();\n apiList.params({\n filter: 'deviceModelId_eq_' + id\n });\n return apiList;\n }\n\n // /admin/device/statuses\n deviceStatuses() {\n return new APIList(this).push('admin', 'device', 'statuses');\n }\n\n // /admin/device-models\n deviceModels() {\n return new APIList(this).push('admin', 'device-models');\n }\n\n // /admin/device-models/{id}\n deviceModel(id: number) {\n return new APIAdminResourceDeviceModel(this, id);\n }\n\n // /admin/device-problems\n deviceProblems() {\n return new APIList(this).push('admin', 'device-problems');\n }\n\n // /admin/device-model-criteria\n deviceModelCriterias() {\n return new APIList(this).push('admin', 'device-model-criteria');\n }\n\n // /admin/device-model-criteria/{id}\n deviceModelCriteria(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'device-model-criteria', id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('admin', 'device-sessions');\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIAdminResourceDeviceSessionStandalone(this, id);\n }\n\n // /device-time\n deviceTime() {\n return new APIAdminResourceDeviceTime(this);\n }\n\n // /device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('admin', 'device-time-summary');\n }\n\n // /device-types\n deviceTypes() {\n return new APIList(this).push('admin', 'device-types');\n }\n\n // /device-types/{id}\n deviceType(id: number) {\n return new APIResource(this).push('admin', 'device-types', id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /admin/emails\n emails() {\n return new APIList(this).push('admin', 'emails');\n }\n\n // /admin/emails/{id}/resend\n resendEmail(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'emails', id, 'resend').post();\n }\n\n // /admin/errors\n errors() {\n return new APIList(this).push('admin', 'errors');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /admin/frameworks\n frameworks() {\n return new APIList(this).push('admin', 'frameworks');\n }\n\n // /admin/frameworks/{id}\n framework(id: number) {\n return new APIAdminResourceFramework(this, id);\n }\n\n // /admin/frameworks/available-labels\n frameworkAvailableLabels() {\n const apiList = this.frameworks();\n apiList.push('available-labels');\n return apiList;\n }\n\n // /admin/interactive-queue\n interactiveQueue() {\n return new APIList(this).push('admin', 'interactive-queue');\n }\n\n // /admin/licenses\n licenses() {\n return new APIList(this).push('admin', 'licenses');\n }\n\n // /admin/licenses/{id}\n license(id: number) {\n return new APIAdminResourceLicense(this, id);\n }\n\n // /admin/maintenance\n maintenance() {\n return new APIResource(this).push('admin', 'maintenance');\n }\n\n // /admin/notification-plans\n notificationPlans() {\n return new APIAdminListNotificationPlans(this);\n }\n\n // /admin/notification-plans/{id}\n notificationPlan(id: number) {\n return new APIAdminResourceNotificationPlan(this, id);\n }\n\n // /admin/overview\n overview() {\n return new APIResource(this).push('admin', 'overview');\n }\n\n pools() {\n return new APIList(this).push('admin', 'pools');\n }\n\n pool(id: number) {\n return new APIResource(this).push('admin', 'pools', id);\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /admin/roles\n roles() {\n return new APIList(this).push('admin', 'roles');\n }\n\n // /admin/runs\n runs() {\n return new APIAdminListRuns(this);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIAdminResourceRunStandalone(this, id);\n }\n\n // /admin/samples\n samples() {\n return new APIList>(this).push('admin', 'samples');\n }\n\n // /admin/samples/{id}\n sample(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'samples', id);\n }\n\n // /admin/services\n services() {\n return new APIAdminListServices(this);\n }\n\n // /admin/services/{id}\n service(id: number) {\n return new APIAdminResourceService(this, id);\n }\n\n // /admin/settings\n settings() {\n return new APIResource(this).push('admin', 'settings');\n }\n\n // /admin/statistics\n statistics() {\n return new APIAdminListStatistics(this);\n }\n\n // /users\n users() {\n return new APIList(this).push('users');\n }\n\n // /admin/users\n createUser() {\n return new APIList(this).push('admin', 'users').post();\n }\n\n // /users/{id}\n user(id: number) {\n return new APIAdminResourceUser(this, id);\n }\n\n}\n\nexport default APIAdminResource;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {DesktopBrowserCapabilities} from './models/DesktopBrowserCapabilities';\nimport {Device, DevicesQueryParams} from './models/Device';\nimport {DevicePicker} from './models/DeviceFilter';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIListDevices extends APIList {\n\n /**\n * /devices\n */\n constructor(parent: API) {\n super(parent);\n this.push('devices');\n }\n\n // /devices/filters\n filters() {\n return new APIResource>(this).push('filters');\n }\n\n // /devices/desktop-browser-capabilities\n desktopBrowserCapabilities() {\n return new APIResource(this).push('desktop-browser-capabilities');\n }\n\n}\n\nexport default APIListDevices;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {CollectionQueryParams} from './models/HTTP';\nimport {Property, PropertyData} from './models/Property';\n\n\nexport class APIListProperties extends APIList {\n\n /**\n * /properties\n */\n constructor(parent: API) {\n super(parent);\n this.push('properties');\n }\n\n maintenance() {\n return new APIList(this).params({\n filter: 'name_eq_CLOUD_HEADER_ANNOUNCEMENT',\n limit: 1,\n sort: 'updateTime_d'\n });\n }\n\n}\n\nexport default APIListProperties\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccountService, ServicePaymentStatus} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceData} from './models/Service';\n\n\nexport class APIListServices extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['POST'];\n\n /**\n * /services\n */\n constructor(parent: API | APIResourceUser) {\n super(parent);\n this.push('services');\n }\n\n // /services/available\n available() {\n return new APIList(this).push('available');\n }\n\n active() {\n const apiList = new APIList(this);\n if (this.first === 'me') {\n apiList.push('active');\n } else {\n apiList.params({\n notArchived: true\n });\n }\n return apiList;\n }\n\n byPrice() {\n return new APIList(this).sort('centPrice');\n }\n\n availableByPrice() {\n return new APIList(this).push('available').sort('centPrice');\n }\n\n}\n\nexport default APIListServices\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {\n User,\n UserActivateData,\n UserData,\n UserPasswordData,\n UserRecoveryQueryParams,\n} from './models/User';\n\n\nexport class APIListUsers extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET', 'POST'];\n\n /**\n * /users\n */\n constructor(parent: API) {\n super(parent);\n this.push('users');\n }\n\n // /users/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /users/recoveries\n recoveries() {\n return new APIResource(this).push('recoveries');\n }\n\n // /users/passwordRecovery\n passwordRecovery() {\n return new APIResource(this).push('password-recovery');\n }\n\n}\n\nexport default APIListUsers;\n","import {APIResource} from './APIResource'\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {APIResourceAccount} from './APIResourceAccount';\n\n\n\n\nexport class APIResourceBillingPeriod extends APIResource {\n\n /**\n * /billing-periods/{id}\n */\n constructor(parent: APIResourceAccount, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('billing-periods', id);\n }\n\n // /billing-periods/{id}/receipt\n receipt() {\n return new APIResource(this).push('receipt').setRequestConfig({\n responseType: 'arraybuffer'\n });\n }\n\n}\n\nexport default APIResourceBillingPeriod\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceBillingPeriod} from './APIResourceBillingPeriod';\nimport {Account, AccountData} from './models/Account';\nimport {AccountConcurrencyStatusMap} from './models/AccountConcurrencyStatusMap';\nimport {AccountPreferences} from './models/AccountPreference';\nimport {AccountService} from './models/AccountService';\nimport {AccountServicePayment} from './models/AccountServicePayment';\nimport {BillingPeriod, BillingPeriodQueryParams} from './models/BillingPeriod';\nimport {DeviceTimeSummaryQueryParams} from './models/Device';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams, QueryParams, SimpleCollectionResponse} from './models/HTTP';\nimport {User, UserData} from './models/User';\nimport {DeviceTimeQueryParams, UserDeviceTime} from './models/UserDeviceTime';\nimport {UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {VisualTestAccess} from './models/VisualTest';\n\n\nexport class APIResourceAccount extends APIResource {\n\n /**\n * /accounts/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('accounts', id);\n }\n\n // /accounts/{id}/concurrency-status\n concurrencyStatus() {\n return new APIResource(this).push('concurrency-status');\n }\n\n // /accounts/{id}/device-time\n deviceTime() {\n return new APIList(this).push('device-time');\n }\n\n // /accounts/{id}/device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('device-time-summary');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource>(this).push('preferences');\n }\n\n // /accounts/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /accounts/{accountId}/users/{userId}\n removeUser(id: number) {\n return new APIResource(this).push('users', id);\n }\n\n // /accounts/{accountId}/users/{userId}/disable\n disableUser(id: number) {\n return new APIResource(this).push('users', id, 'disable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/enable\n enableUser(id: number) {\n return new APIResource(this).push('users', id, 'enable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/resend-activation\n resendActivation(id: number) {\n return new APIResource(this).push('users', id, 'resend-activation').post();\n }\n\n // /accounts/{accountId}/billing-periods\n billingPeriods() {\n return new APIList(this).push('billing-periods');\n }\n\n // /accounts/{accountId}/billing-periods/{id}\n billingPeriod(id: number) {\n return new APIResourceBillingPeriod(this, id);\n }\n\n // /account-services/{id}/billing-period\n serviceBillingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('account-services', id, 'billing-period');\n }\n\n // /account/{accountId}/visual-test/access\n visualTestAccess() {\n return new APIResource(this).push('visual-tests', 'access');\n }\n\n // /account/{accountId}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /account/{accountId}/account-services/{id}\n accountService(id: number) {\n return new APIList(this).push('account-services', id);\n }\n\n}\n\nexport default APIResourceAccount;\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Broker} from './models/Broker';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIResourceBroker extends APIResource {\n\n /**\n * /broker\n */\n constructor(parent: API) {\n\n super(parent);\n this.push('broker');\n }\n\n // /broker/hubs\n hubs() {\n return new APIList(this).push('hubs');\n }\n\n}\n\nexport default APIResourceBroker\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser} from './models/Browser';\nimport {Device, DeviceProperiesData, DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams} from './models/HTTP';\n\n\nexport class APIResourceDevice extends APIResource {\n\n /**\n * /devices/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('devices', id);\n }\n\n // /devices/{id}/properties\n properties() {\n return new APIList(this).push('properties');\n }\n\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIResourceDevice\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams, NoQueryParams} from './models/HTTP';\nimport {LabelData, LabelGroup} from './models/LabelGroup';\n\nexport class APIResourceLabelGroup extends APIResource {\n\n /**\n * /label-groups/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('label-groups', id);\n }\n\n // /label-groups/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /label-groups/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n}\n\nexport default APIResourceLabelGroup\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {FilesQueryParams} from './class/FilesQueryParams';\nimport {FileData, UploadObj, UserFile} from './models/UserFile';\n\n\nexport class APIListFiles extends APIList {\n\n /**\n * /files\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('files');\n }\n\n /**\n * Simplifies process of uploading\n * /files\n */\n upload(obj: UploadObj): this {\n // For NodeJS\n // @ts-ignore\n if (global.isNodeJs) {\n return this.nodeUpload(obj);\n } else {\n /**\n * Browser\n * @todo\n */\n throw new Error('Not supported yet!');\n }\n }\n\n private nodeUpload(file: UploadObj): this {\n const fs = require('fs');\n const FormData = require('form-data');\n const form = new FormData();\n form.append('file', fs.createReadStream(file.dir + '/' + file.filename), {\n filename: file.filename\n });\n return this.post().headers(form.getHeaders()).data(form);\n }\n\n}\n\nexport default APIListFiles\n","import {APIList} from './APIList'\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIResource} from './APIResource'\n\n\nexport class APIResourceChannel extends APIResource {\n\n /**\n * /users/{id}/notifications/channels/{type}\n */\n constructor(parent: APIListNotifications, type: string) {\n if (type == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('channels', type);\n }\n\n // /channels/{type}/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\nexport default APIResourceChannel;\n","import {APIList} from './APIList';\nimport {APIResourceChannel} from './APIResourceChannel';\nimport {APIResourceUser} from './APIResourceUser';\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Notification, NotificationsData} from './models/Notification';\n\n\nexport class APIListNotifications extends APIList {\n\n /**\n * /notifications\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('notifications');\n }\n\n // /notifications/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n // /notifications/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n channel(type: string) {\n return new APIResourceChannel(this, type);\n }\n\n}\n\nexport default APIListNotifications\n","import {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoQueryParams} from './models/HTTP';\nimport {TestRun, TestRunConfig, TestRunsConfigData, TestRunsData, TestRunsQueryParams} from './models/TestRun';\n\n\nexport class APIListRuns extends APIList {\n\n /**\n * /runs\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('runs');\n }\n\n // /runs/config\n config() {\n return new APIResource(this).push('config');\n }\n\n}\n\nexport default APIListRuns\n","import {Method} from 'axios';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData} from './models/HTTP';\nimport {SmartbearTunnel, TunnelQueryParams} from './models/SmartbearTunnel';\n\n\nexport class APIListSmartbearTunnels extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /tunnels\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('tunnels');\n }\n\n /**\n * Sets tunnel activity parameter\n */\n active(active: boolean): this {\n return this.params({active: active});\n }\n}\n\nexport default APIListSmartbearTunnels;\n","\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {Notification, NotificationData} from './models/Notification';\n\nexport class APIResourceNotification extends APIResource {\n\n /**\n * /notifications/{id}\n */\n constructor(parent: APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('notifications', id);\n }\n\n // /notifications/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n}\n\nexport default APIResourceNotification\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIListFiles} from './APIListFiles';\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIListRuns} from './APIListRuns';\nimport {APIListServices} from './APIListServices';\nimport {APIListSmartbearTunnels} from './APIListSmartbearTunnels';\nimport {APIResource} from './APIResource';\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {APIResourceFile} from './APIResourceFile';\nimport {APIResourceNotification} from './APIResourceNotification';\nimport {APIResourceProject} from './APIResourceProject';\nimport {AccessGroup, AccessGroupsData} from './models/AccessGroup';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupIdsData, DeviceGroupWithPublicParams} from './models/DeviceGroup';\nimport {DeviceStatistics} from './models/DeviceStatistics';\nimport {DeviceUsage} from './models/DeviceUsage';\nimport {Framework} from './models/Framework';\nimport {Project, UserProjectData, UserProjectQueryParams} from './models/Project';\nimport {User, UserDeleteData} from './models/User';\nimport {UiPreferencesData, UserPreference, UserPreferenceData} from './models/UserPreference';\nimport {StatisticQueryParams, UserStatistics} from './models/UserStatistics';\nimport {DeviceSession, DeviceSessionData, DeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {DeviceStatisticQueryParam, DeviceUsageQueryParams} from './models/Device';\n\nexport class APIResourceUser extends APIResource {\n\n /**\n * /users/{id} | /me\n */\n constructor(parent: API, id: number | 'me') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n\n if (id === 'me') {\n this.push('me');\n } else if (typeof id === 'number') {\n this.push('users', id);\n } else {\n throw new TypeError('id is not a number');\n }\n }\n\n // /users/{id}/services\n services() {\n return new APIListServices(this);\n }\n\n // /users/{id}/device-groups\n deviceGroups() {\n return new APIList>(this).push('device-groups');\n }\n\n // /users/{id}/device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /users/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /users/{id}/mark-account-owner\n markAccountOwner() {\n return new APIResource(this).push('mark-account-owner').post();\n }\n\n // /users/{id}/projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /users/{id}/projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /users/{id}/files\n files() {\n return new APIListFiles(this);\n }\n\n // /users/{id}/files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /users/{id}/runs\n runs() {\n return new APIListRuns(this);\n }\n\n // /users/{id}/available-frameworks\n availableFrameworks() {\n return new APIList(this).push('available-frameworks');\n }\n\n /**\n * /users/{id}/reset-api-key\n */\n resetApiKey() {\n return new APIResource(this).push('reset-api-key');\n }\n\n // /users/{id}/restore\n restore() {\n return new APIResource(this).push('restore');\n }\n\n // /users/{id}/feedback\n feedback() {\n return new APIResource(this).push('feedback');\n }\n\n // /users/{id}/notifications\n notifications() {\n return new APIListNotifications(this);\n }\n\n // /users/{id}/notifications/{id}\n notification(id: number) {\n return new APIResourceNotification(this, id);\n }\n\n // /users/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n // /users/{id}/ui-preferences\n uiPreferences() {\n return new APIResource(this).push('ui-preferences');\n }\n\n // /users/{id}/device-usage\n deviceUsage() {\n return new APIList(this).push('device-usage');\n }\n\n // /users/{id}/statistics\n statistics() {\n return new APIResource(this).push('statistics');\n }\n\n // /users/{id}/device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /users/{id}/access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /users/{id}/access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /users/{id}/tunnels/{id}\n smartbearTunnel(id: number) {\n return new APIResource(this).push('tunnels', id);\n }\n\n // /users/{id}/tunnels\n smartbearTunnels() {\n return new APIListSmartbearTunnels(this);\n }\n\n deleteAccount() {\n return new APIResource(this).push('delete');\n }\n}\n\nexport default APIResourceUser\n","import {API} from '../API';\nimport {APIResource} from './APIResource'\nimport {NoQueryParams} from './models/HTTP';\nimport {LoginData, User} from './models/User';\n\nexport class APIResourceUserSession extends APIResource {\n\n // /user-sessions\n constructor(parent: API) {\n super(parent);\n this.push('user-sessions');\n }\n\n // /user-sessions/login\n login(data: LoginData) {\n return new APIResource(this).push('login').post().data(data);\n }\n\n // /user-sessions/logout\n logout() {\n return new APIResource(this).push('logout').post();\n }\n\n // /user-sessions/oauth/authorize/{name}-login\n sso(name: string) {\n return new APIResource(this).push('oauth', 'authorize', name + '-login');\n }\n\n // /user-sessions/portal-login\n portalLogin() {\n return new APIResource(this).push('portal-login').post();\n }\n\n // /user-sessions/oauth/authorize/sbid-login\n sbidCallbackUrl() {\n return new APIResource(this).push('oauth', 'authorize', 'sbid-login').toUrl(true);\n }\n\n}\n\nexport default APIResourceUserSession\n","import axios, {AxiosInstance} from 'axios';\n// @ts-ignore\nimport {version} from '../package.json';\nimport {APIAdminResource} from './api/APIAdminResource';\nimport {APIAdminResourceCluster} from './api/APIAdminResourceCluster';\nimport {APIList} from './api/APIList';\nimport {APIListDevices} from './api/APIListDevices';\nimport {APIListProperties} from './api/APIListProperties';\nimport {APIListServices} from './api/APIListServices';\nimport {APIListUsers} from './api/APIListUsers';\nimport {APIResource} from './api/APIResource';\nimport {APIResourceAccount} from './api/APIResourceAccount';\nimport {APIResourceBroker} from './api/APIResourceBroker';\nimport {APIResourceDevice} from './api/APIResourceDevice';\nimport {APIResourceDeviceGroup} from './api/APIResourceDeviceGroup';\nimport {APIResourceDeviceSession} from './api/APIResourceDeviceSession';\nimport {APIResourceFile} from './api/APIResourceFile';\nimport {APIResourceLabelGroup} from './api/APIResourceLabelGroup';\nimport {APIResourceProject} from './api/APIResourceProject';\nimport {APIResourceRun} from './api/APIResourceRun';\nimport {APIResourceUser} from './api/APIResourceUser';\nimport {APIResourceUserSession} from './api/APIResourceUserSession';\nimport {Cluster} from './api/models/Cluster';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './api/models/HTTP';\nimport {License} from './api/models/License';\nimport {Project} from './api/models/Project';\nimport {Property} from './api/models/Property';\nimport {UserFile, UserFileData, UserFileParams} from './api/models/UserFile';\nimport {ApiConfig} from './ApiConfig';\nimport './finka';\nimport {LabelGroup} from './api/models/LabelGroup';\n\n// @ts-ignore\nif (globalThis.isNodeJs) {\n // Set User-Agent\n axios.defaults.headers.common['User-Agent'] = `Bitbar Cloud API Client for JavaScript v${version}`;\n}\n\n// Disable max content length\naxios.defaults.maxContentLength = 1073741824; // 1GB\n\n\n/**\n * API\n * Root for other API resources\n */\nexport class API {\n axios: AxiosInstance;\n\n private axiosConfig: ApiConfig = {};\n\n get baseUrl(): string {\n return this.axiosConfig.baseURL;\n }\n\n\n constructor(private config: ApiConfig) {\n if (config == null) {\n throw new Error('config cannot be empty');\n } else if (this.config.cloudUrl == null) {\n throw new TypeError('cloudUrl cannot be empty');\n } else if (typeof this.config.cloudUrl !== 'string') {\n throw new TypeError('cloudUrl must be a string');\n } else if (!/^https?:\\/\\/.{2,}/.test(this.config.cloudUrl)) {\n throw new Error(`cloudUrl doesn't look like a URL`);\n }\n\n // Validate and correct cloudUrl if needed\n this.axiosConfig.baseURL = this.config.cloudUrl.replace(/\\/+$/, '') + '/api'\n\n // Check v2\n this.config.v2 = !!this.config.v2;\n if (this.config.v2) {\n this.axiosConfig.baseURL += '/v2';\n }\n\n // Check if apiKey is set\n if (this.config.apiKey) {\n if (typeof this.config.apiKey !== 'string') {\n throw new TypeError('apiKey must be a string');\n } else if (!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey)) {\n throw new Error('apiKey is in the wrong format');\n }\n\n this.axiosConfig.auth = {\n username: this.config.apiKey,\n password: ''\n };\n }\n\n // With credentials\n this.axiosConfig.withCredentials = config.withCredentials == null ? false : config.withCredentials;\n\n // Create axios instance\n this.axios = axios.create(this.axiosConfig);\n }\n\n\n // --- Resources starts here --- //\n\n // /account/{id}\n account(id: number) {\n return new APIResourceAccount(this, id);\n }\n\n // /admin\n admin() {\n return new APIAdminResource(this);\n }\n\n // /broker\n broker() {\n return new APIResourceBroker(this);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /devices/{id}\n device(id: number) {\n return new APIResourceDevice(this, id);\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /devices\n devices() {\n return new APIListDevices(this);\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /enums\n enums() {\n return new APIResource(this).push('enums');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /label-groups\n labelGroups() {\n return new APIList(this).push('label-groups');\n }\n\n // /label-groups/{id}\n labelGroup(id: number) {\n return new APIResourceLabelGroup(this, id);\n }\n\n // /labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /licenses\n licenses() {\n return new APIResource(this).push('licenses');\n }\n\n // /license\n license() {\n return new APIResource(this).push('license');\n }\n\n /*\n /me or /admin\n Requires prototype extension covering ACL check\n */\n ma(): APIAdminResource | APIResourceUser {\n throw new Error('Requires prototype extension covering ACL check');\n }\n\n // /me\n me() {\n return this.user('me');\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /properties\n properties() {\n return new APIListProperties(this);\n }\n\n // /properties/{id}\n property(id: number) {\n return new APIResource(this).push('properties', id);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n // /services\n services() {\n return new APIListServices(this);\n }\n\n // /user/{id}\n user(id: number | 'me') {\n return new APIResourceUser(this, id);\n }\n\n // /users\n users() {\n return new APIListUsers(this);\n }\n\n // /user-sessions\n userSession() {\n return new APIResourceUserSession(this);\n }\n\n}\n\n\nexport default API;\n","/* istanbul ignore file */\n\nimport {API} from './API';\nimport {FilterBuilder} from './FilterBuilder';\n\nexport {API} from './API';\nexport {FilterBuilder} from './FilterBuilder';\n\n/**\n * Cloud API Client\n */\nexport const CloudAPIClient = {\n API,\n FilterBuilder\n}\n\nexport default CloudAPIClient;\n","export enum AccessGroupScope {\n USER = 'USER',\n ACCOUNT = 'ACCOUNT',\n GLOBAL = 'GLOBAL'\n}\n\nexport type AccessGroup = {\n id: number;\n name: string;\n scope: AccessGroupScope;\n userEmail: string;\n userId: number;\n}\n\nexport type AccessGroupData = Pick;\n\nexport type AccessGroupsData = Omit;\n","import {ServiceUnit} from './Service';\n\nexport enum PaymentStatus {\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REDIRECTED = 'REDIRECTED'\n}\n\nexport enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n BRAINTREE = 'BRAINTREE',\n STRIPE = 'STRIPE',\n INVOICE = 'INVOICE',\n PROMOTION = 'PROMOTION',\n AWS = 'AWS'\n}\n\nexport enum ChargeType {\n USAGE_MOBILE = 'USAGE_MOBILE',\n CONCURRENCY_MOBILE = 'CONCURRENCY_MOBILE',\n CONCURRENCY_DESKTOP = 'CONCURRENCY_DESKTOP'\n}\n\nexport enum DeactivateReason {\n INITIAL_FAILURE = 'INITIAL_FAILURE',\n SCA_FAILURE = 'SCA_FAILURE',\n CHARGE_FAILURE = 'CHARGE_FAILURE',\n CANCEL = 'CANCEL',\n SUSPENDED = 'SUSPENDED',\n ANOTHER_PURCHASE = 'ANOTHER_PURCHASE'\n}\n\nexport type ServicePaymentStatus = {\n accountService: AccountService;\n message: string;\n redirectUrl: string;\n status: PaymentStatus;\n}\n\nexport type AccountService = {\n accountId: number;\n accountName: string;\n activatedById: number;\n activatedByName: string;\n active: boolean;\n braintreeId: string;\n chargeType: ChargeType;\n createTime: number;\n deactivateReason: DeactivateReason;\n deactivatedById: number;\n deactivatedByName: string;\n endTime: number;\n finished: boolean;\n id: number;\n lastPaymentTime: number;\n paymentMethod: PaymentMethod;\n price: number;\n serviceCount: number;\n serviceId: number;\n serviceName: string;\n startTime: number;\n subscriptionManagementURL: string;\n total: number;\n unit: ServiceUnit;\n unitCount: number;\n userId: number;\n vatRate: number;\n}\n\nexport type AccountServiceData = Pick & {count: number};\n","import {DevicesQueryParams, Platform, SoftwareVersion} from './Device';\nimport {OsType} from './Enum';\nimport {CollectionQueryParams} from './HTTP';\n\n\nexport enum InitStep {\n SKIP = 'SKIP',\n REBOOT = 'REBOOT',\n REBOOT_WITH_UNLOCK = 'REBOOT_WITH_UNLOCK',\n UNLOCK_ONLY = 'UNLOCK_ONLY'\n}\n\nexport enum DeviceState {\n OFFLINE_CLEANING = 'OFFLINE_CLEANING',\n OFFLINE_DIRTY = 'OFFLINE_DIRTY',\n OFFLINE_FREE = 'OFFLINE_FREE',\n OFFLINE_TESTING = 'OFFLINE_TESTING',\n ONLINE_CLEANING = 'ONLINE_CLEANING',\n ONLINE_DIRTY = 'ONLINE_DIRTY',\n ONLINE_FREE = 'ONLINE_FREE',\n ONLINE_TESTING = 'ONLINE_TESTING'\n}\n\nexport type AdminDevice = {\n accountId: number;\n accountName: string;\n cluster: unknown;\n comment: string;\n dedicationEndTime: number;\n deviceModelId: number;\n deviceModelName: string;\n enabled: boolean;\n fingerprint: string;\n id: number;\n initStep: InitStep;\n ipAddress: string;\n lastOnlineTime: number;\n location: string;\n locked: boolean;\n manufacturer: string;\n name: string;\n osType: OsType;\n platform: Platform;\n serialId: string;\n softwareVersion: SoftwareVersion;\n state: DeviceState;\n stateChangeTime: number;\n stateTime: number;\n testTimeLimit: number;\n unlockGesture: string;\n}\n\nexport type AdminDevicesQueryParams = Pick & CollectionQueryParams;\n\nexport type AdminDeviceData = Pick & {apiLevel: number; releaseVersion: string};\n","export enum AdminErrorType {\n ABORT_REQUEST = 'ABORT_REQUEST',\n ADB_COMMAND_REJECTED = 'ADB_COMMAND_REJECTED',\n ADB_SHELL_COMMAND_FAILED = 'ADB_SHELL_COMMAND_FAILED',\n APP_LOCK_NOT_INSTALLED = 'APP_LOCK_NOT_INSTALLED',\n DEVICE_OFFLINE = 'DEVICE_OFFLINE',\n DEVICE_OUTPUT_NULL = 'DEVICE_OUTPUT_NULL',\n GAMEBENCH_ERROR = 'GAMEBENCH_ERROR',\n GAMEBENCH_NOT_SUPPORTED = 'GAMEBENCH_NOT_SUPPORTED',\n GRANT_FAILED = 'GRANT_FAILED',\n INSTALL_FAILED = 'INSTALL_FAILED',\n INTERACTIVE_SETUP_FAILED = 'INTERACTIVE_SETUP_FAILED',\n INTERNAL_INSTALL_FAILED = 'INTERNAL_INSTALL_FAILED',\n INVALID_TEST_SESSION_FILE = 'INVALID_TEST_SESSION_FILE',\n LOCK_EXPIRED = 'LOCK_EXPIRED',\n LOCK_TIMEOUT = 'LOCK_TIMEOUT',\n NO_NETWORK_CONNECTION = 'NO_NETWORK_CONNECTION',\n OTHER = 'OTHER',\n REBOOTING_TIMEOUT = 'REBOOTING_TIMEOUT',\n REPACKAGING = 'REPACKAGING',\n RESULTS_PREPARING = 'RESULTS_PREPARING',\n RESULTS_PROCESSING = 'RESULTS_PROCESSING',\n RESULTS_SENDING = 'RESULTS_SENDING',\n STEP_TIMEOUT = 'STEP_TIMEOUT',\n SYSTEM_FAILURE = 'SYSTEM_FAILURE',\n TEST_RUN_FAILED = 'TEST_RUN_FAILED',\n TEST_RUN_INTERRUPTED = 'TEST_RUN_INTERRUPTED',\n TEST_RUN_TIMEOUT = 'TEST_RUN_TIMEOUT',\n TEST_RUN_WARNED = 'TEST_RUN_WARNED',\n TEST_TIMEOUT = 'TEST_TIMEOUT',\n VNC_CONNECTION_SETUP_FAILED = 'VNC_CONNECTION_SETUP_FAILED',\n XCRUN_INSTRUMENTS_COMMAND_FAILED = 'XCRUN_INSTRUMENTS_COMMAND_FAILED',\n XCRUN_INSTRUMENTS_JS_ERROR = 'XCRUN_INSTRUMENTS_JS_ERROR'\n}\n\nexport type AdminError = {\n id: number;\n quantity: number;\n type: AdminErrorType;\n}\n","import {DeviceSessionState} from './DeviceSession';\nimport {OsType} from './Enum';\n\nexport enum FrameworkType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport type AdminFrameworkStatistics = {\n cloudName: string;\n count: number;\n day: number;\n deviceModelId: number;\n deviceModelName: string;\n frameworkId: number;\n frameworkName: string;\n id: number;\n osType: OsType;\n releaseVersion: string;\n state: DeviceSessionState;\n type: FrameworkType;\n userEmail: string;\n userId: number;\n}\n","import {PaymentMethod} from './AccountService';\nimport {DeviceSessionType} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {QueryParams} from './HTTP';\n\nexport enum BillingType {\n BUY = 'BUY',\n CHARGE = 'CHARGE',\n CANCEL = 'CANCEL'\n}\n\nexport type BillingPeriod = {\n accountServiceId: number;\n additionalHours: number;\n additionalHoursPrice: number;\n apiBillingPeriodType: BillingType;\n createTime: number;\n endBillingPeriod: number;\n id: number;\n lastPaymentDate: number;\n paid: boolean;\n paymentMethod: PaymentMethod;\n plan: string;\n servicePrice: number;\n startBillingPeriod: number;\n subscriptionEnd: number;\n subscriptionStart: number;\n totalPrice: number;\n usages: Array;\n}\n\nexport type BillingPeriodUsage = {\n billableSeconds: number;\n id: number;\n nonBillableSeconds: number;\n osType: OsType;\n type: DeviceSessionType;\n}\n\nexport interface BillingPeriodQueryParams extends QueryParams {\n onDate: number;\n}\n","export enum BrokerType {\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP'\n}\n\nexport type Broker = {\n id: number;\n location: string;\n type: BrokerType;\n url: string;\n}\n","\nimport {AdminDevice} from './AdminDevice';\nimport {CollectionResponse, QueryParams} from './HTTP';\n\nexport type Cluster = {\n devices: CollectionResponse;\n enabled: boolean;\n id: number;\n ipAddress: string;\n jenkinsUrl: string;\n location: string;\n name: string;\n pluginVersion: string;\n region: string;\n state: ClusterState;\n stateChangeTime: number;\n stateTime: number;\n url: string;\n}\n\nexport enum ClusterState {\n 'OFFLINE',\n ONLINE = 'ONLINE',\n RESTARTING = 'RESTARTING',\n QUIET_DOWN = 'QUIET_DOWN',\n MAINTENANCE = 'MAINTENANCE'\n}\n\nexport interface ClusterParams extends QueryParams {\n withDevices: boolean;\n}\n\nexport type ClusterData = Pick & {\n quietDown: boolean;\n restart: boolean;\n turnMaintenance: boolean;\n}\n","import {Browser} from './Browser';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, QueryParams} from './HTTP';\nimport {TestRunsQueryParams} from './TestRun';\n\n\nexport enum DeviceGroupOrigin {\n STATIC = 'STATIC',\n DYNAMIC = 'DYNAMIC',\n HYBRID = 'HYBRID'\n}\n\nexport enum Platform {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n WINDOWS = 'WINDOWS',\n MAC = 'MAC',\n LINUX = 'LINUX',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport enum SupportedCreators {\n MANUAL = 'MANUAL',\n ROBOT = 'ROBOT',\n AUTOMATIC = 'AUTOMATIC'\n}\n\nexport type DeviceProperty = {\n displayName: string;\n id: number;\n labelGroupName: string;\n name: string;\n propertyGroupId: number;\n propertyGroupName: string;\n}\n\nexport type SoftwareVersion = {\n apiLevel: number;\n id: number;\n releaseVersion: string;\n}\n\nexport type Device = {\n accountId: number;\n accountName: string;\n available: boolean;\n browsers: CollectionResponse;\n creditsPrice: number;\n deviceGroupOrigin: DeviceGroupOrigin;\n displayName: string;\n enabled: boolean;\n frame100Url: string;\n frame160Url: string;\n frame400Url: string;\n frame80Url: string;\n frameExtraWidth: number;\n id: number;\n imageHeight: number;\n imageLeft: number;\n imagePrefix: string;\n imageTop: number;\n imageWidth: number;\n locked: boolean;\n manufacturer: string;\n online: boolean;\n osType: OsType;\n platform: Platform;\n properties: CollectionResponse;\n softwareVersion: SoftwareVersion;\n supportedCreators: Array;\n}\n\nexport type DeviceCleanupConfiguration = {\n content: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n discriminator: string;\n enabled: boolean;\n global: boolean;\n example: true;\n id: number;\n lastModificationTime: number;\n osType: OsType;\n}\n\nexport type DeviceCleanupConfigurationData = {\n deviceCleanupConfigurationId: number;\n}\n\nexport type DeviceLabelData = {\n labelId: number;\n}\n\nexport interface DeviceProperiesData extends QueryParams {\n labelId: number;\n}\n\nexport interface CleanupConfigurationSpecificData extends QueryParams {\n serialId: string;\n}\n\nexport interface DeviceTimeSummaryQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n}\nexport interface DeviceUsageQueryParams extends TestRunsQueryParams {\n startTime: number;\n}\n\nexport interface DeviceStatisticQueryParam extends TestRunsQueryParams {\n mode: string;\n}\n\nexport interface DevicesQueryParams extends CollectionQueryParams {\n labelIds: Array;\n liveTestingOnly: boolean;\n withBrowsers: boolean;\n withDedicated: boolean;\n withDisabled: boolean;\n withProperties: boolean;\n withSupportedCreators: boolean;\n}\n","export enum CriterionField {\n NAME = 'NAME',\n FINGERPRINT = 'FINGERPRINT',\n SERIAL_ID = 'SERIAL_ID',\n UNLOCK_GESTURE = 'UNLOCK_GESTURE',\n SOFTWARE_VERSION = 'SOFTWARE_VERSION',\n INIT_STEP = 'INIT_STEP',\n ACCOUNT = 'ACCOUNT',\n BROWSERS = 'BROWSERS'\n}\n\nexport type DeviceModelCriterion = {\n createTime: number;\n field: CriterionField;\n id: number;\n labelGroupDisplayName: string;\n labelGroupId: number;\n labelGroupName: string;\n}\n\nexport type DeviceModelCriterionData = Pick;\n","export enum RetentionStrategy {\n CLUSTER_ON_OFF = 'CLUSTER_ON_OFF',\n MIN_FREE_MAX_TOTAL = 'MIN_FREE_MAX_TOTAL',\n POOL_MANAGER_AWARE = 'POOL_MANAGER_AWARE'\n}\n\nexport type DeviceModelPool = {\n createTime: number;\n enabled: boolean;\n id: number;\n location: string;\n maxTotal: number;\n minAvailable: number;\n name: string;\n numberOfBrowsers: number;\n osVersion: string;\n retentionStrategy: RetentionStrategy;\n running: number;\n}\n\nexport type DeviceModelPoolData = Pick;\n","export enum ProblemType {\n CLEANING = 'CLEANING',\n DIRTY = 'DIRTY',\n OFFLINE = 'OFFLINE',\n LOW_BATTERY = 'LOW_BATTERY',\n HIGH_FAIL_RATE = 'HIGH_FAIL_RATE',\n NO_INTERNET_CONNECTION = 'NO_INTERNET_CONNECTION'\n}\n\nexport type DeviceProblem = {\n clusterId: number;\n clusterName: string;\n deviceId: number;\n deviceModelId: number;\n deviceModelName: string;\n deviceName: string;\n id: number;\n problems: Array;\n}\n\nexport type DeviceProblemPair = {\n id: number;\n type: ProblemType;\n value: any;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport type TunnelSettings = {\n domain: string;\n email: string;\n}\n\nexport enum DeviceSessionType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport enum RetryState {\n NONE = 'NONE',\n MANUAL = 'MANUAL',\n AUTO = 'AUTO'\n}\n\nexport enum DeviceSessionState {\n ABORTED = 'ABORTED',\n EXCLUDED = 'EXCLUDED',\n FAILED = 'FAILED',\n RUNNING = 'RUNNING',\n SUCCEEDED = 'SUCCEEDED',\n TIMEOUT = 'TIMEOUT',\n WAITING = 'WAITING',\n WARNING = 'WARNING'\n}\n\nexport enum DeviceSessionStepType {\n WAITING = 'WAITING',\n PREPARING = 'PREPARING',\n UNINSTALL = 'UNINSTALL',\n INSTALL = 'INSTALL',\n RUNNING = 'RUNNING',\n SENDING_RESULTS = 'SENDING_RESULTS',\n PROCESSING_RESULTS = 'PROCESSING_RESULTS'\n}\n\nexport type DeviceSessionConfig = {\n adbVersion: string;\n browserName: string;\n browserVersion: string;\n deviceModelId: number;\n id: number;\n screenResolution: string;\n tunnelSettings: TunnelSettings;\n type: DeviceSessionConfig;\n url: string;\n}\n\nexport type DeviceSession = {\n accountId: number;\n autoRetriesLeftCount: number;\n billable: boolean;\n config: DeviceSessionConfig;\n createTime: number;\n clientSideId: string;\n device: Device;\n deviceInstanceId: number;\n deviceLogFirstTimestamp: number;\n deviceRunId: number;\n deviceTime: number;\n duration: number;\n endTime: number;\n excludeReason: string;\n externalId: string;\n id: number;\n installTime: number;\n name: string;\n projectId: number;\n projectName: string;\n retryState: RetryState;\n rowIndex: number;\n startTime: number;\n state: DeviceSessionState;\n successRatio: number;\n testCaseAllCount: number;\n testCaseFailedCount: number;\n testCasePassedCount: number;\n testCaseSkippedCount: number;\n testCaseSuccessCount: number;\n testRunId: number;\n testRunName: string;\n timeLimit: number;\n type: DeviceSessionType;\n userEmail: string;\n userId: number;\n}\n\nexport type DeviceSessionCommand = {\n duration: number;\n httpMethod: string;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n\nexport type DeviceSessionStep = {\n deviceSessionId: number;\n excludeReason: string;\n failReason: string;\n finishTimeMS: number;\n id: number;\n startTimeMS: number;\n type: DeviceSessionStepType;\n}\n\nexport type DeviceSessionConnection = {\n createTime: number;\n deviceSessionId: number;\n endTime: number;\n externalId: string;\n host: string;\n id: number;\n password: string;\n path: string;\n port: number;\n type: string;\n url: string;\n urlSchema: string;\n}\n\nexport type DeviceSessionData = Omit & {configuration: DeviceSessionConfig};\n\nexport interface DeviceSessionQueryParams extends CollectionBasicQueryParams {\n withProperties: boolean;\n}\n\nexport interface SessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n testRunId: number;\n}\n\nexport interface SessionRunStepQueryParams extends CollectionBasicQueryParams {\n runId: number;\n}\n\nexport interface SessionStepQueryParams extends SessionRunStepQueryParams {\n projectId: number;\n}\n\nexport interface TRunDeviceSessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n}\n\nexport enum SessionReleaseReason {\n INACTIVITY = 'INACTIVITY',\n TIMEOUT = 'TIMEOUT',\n USER_ACTION = 'USER_ACTION',\n CHANGE_DEVICE = 'CHANGE_DEVICE',\n WEBSOCKET_CLOSED = 'WEBSOCKET_CLOSED'\n}\n\nexport type DeviceSessionRelease = {\n reason: SessionReleaseReason;\n}\n","export enum OsType {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n DESKTOP = 'DESKTOP',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport type Enum = {\n id: number;\n value: string;\n}\n","export enum LicenseStatus {\n ACTIVE = 'ACTIVE',\n EXPIRED = 'EXPIRED',\n INACTIVE = 'INACTIVE',\n CLOSED = 'CLOSED'\n}\n\nexport type BaseLicense = {\n enabled: boolean;\n};\n\nexport type FeatureLicense = {\n deviceLimit: number;\n deviceLimited: boolean;\n projectLimit: number;\n projectLimited: boolean;\n};\n\nexport type AndroidLicense = BaseLicense & FeatureLicense & {\n cts: CTSLicense;\n uiAutomator: UIAutomatorLicense;\n};\n\nexport type BuildLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type DesktopLicense = BaseLicense & FeatureLicense;\n\nexport type GlobalLicense = FeatureLicense;\n\nexport type InspectorLicense = BaseLicense;\n\nexport type IOSLicense = BaseLicense & FeatureLicense;\n\nexport type RecorderLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type ServerLicense = BaseLicense & {\n androidEnabled: boolean;\n iosEnabled: boolean;\n};\n\nexport type CTSLicense = BaseLicense;\n\nexport type UIAutomatorLicense = BaseLicense;\n\nexport type License = {\n activateTime: number;\n android: AndroidLicense;\n build: BuildLicense;\n closeTime: number;\n desktop: DesktopLicense;\n expireTime: number;\n global: GlobalLicense;\n id: number;\n inspector: InspectorLicense;\n ios: IOSLicense;\n privateInstance: boolean;\n recorder: RecorderLicense;\n server: ServerLicense;\n status: LicenseStatus;\n userEmail: string;\n userId: number;\n}\n\nexport type LicenseData = Pick & {\n androidDeviceLimit: number;\n androidEnabled: boolean;\n androidProjectLimit: number;\n buildEnabled: boolean;\n buildLimit: number;\n desktopDeviceLimit: number;\n desktopEnabled: boolean;\n desktopProjectLimit: number;\n globalDeviceLimit: number;\n globalProjectLimit: number;\n inspectorEnabled: boolean;\n iosDeviceLimit: number;\n iosEnabled: boolean;\n iosProjectLimit: number;\n privateInstance: boolean;\n unit: string;\n unitCount: number;\n}\n","export type Maintenance = {\n enabled: boolean;\n id: number;\n}\n\nexport enum MaintenanceType {\n BARE_METAL = 'BARE_METAL',\n EC2 = 'EC2',\n VM = 'VM'\n}\n\nexport type MaintenanceData = {\n enabled: boolean;\n type: MaintenanceType;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum NotificationChannel {\n SLACK = 'SLACK',\n EMAIL = 'EMAIL',\n WEBHOOK = 'WEBHOOK'\n}\n\nexport enum NotificationScope {\n ALL = 'ALL',\n TEST_RUN = 'TEST_RUN',\n TEST_RUN_FAILURE = 'TEST_RUN_FAILURE',\n TEST_RUN_SUCCEEDED = 'TEST_RUN_SUCCEEDED',\n MAINTENANCE = 'MAINTENANCE',\n MAINTENANCE_RELEASE = 'MAINTENANCE_RELEASE',\n CUSTOM = 'CUSTOM',\n NEWS = 'NEWS',\n SYSTEM = 'SYSTEM',\n CHECK = 'CHECK',\n PLAN_LIMIT_REACHED = 'PLAN_LIMIT_REACHED',\n PLAN_INVOICE = 'PLAN_INVOICE'\n}\n\nexport type Notification = {\n channel: NotificationChannel;\n destination: string;\n id: number;\n projectId?: number;\n projectName?: string;\n scope: NotificationScope;\n userEmail: string;\n userId: number;\n}\n\nexport interface NotificationData extends QueryParams {\n scope: NotificationScope;\n}\n\nexport type NotificationsData = Pick;\n","import {OsType} from './Enum';\nimport {TestRunsQueryParams} from './TestRun';\n\nexport enum ArchivingStrategy {\n NEVER = 'NEVER',\n DAYS = 'DAYS',\n RUNS = 'RUNS'\n}\n\nexport type Project = {\n archiveTime: number;\n archivingItemCount: number;\n archivingStrategy: ArchivingStrategy;\n common: boolean;\n createTime: number;\n description: string;\n id: number;\n name: string;\n osType: OsType;\n readOnly: boolean;\n rowIndex: number;\n shared: boolean;\n sharedByEmail: string;\n sharedById: number;\n sharedWithCaller: boolean;\n successRatio: number;\n userEmail: string;\n userId: number;\n}\n\nexport type UserProjectData = Pick;\n\nexport interface UserProjectQueryParams extends TestRunsQueryParams {\n showStatistics: boolean;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport enum ScreenshotType {\n LANDSCAPE = 'LANDSCAPE',\n PORTRAIT = 'PORTRAIT'\n}\n\nexport type Screenshot = {\n fail: boolean;\n id: number;\n originalName: string;\n takeTimestamp: number;\n type: ScreenshotType;\n}\n\nexport type ScreenshotExtended = Screenshot & {\n device: Device;\n deviceRunId: number;\n projectId: number;\n testRunId: number;\n}\n\nexport interface ScreenshotQueryParams extends CollectionBasicQueryParams {\n name: string;\n}\n","import {ChargeType, PaymentMethod} from './AccountService';\nimport {CollectionQueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport type Service = {\n activateTime: number;\n activated: boolean;\n archiveTime: number;\n centPrice: number;\n chargeType: ChargeType;\n commonId: string;\n customPlan: boolean;\n defaultConcurrences: Array;\n description: string;\n externalId: string;\n features: string;\n id: number;\n includedHours: number;\n name: string;\n pricePerHour: number;\n priceString: string;\n roles: Array;\n unit: ServiceUnit;\n}\n\nexport enum ServiceUnit {\n DAY = 'DAY',\n HOUR = 'HOUR',\n MONTH = 'MONTH',\n PROJECT = 'PROJECT',\n RUN = 'RUN',\n YEAR = 'YEAR'\n}\n\nexport interface AdminServicesParams extends CollectionQueryParams {\n activeOnly: boolean;\n inUse: boolean;\n notArchive: boolean;\n}\n\nexport type ServiceActivateData = {\n activateTime: number;\n}\n\nexport interface ServiceData {\n address?: string;\n braintreeNonce?: string;\n cardNumber?: string;\n city?: string;\n count?: number;\n country?: string;\n cvv?: string;\n email?: string;\n expirationDate?: string;\n firstName?: string;\n lastName?: string;\n organization?: string;\n paymentMethod: PaymentMethod;\n phone?: string;\n serviceId: number;\n state?: string;\n stripeToken?: string;\n vatId?: string;\n zip?: string;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum SharedResourceType {\n DEVICE_GROUP = 'DEVICE_GROUP',\n FILE = 'FILE',\n PROJECT = 'PROJECT',\n}\n\nexport type SharedResource = {\n id: number;\n name: string;\n resourceId: number;\n type: SharedResourceType;\n}\n\nexport interface ShareData extends QueryParams {\n accessGroupId: number;\n email: string;\n}\n","import {Method} from 'axios';\nimport {CollectionResponse} from './HTTP';\n\n\nexport enum TestResult {\n PASSED = 'PASSED',\n FAILED = 'FAILED',\n SKIPPED = 'SKIPPED',\n NOT_AVAILABLE = 'NOT_AVAILABLE'\n}\n\nexport type TestCaseRun = {\n className: string;\n createTime: number;\n duration: number;\n errorMessage: string;\n id: number;\n methodName: string;\n result: TestResult;\n stacktrace: string;\n steps: CollectionResponse;\n suiteName: string;\n}\n\nexport type TestCaseRunStep = {\n duration: number;\n httpMethod: Uppercase;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n","import {Device} from './Device';\nimport {TunnelSettings} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, QueryParams} from './HTTP';\nimport {Tag} from './Tag';\n\n\nexport enum LimitationType {\n PACKAGE = 'PACKAGE',\n CLASS = 'CLASS'\n}\n\nexport enum TestScheduler {\n PARALLEL = 'PARALLEL',\n SERIAL = 'SERIAL',\n SINGLE = 'SINGLE',\n ALL_INSTANCES = 'ALL_INSTANCES'\n}\n\nexport enum TestState {\n WAITING = 'WAITING',\n RUNNING = 'RUNNING',\n FINISHED = 'FINISHED'\n}\n\n\nexport type TestRun = {\n abortedDeviceCount: number;\n billable: boolean;\n config: TestRunConfig;\n createTime: number;\n deviceCount: number;\n displayName: string;\n errorsDeviceCount: number;\n excludedDeviceCount: number;\n executedTestCaseCount: number;\n executionRatio: number;\n failedTestCaseCount: number;\n finishedDeviceCount: number;\n frameworkId: number;\n frameworkName: string;\n id: number;\n logsFileId: number;\n message: string;\n 'number': number;\n projectId: number;\n projectName: string;\n rowIndex: number;\n runningDeviceCount: number;\n screenshotsFileId: number;\n startTime: number;\n startedByDisplayName: string;\n startedById: number;\n state: TestState;\n succeededDeviceCount: number;\n successRatio: number;\n successfulTestCaseCount: number;\n tags: Array;\n testCaseCount: number;\n timeoutedDeviceCount: number;\n totalDeviceCount: number;\n uiLink: string;\n userId: number;\n waitingDeviceCount: number;\n warningDeviceCount: number;\n}\n\nexport type TestRunConfig = {\n appCrawlerRun: boolean;\n appiumBrokerAddress: string;\n applicationPassword: string;\n applicationUsername: string;\n availableDeviceGroups: any;\n availableDevices: Array;\n availableFrameworks: any;\n availableOsTypes: Array;\n clientSideTestConfig: any;\n computedDevices: Array;\n creditsPrice: number;\n deviceGroupId: number;\n deviceIds: any;\n deviceLanguageCode: string;\n deviceNamePattern: string;\n disableResigning: boolean;\n files: any;\n frameworkId: number;\n hookURL: string;\n id: number;\n instrumentationRunner: string;\n limitationType: LimitationType;\n limitationValue: string;\n loadedPrevious: boolean;\n example: true;\n maxAutoRetriesCount: number;\n maxTestTimeout: any;\n osType: OsType;\n projectId: number;\n projectName: string;\n resignFiles: boolean;\n runAvailable: boolean;\n scheduler: TestScheduler;\n screenshotDir: string;\n status: string;\n statusCode: number;\n testRunId: number;\n testRunName: string;\n testRunNameGrouping: string;\n testRunParameters: any;\n timeout: number;\n tunnelSettings: TunnelSettings;\n useSamples: boolean;\n usedDeviceGroupId: number;\n usedDeviceGroupName: string;\n videoRecordingEnabled: boolean;\n withAnnotation: string;\n withoutAnnotation: string;\n}\n\nexport interface TestRunData extends QueryParams {\n displayName: string;\n}\n\nexport interface RunData extends TestRunData {\n projectId: number;\n}\n\nexport interface RunQueryParam extends QueryParams {\n projectId: number;\n}\n\nexport interface TestRunsData {\n configuration: TestRunConfig;\n}\n\nexport interface TestRunsConfigData extends TestRunsData {\n includeDeviceGroups: boolean;\n includeDevices: boolean;\n includeFrameworks: boolean;\n}\n\n// for users/{userid}/runs\nexport interface TestRunsQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n skipCommonProject: boolean;\n skipShared: boolean;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport enum MfaStatus {\n VERIFICATION_NEED = 'VERIFICATION_NEED',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport enum UserStatus {\n INACTIVE = 'INACTIVE',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport type User = {\n accountId: number;\n accountName: string;\n userAccountName: string;\n accountOwners: Array;\n accountServiceIds: Array;\n address: string;\n apiKey: string;\n city: string;\n code: string;\n country: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n deleteTime: number;\n email: string;\n enabled: boolean;\n firstName: string;\n id: number;\n isAccountOwner: boolean;\n lastLaunchedTestTime: number;\n lastLoginTime: number;\n lastName: string;\n mfaQRCodeUrl: string;\n mfaStatus: MfaStatus;\n organization: string;\n phone: string;\n registrationIP: string;\n roles: Array;\n serviceIds: Array;\n state: string;\n status: UserStatus;\n timeZone: string;\n vatId: string;\n}\n\nexport type UserData = Pick;\n\nexport interface UserParams extends CollectionQueryParams {\n WITH_ADDRESS: boolean;\n WITH_USER_INFO: boolean;\n onlyMainUsers: boolean;\n onlyWithDisabledServices: boolean;\n withRole: string;\n withRoles: boolean;\n}\n\nexport type UserUpdateAccount = Pick;\n\nexport type UserDeleteData = {\n password: string;\n}\n\nexport interface LoginData {\n username: string;\n password: string;\n}\n\n\nexport type UserPasswordData = {\n key: string;\n password: string;\n};\nexport type UserActivateData = {\n zip: string;\n} & UserPasswordData\n & Pick;\n\nexport interface UserRecoveryQueryParams extends QueryParams {\n recoveryKey: string;\n}\n\nexport interface ValidateVatQueryParams extends QueryParams {\n countryCode: string;\n vatId: string;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\n\n\nexport enum FileDirection {\n INPUT = 'INPUT',\n OUTPUT = 'OUTPUT'\n}\n\nexport enum FileInputType {\n APPLICATION = 'APPLICATION',\n TEST = 'TEST',\n DATA = 'DATA'\n}\n\nexport enum FileState {\n PREPARING = 'PREPARING',\n READY = 'READY'\n}\n\nexport type FileProperty = {\n id: number;\n key: string;\n value: string;\n};\n\nexport type UserFileTag = {\n id: number;\n name: string;\n}\n\nexport type UserFile = {\n createTime: number;\n directUrl: string;\n direction: FileDirection;\n duplicate: boolean;\n fileProperties: Array;\n iconDirectUrl: string;\n id: number;\n inputType: FileInputType;\n mimetype: string;\n name: string;\n shared: boolean;\n size: number;\n state: FileState;\n userEmail: string;\n userId: number;\n};\n\nexport interface UserFileParams extends CollectionQueryParams {\n tag: Array;\n}\n\nexport type UserFileData = {\n file: FormData;\n global: boolean;\n}\n\nexport type BuildLogsData = {\n deviceRunIds: Array;\n projectId: number;\n userId: number;\n}\n\nexport type BuildLogsParams = BuildLogsData;\n\nexport interface FileSizeData extends QueryParams {\n height: number;\n width: number;\n}\n\nexport type UploadObj = {\n dir: string;\n filename: string;\n}\n\nexport interface FileData {\n file: Blob;\n global: boolean;\n}\n","export enum VisualTestImageType {\n FULL_PAGE = 'FULL_PAGE',\n VIEWPORT = 'VIEWPORT',\n ELEMENT_SCREENSHOT = 'ELEMENT_SCREENSHOT'\n}\n\nexport type VisualTestAccess = {\n enabled: boolean;\n apiKey: string | null;\n}\n\nexport type VisualTest = {\n comparisonStatus:\tstring;\n appUrl:\tstring;\n createdAt:\tstring;\n id: number;\n imageName:\tstring;\n imageThumbnailUrl:\tstring;\n imageType:\tVisualTestImageType;\n imageUrl:\tstring;\n sessionId:\tstring;\n testUrl:\tstring;\n}\n"],"names":["finka","APIOrder","AbortController","stringify","InputFileset","OutputFileset","axios","AccessGroupScope","PaymentStatus","PaymentMethod","ChargeType","DeactivateReason","InitStep","DeviceState","AdminErrorType","FrameworkType","BillingType","BrokerType","ClusterState","DeviceGroupOrigin","Platform","SupportedCreators","CriterionField","RetentionStrategy","ProblemType","DeviceSessionType","RetryState","DeviceSessionState","DeviceSessionStepType","SessionReleaseReason","OsType","LicenseStatus","MaintenanceType","NotificationChannel","NotificationScope","ArchivingStrategy","ScreenshotType","ServiceUnit","SharedResourceType","TestResult","LimitationType","TestScheduler","TestState","MfaStatus","UserStatus","FileDirection","FileInputType","FileState","VisualTestImageType"],"mappings":"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"} \ No newline at end of file diff --git a/dist/bitbar-cloud-api-client.min.js b/dist/bitbar-cloud-api-client.min.js index 0c3a932c..d3248289 100644 --- a/dist/bitbar-cloud-api-client.min.js +++ b/dist/bitbar-cloud-api-client.min.js @@ -1,4 +1,4 @@ -/* @bitbar/cloud-api-client v1.2.11 | Copyright 2024 (c) SmartBear Software and contributors | .git/blob/master/LICENSE */ +/* @bitbar/cloud-api-client v1.2.12 | Copyright 2024 (c) SmartBear Software and contributors | .git/blob/master/LICENSE */ !function(e,s){"object"==typeof exports&&"undefined"!=typeof module?s(exports,require("axios"),require("@bitbar/finka"),require("qs"),require("node-abort-controller")):"function"==typeof define&&define.amd?define(["exports","axios","@bitbar/finka","qs","node-abort-controller"],s):s((e="undefined"!=typeof globalThis?globalThis:e||self)["bitbar-cloud-api-client"]={},e.axios,e["@bitbar/finka"],e.qs,e["node-abort-controller"])}(this,(function(e,s,t,r,n){"use strict";function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var u=i(s),o=i(t); /****************************************************************************** Copyright (c) Microsoft Corporation. @@ -14,5 +14,5 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */ -function a(e,s,t,r){var n,i=arguments.length,u=i<3?s:null===r?r=Object.getOwnPropertyDescriptor(s,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,s,t,r);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(u=(i<3?n(u):i>3?n(s,t,u):n(s,t))||u);return i>3&&u&&Object.defineProperty(s,t,u),u}class h{constructor(e,s,t){this.name=e,this.value=s,this.operand=t}}o.default();class c{constructor(){this.filters=[]}gt(e,s){return this.add(e,s,"gt")}lt(e,s){return this.add(e,s,"lt")}after(e,s){return this.add(e,s,"after",!0)}afterorequal(e,s){return this.add(e,s,"afterorequal",!0)}before(e,s){return this.add(e,s,"before",!0)}beforeorequal(e,s){return this.add(e,s,"beforeorequal",!0)}on(e,s){return this.add(e,s,"on")}eq(e,s){return this.add(e,s,"eq")}contains(e,s){return this.add(e,s,"contains")}like(e,s){return this.add(e,s,"like")}notlike(e,s){return this.add(e,s,"notlike")}isnull(e){return this.add(e,void 0,"isnull")}isnotnull(e){return this.add(e,void 0,"isnotnull")}in(e,s){return this.add(e,s,"in",!0)}notin(e,s){return this.add(e,s,"notin",!0)}raw(e){const s=Array.wrap(e);for(const e of s){if(!this.isFilterPart(e))throw new SyntaxError(`Filter ${e} has invalid syntax`);this.filters.push(e)}}isFilterPart(e){return/^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(e)}toString(){const e=[];let s,t;for(const r of this.filters)"string"==typeof r?s=r:(t="",(r.value.length>1||void 0!==r.value[0])&&(t=`_${r.value.join("|")}`),s=`${r.name}_${r.operand}${t}`),e.push(s);return e.join(";")}add(e,s,t,r=!1){let n=Array.wrap(s);if(0===n.length)return this;for(let e=0;enull!==e)),t+="ornull")}return t.endsWith("ornull")&&0===n.length&&(t="isnull"),this.filters.push(new h(e,n,t)),this}}const l=["GET","POST","DELETE"];var p;e.APIOrder=void 0,(p=e.APIOrder||(e.APIOrder={})).asc="a",p.desc="d";class E{constructor(e){this.stack=[],this.requestConfig={},this.ALLOWED_HTTP_METHODS=l,e instanceof E?(this.root=e.root,Array.isArray(e.stack)&&this.push(...e.stack),null!=e.requestConfig&&this.setRequestConfig(e.requestConfig)):this.root=e,this.abortController=new n.AbortController}abortRequest(){this.abortController.abort(),this.abortController=new n.AbortController}push(...e){return this.stack=this.stack.concat(e),this}shift(){return this.stack.shift(),this}restack(...e){return this.stack=e,this}get first(){return this.stack[0]}get last(){return this.stack[this.stack.length-1]}set last(e){this.stack[this.stack.length-1]=e}toUrl(e=!1){let s=`/${this.stack.join("/")}`;return e&&(s=this.root.baseUrl+s),s}setRequestConfig(e){return Object.deepAssign(this.requestConfig,e),this}removeRequestConfig(e){return delete this.requestConfig[e],this}headers(e){const s={};for(const t in e){s[t.replace(/(?:^|-)([a-z])/g,(e=>e.toUpperCase()))]=e[t]}return this.setRequestConfig({headers:s})}method(e){const s=e.toLocaleUpperCase();if(!(this.ALLOWED_HTTP_METHODS.indexOf(s)>-1))throw new Error(`Method '${s}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(", ")}`);return this.setRequestConfig({method:s})}get(){return this.method("GET")}post(){return this.method("POST")}delete(){return this.method("DELETE")}params(e){return this.setRequestConfig({params:e}),this}getParams(){return null==this.requestConfig.params?{}:this.requestConfig.params}removeParam(e){return delete this.requestConfig.params[e],this}data(e){return this.setRequestConfig({data:e}),this}jsonData(e){return this.headers({"Content-Type":"application/json"}).data(e),this}formData(e){return this.headers({"Content-Type":"multipart/form-data"}).data(e),this}send(){const e=Object.deepAssign({},this.requestConfig,{url:`/${this.stack.join("/")}`,signal:this.abortController.signal});return null==e.headers&&(e.headers={}),null==e.headers["Content-Type"]&&(e.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"),"POST"===e.method&&e.headers["Content-Type"].startsWith("application/x-www-form-urlencoded")&&null!=e.data&&(e.data=this.paramsSerializer(e.data)),e.params&&(e.paramsSerializer=this.paramsSerializer),this.root.axios.request(e)}paramsSerializer(e){return r.stringify(e,{arrayFormat:"brackets"})}}class d extends E{constructor(){super(...arguments),this.all=this.noLimit,this.cut=this.between}create(e){return this.post().data(e).send()}sort(s,t=e.APIOrder.asc){return this.params({sort:`${s}_${t}`})}limit(e=20){if(!Number.isNatural(e))throw new Error(`Limit '${e}' is invalid!`);return this.params({limit:e})}getLimit(){const e=this.getParams();return null==e.limit?20:e.limit}noLimit(){return this.limit(0)}offset(e=0){if(!Number.isNatural(e))throw new Error(`Offset '${e}' is invalid!`);return this.params({offset:e})}between(e,s){if(!Number.isNatural(e))throw new Error(`From '${e}' is invalid!`);if(!Number.isNatural(s))throw new Error(`To '${s}' is invalid!`);return this.params({offset:e,limit:s-e+1})}only(e){if(!Number.isNatural(e))throw new Error(`Index '${e}' is invalid!`);return this.params({offset:e,limit:1})}page(e=1){if(!Number.isNatural(e)||0==e)throw new Error(`Page '${e}' is invalid!`);const s=this.getLimit(),t=(e-1)*s;return this.params({offset:t,limit:s})}search(e){if("string"!=typeof e)throw new Error("Search query must be a string!");return this.params({search:e})}filter(e){if("string"!=typeof e&&!(e instanceof c))throw new Error("Filter must be either string or instance of FilterBuilder");return this.params({filter:e.toString()})}}class w extends E{}class T extends d{constructor(e){super(e),this.push("cleanup-configurations")}specific(){return new w(this).push("specific")}}class I extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("cleanup-configurations",s)}devices(){return new w(this).push("devices")}}class N extends d{constructor(e){super(e),this.push("admin","devices")}cleanupConfigurations(){return new T(this)}cleanupConfiguration(e){return new I(this,e)}}class A extends d{constructor(e){super(e),this.push("admin","notification-plans")}channels(){return new d(this).push("channels")}scopes(){return new d(this).push("scopes")}}class R extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET"],this.push("admin","runs")}config(){const e=new w(this);return e.restack("runs","config"),e}}class S extends d{constructor(e){super(e),this.push("admin","services")}active(){const e=new d(this);return e.params({notArchived:!0}),e}activated(){const e=this.active();return e.params({filter:"activated_eq_true",limit:0,sort:"name_a"}),e}inUse(){const e=new d(this);return e.params({inUse:!0,limit:0,sort:"name_a"}),e}byPrice(){const e=new d(this);return e.params({sort:"centPrice_a"}),e}}function f(e){return class extends e{send(){return Promise.reject()}}}let O=class extends d{constructor(e){super(e),this.push("admin","statistics")}deviceSessions(){return new d(this).push("device-sessions")}frameworks(){return new d(this).push("frameworks")}};O=a([f],O);class L extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","accounts",s)}roles(){return new d(this).push("roles")}role(e){return new w(this).push("roles",e)}accountServices(){return new d(this).push("account-services")}preferences(){return new w(this).push("preferences")}}class m extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","account-services",s)}activate(){return new w(this).push("activate").post()}deactivate(){return new w(this).push("deactivate").post()}}class _ extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("clusters",s)}devices(){return new d(this).push("devices")}}class C extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","devices",s)}cleanupConfiguration(){return new w(this).push("cleanup-configuration")}labels(){return new d(this).push("labels")}label(e){return new w(this).push("labels",e)}queue(){return new d(this).push("queue")}}class v extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","device-models",s)}browsers(){return new d(this).push("browsers")}}e.InputFileset=class extends w{constructor(e){super(e),this.push("input-file-set")}files(){return new d(this).push("files")}filesZip(){return new w(this).push("files.zip")}},e.InputFileset=a([f],e.InputFileset);const D=new c;D.eq("state","READY"),D.in("mimetype",["image/png","image/jpg","image/jpeg","image/webp","image/gif"]),D.notlike("name","action-%%");const U=new c;U.eq("state","READY"),U.notin("mimetype",["image/png","image/jpg","image/jpeg","image/webp","image/gif","video/mp4","video/avi","video/webm","video/ogg","video/mpeg"]),e.OutputFileset=class extends w{constructor(e){super(e),this.push("output-file-set")}files(){return new d(this).push("files")}file(e){return new w(this).push("files",e)}filesZip(){return new w(this).push("files.zip")}screenshots(){return new d(this).push("screenshots")}screenshot(e){return new w(this).push("screenshots",e)}screenshotFile(e){return this.screenshot(e).push("file")}videos(){return this.files().params({filter:"s_state_eq_READY",tag:["video"]})}nonMediaFiles(){return this.files().filter(U)}performance(){return this.files().params({tag:["performance"]})}images(){return this.files().filter(D)}},e.OutputFileset=a([f],e.OutputFileset);class g extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-sessions",s)}commands(){return new d(this).push("commands")}input(){return new e.InputFileset(this)}output(){return new e.OutputFileset(this)}release(){return new w(this).push("release").post()}screenshots(){return new d(this).push("screenshots")}screenshot(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("screenshots",e)}steps(){return new d(this).push("steps")}step(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("steps",e)}currentStep(){return this.step("current")}testCaseRuns(){return new d(this).push("test-case-runs")}connections(){return new d(this).push("connections")}logs(){return new w(this).push("logs").setRequestConfig({responseType:"text"})}clusterLogs(){return new w(this).push("cluster-logs").setRequestConfig({responseType:"text"})}}class b extends g{changeBillable(e){return function(e,s){const t=new w(e),r=t.last;return t.restack("admin","device-sessions",r,"changebillable").params({billable:s}).post()}(this,e)}}class P extends d{constructor(e){super(e),this.push("admin","device-time")}countSessionReport(){return new d(this).push("count-session-report")}stepTimeReport(){return new d(this).push("step-time-report")}}class y extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","frameworks",s)}config(){return new w(this).push("config")}requiredRoles(){return new d(this).push("required-roles")}}class F extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","licenses",s)}activate(){return new w(this).push("activate")}deactivate(){return new w(this).push("deactivate")}resend(){return new w(this).push("resend")}download(){return new w(this).push("download")}}class M extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","notification-plans",s)}check(){return new d(this).push("check")}test(){return new w(this).push("test")}execute(){return new w(this).push("execute")}}function G(e,s,t){const r=new w(e).push(s);return null!=t&&r.params({deviceRunIds:t}),r.post()}class x extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","runs",s)}abort(){return new w(this).push("abort").post()}changeBillable(e){return new w(this).push("changebillable").post().params({billable:e})}changePriority(e){const s=new w(this).push("changepriority");return e&&s.post().data({priority:e}),s}retry(e){return G(this,"retry",e).setRequestConfig({timeout:0})}}class B extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","services",s)}activate(){return new w(this).push("activate").post()}}let k=class extends w{constructor(e){super(e),this.push("account")}roles(){return new d(this).push("roles")}role(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("roles",e)}services(){const e=new d(this);return e.last+="-services",e}update(){const e=new w(this);return e.last="update-account",e.post()}};k=a([f],k);class H extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-sessions",s)}connections(){return new d(this).push("connections")}connection(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("connections",e)}input(){return new e.InputFileset(this)}output(){return new e.OutputFileset(this)}release(){return new w(this).push("release").post()}visualTestsImages(){return new d(this).push("visual-tests","images")}}let q=class extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","users",s)}disable(){return new w(this).push("disable")}enable(){return new w(this).push("enable")}licenses(){return new d(this).push("licenses")}resendActivation(){return new w(this).push("resend-activation").post()}account(){return new k(this)}deviceSession(e){return new H(this,e)}roles(){return new d(this).push("roles")}role(e){return new w(this).push("roles",e)}};q=a([f],q);class W extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("access-groups",s)}users(){return new d(this).push("users")}user(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("users",e)}resources(){return new d(this).push("resources")}resource(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("resources",e)}}class K extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-groups",s)}devices(){return new d(this).push("devices")}device(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("devices",e)}selectors(){return new d(this).push("selectors")}selector(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("selectors",e)}share(){return new d(this).push("share")}}class V extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("files",s)}file(){return new w(this).push("file")}icon(){return new w(this).push("icon")}tags(){return new d(this).push("tags")}share(){return new d(this).push("share")}property(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("properties",e)}}class Y extends g{abort(){return new w(this).push("abort").post()}retry(){return new w(this).push("retry").post()}}class j extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("runs",s)}abort(){return new w(this).push("abort").post()}buildLogsZip(e){return G(this,"build-logs.zip",e)}dataAvailability(){return new w(this).push("data-availability")}deviceSessions(){return new d(this).push("device-sessions")}filesZip(e){return G(this,"files.zip",e)}logsZip(e){return G(this,"logs.zip",e)}performanceZip(e){return G(this,"performance.zip",e)}retry(e){return G(this,"retry",e).setRequestConfig({timeout:0})}screenshotNames(){return new d(this).push("screenshot-names")}screenshots(){return new d(this).push("screenshots")}screenshotsZip(e){return G(this,"screenshots.zip",e)}steps(){return new d(this).push("steps")}tags(){return new d(this).push("tags")}tag(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("tags",e)}}class $ extends j{deviceSession(e){return new Y(this,e)}}class z extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("projects",s)}runs(){return new d(this).push("runs")}run(e){return new $(this,e)}share(){return new d(this).push("share")}unarchive(){return new w(this).push("unarchive")}}let X=class extends w{constructor(e){super(e)}accessGroups(){return new d(this).push("access-groups")}accessGroup(e){return new W(this,e)}accounts(){return new d(this).push("admin","accounts")}account(e){if(null==e)throw new Error("Resource ID cannot be null!");return new L(this,e)}accountServices(){return new d(this).push("admin","account-services")}accountService(e){return new m(this,e)}activities(){return new d(this).push("admin","activities")}administrators(){return new d(this).push("admin","administrators")}billingPeriods(){return new d(this).push("admin","billing-periods")}billingPeriod(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","billing-periods",e)}browsers(){return new d(this).push("admin","browsers")}browser(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","browsers",e)}clusters(){return new d(this).push("clusters")}cluster(e){return new _(this,e)}countryVatRates(){return new d(this).push("admin","country-vat-rates")}countryVatRate(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","country-vat-rates",e)}devices(){return new N(this)}device(e){return new C(this,e)}devicesForModel(e){if(null==e)throw new Error("Resource ID cannot be null!");const s=this.devices();return s.params({filter:"deviceModelId_eq_"+e}),s}deviceStatuses(){return new d(this).push("admin","device","statuses")}deviceModels(){return new d(this).push("admin","device-models")}deviceModel(e){return new v(this,e)}deviceProblems(){return new d(this).push("admin","device-problems")}deviceModelCriterias(){return new d(this).push("admin","device-model-criteria")}deviceModelCriteria(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","device-model-criteria",e)}deviceSessions(){return new d(this).push("admin","device-sessions")}deviceSession(e){return new b(this,e)}deviceTime(){return new P(this)}deviceTimeSummary(){return new d(this).push("admin","device-time-summary")}deviceTypes(){return new d(this).push("admin","device-types")}deviceType(e){return new w(this).push("admin","device-types",e)}deviceGroups(){return new d(this).push("device-groups")}deviceGroup(e){return new K(this,e)}emails(){return new d(this).push("admin","emails")}resendEmail(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","emails",e,"resend").post()}errors(){return new d(this).push("admin","errors")}files(){return new d(this).push("files")}file(e){return new V(this,e)}frameworks(){return new d(this).push("admin","frameworks")}framework(e){return new y(this,e)}frameworkAvailableLabels(){const e=this.frameworks();return e.push("available-labels"),e}interactiveQueue(){return new d(this).push("admin","interactive-queue")}licenses(){return new d(this).push("admin","licenses")}license(e){return new F(this,e)}maintenance(){return new w(this).push("admin","maintenance")}notificationPlans(){return new A(this)}notificationPlan(e){return new M(this,e)}overview(){return new w(this).push("admin","overview")}pools(){return new d(this).push("admin","pools")}pool(e){return new w(this).push("admin","pools",e)}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}roles(){return new d(this).push("admin","roles")}runs(){return new R(this)}run(e){return new x(this,e)}samples(){return new d(this).push("admin","samples")}sample(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","samples",e)}services(){return new S(this)}service(e){return new B(this,e)}settings(){return new w(this).push("admin","settings")}statistics(){return new O(this)}users(){return new d(this).push("users")}createUser(){return new d(this).push("admin","users").post()}user(e){return new q(this,e)}};X=a([f],X);class J extends d{constructor(e){super(e),this.push("devices")}filters(){return new w(this).push("filters")}desktopBrowserCapabilities(){return new w(this).push("desktop-browser-capabilities")}}class Z extends d{constructor(e){super(e),this.push("properties")}maintenance(){return new d(this).params({filter:"name_eq_CLOUD_HEADER_ANNOUNCEMENT",limit:1,sort:"updateTime_d"})}}class Q extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["POST"],this.push("services")}available(){return new d(this).push("available")}active(){const e=new d(this);return"me"===this.first?e.push("active"):e.params({notArchived:!0}),e}byPrice(){return new d(this).sort("centPrice")}availableByPrice(){return new d(this).push("available").sort("centPrice")}}class ee extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET","POST"],this.push("users")}activate(){return new w(this).push("activate").post()}recoveries(){return new w(this).push("recoveries")}passwordRecovery(){return new w(this).push("password-recovery")}}class se extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("billing-periods",s)}receipt(){return new w(this).push("receipt").setRequestConfig({responseType:"arraybuffer"})}}class te extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("accounts",s)}concurrencyStatus(){return new w(this).push("concurrency-status")}deviceTime(){return new d(this).push("device-time")}deviceTimeSummary(){return new d(this).push("device-time-summary")}preferences(){return new w(this).push("preferences")}users(){return new d(this).push("users")}removeUser(e){return new w(this).push("users",e)}disableUser(e){return new w(this).push("users",e,"disable").post()}enableUser(e){return new w(this).push("users",e,"enable").post()}resendActivation(e){return new w(this).push("users",e,"resend-activation").post()}billingPeriods(){return new d(this).push("billing-periods")}billingPeriod(e){return new se(this,e)}serviceBillingPeriod(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("account-services",e,"billing-period")}visualTestAccess(){return new w(this).push("visual-tests","access")}accountServices(){return new d(this).push("account-services")}accountService(e){return new d(this).push("account-services",e)}}class re extends w{constructor(e){super(e),this.push("broker")}hubs(){return new d(this).push("hubs")}}class ne extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("devices",s)}properties(){return new d(this).push("properties")}browsers(){return new d(this).push("browsers")}}class ie extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("label-groups",s)}labels(){return new d(this).push("labels")}label(e){return new w(this).push("labels",e)}}class ue extends d{constructor(e){super(e),this.push("files")}upload(e){if(global.isNodeJs)return this.nodeUpload(e);throw new Error("Not supported yet!")}nodeUpload(e){const s=require("fs"),t=new(require("form-data"));return t.append("file",s.createReadStream(e.dir+"/"+e.filename),{filename:e.filename}),this.post().headers(t.getHeaders()).data(t)}}class oe extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("channels",s)}scopes(){return new d(this).push("scopes")}}class ae extends d{constructor(e){super(e),this.push("notifications")}scopes(){return new d(this).push("scopes")}channels(){return new d(this).push("channels")}channel(e){return new oe(this,e)}}class he extends d{constructor(e){super(e),this.push("runs")}config(){return new w(this).push("config")}}class ce extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET"],this.push("tunnels")}active(e){return this.params({active:e})}}class le extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("notifications",s)}test(){return new w(this).push("test")}}class pe extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");if(super(e),"me"===s)this.push("me");else{if("number"!=typeof s)throw new TypeError("id is not a number");this.push("users",s)}}services(){return new Q(this)}deviceGroups(){return new d(this).push("device-groups")}deviceGroup(e){return new K(this,e)}deviceSessions(){return new d(this).push("device-sessions")}deviceSession(e){return new H(this,e)}markAccountOwner(){return new w(this).push("mark-account-owner").post()}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}files(){return new ue(this)}file(e){return new V(this,e)}runs(){return new he(this)}availableFrameworks(){return new d(this).push("available-frameworks")}resetApiKey(){return new w(this).push("reset-api-key")}restore(){return new w(this).push("restore")}feedback(){return new w(this).push("feedback")}notifications(){return new ae(this)}notification(e){return new le(this,e)}preferences(){return new w(this).push("preferences")}uiPreferences(){return new w(this).push("ui-preferences")}deviceUsage(){return new d(this).push("device-usage")}statistics(){return new w(this).push("statistics")}deviceStatistics(){return new d(this).push("device-statistics")}accessGroups(){return new d(this).push("access-groups")}accessGroup(e){return new W(this,e)}smartbearTunnel(e){return new w(this).push("tunnels",e)}smartbearTunnels(){return new ce(this)}deleteAccount(){return new w(this).push("delete")}}class Ee extends w{constructor(e){super(e),this.push("user-sessions")}login(e){return new w(this).push("login").post().data(e)}logout(){return new w(this).push("logout").post()}sso(e){return new w(this).push("oauth","authorize",e+"-login")}portalLogin(){return new w(this).push("portal-login").post()}sbidCallbackUrl(){return new w(this).push("oauth","authorize","sbid-login").toUrl(!0)}}globalThis.isNodeJs&&(u.default.defaults.headers.common["User-Agent"]="Bitbar Cloud API Client for JavaScript v1.2.11"),u.default.defaults.maxContentLength=1073741824;class de{constructor(e){if(this.config=e,this.axiosConfig={},null==e)throw new Error("config cannot be empty");if(null==this.config.cloudUrl)throw new TypeError("cloudUrl cannot be empty");if("string"!=typeof this.config.cloudUrl)throw new TypeError("cloudUrl must be a string");if(!/^https?:\/\/.{2,}/.test(this.config.cloudUrl))throw new Error("cloudUrl doesn't look like a URL");if(this.axiosConfig.baseURL=this.config.cloudUrl.replace(/\/+$/,"")+"/api",this.config.v2=!!this.config.v2,this.config.v2&&(this.axiosConfig.baseURL+="/v2"),this.config.apiKey){if("string"!=typeof this.config.apiKey)throw new TypeError("apiKey must be a string");if(!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey))throw new Error("apiKey is in the wrong format");this.axiosConfig.auth={username:this.config.apiKey,password:""}}this.axiosConfig.withCredentials=null!=e.withCredentials&&e.withCredentials,this.axios=u.default.create(this.axiosConfig)}get baseUrl(){return this.axiosConfig.baseURL}account(e){return new te(this,e)}admin(){return new X(this)}broker(){return new re(this)}clusters(){return new d(this).push("clusters")}cluster(e){return new _(this,e)}device(e){return new ne(this,e)}deviceGroup(e){return new K(this,e)}deviceGroups(){return new d(this).push("device-groups")}devices(){return new J(this)}deviceSession(e){return new Y(this,e)}deviceSessions(){return new d(this).push("device-sessions")}deviceStatistics(){return new d(this).push("device-statistics")}enums(){return new w(this).push("enums")}files(){return new d(this).push("files")}file(e){return new V(this,e)}labelGroups(){return new d(this).push("label-groups")}labelGroup(e){return new ie(this,e)}labels(){return new d(this).push("labels")}licenses(){return new w(this).push("licenses")}license(){return new w(this).push("license")}ma(){throw new Error("Requires prototype extension covering ACL check")}me(){return this.user("me")}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}properties(){return new Z(this)}property(e){return new w(this).push("properties",e)}run(e){return new $(this,e)}services(){return new Q(this)}user(e){return new pe(this,e)}users(){return new ee(this)}userSession(){return new Ee(this)}}const we={API:de,FilterBuilder:c};var Te,Ie,Ne,Ae,Re,Se,fe,Oe,Le,me,_e,Ce,ve,De,Ue,ge,be,Pe,ye,Fe,Me,Ge,xe,Be,ke,He,qe,We,Ke,Ve,Ye,je,$e,ze,Xe,Je,Ze,Qe,es,ss,ts,rs;e.AccessGroupScope=void 0,(Te=e.AccessGroupScope||(e.AccessGroupScope={})).USER="USER",Te.ACCOUNT="ACCOUNT",Te.GLOBAL="GLOBAL",e.PaymentStatus=void 0,(Ie=e.PaymentStatus||(e.PaymentStatus={})).SUCCEEDED="SUCCEEDED",Ie.FAILED="FAILED",Ie.REDIRECTED="REDIRECTED",e.PaymentMethod=void 0,(Ne=e.PaymentMethod||(e.PaymentMethod={})).PAYPAL="PAYPAL",Ne.BRAINTREE="BRAINTREE",Ne.STRIPE="STRIPE",Ne.INVOICE="INVOICE",Ne.PROMOTION="PROMOTION",Ne.AWS="AWS",e.ChargeType=void 0,(Ae=e.ChargeType||(e.ChargeType={})).USAGE_MOBILE="USAGE_MOBILE",Ae.CONCURRENCY_MOBILE="CONCURRENCY_MOBILE",Ae.CONCURRENCY_DESKTOP="CONCURRENCY_DESKTOP",e.DeactivateReason=void 0,(Re=e.DeactivateReason||(e.DeactivateReason={})).INITIAL_FAILURE="INITIAL_FAILURE",Re.SCA_FAILURE="SCA_FAILURE",Re.CHARGE_FAILURE="CHARGE_FAILURE",Re.CANCEL="CANCEL",Re.SUSPENDED="SUSPENDED",Re.ANOTHER_PURCHASE="ANOTHER_PURCHASE",e.InitStep=void 0,(Se=e.InitStep||(e.InitStep={})).SKIP="SKIP",Se.REBOOT="REBOOT",Se.REBOOT_WITH_UNLOCK="REBOOT_WITH_UNLOCK",Se.UNLOCK_ONLY="UNLOCK_ONLY",e.DeviceState=void 0,(fe=e.DeviceState||(e.DeviceState={})).OFFLINE_CLEANING="OFFLINE_CLEANING",fe.OFFLINE_DIRTY="OFFLINE_DIRTY",fe.OFFLINE_FREE="OFFLINE_FREE",fe.OFFLINE_TESTING="OFFLINE_TESTING",fe.ONLINE_CLEANING="ONLINE_CLEANING",fe.ONLINE_DIRTY="ONLINE_DIRTY",fe.ONLINE_FREE="ONLINE_FREE",fe.ONLINE_TESTING="ONLINE_TESTING",e.AdminErrorType=void 0,(Oe=e.AdminErrorType||(e.AdminErrorType={})).ABORT_REQUEST="ABORT_REQUEST",Oe.ADB_COMMAND_REJECTED="ADB_COMMAND_REJECTED",Oe.ADB_SHELL_COMMAND_FAILED="ADB_SHELL_COMMAND_FAILED",Oe.APP_LOCK_NOT_INSTALLED="APP_LOCK_NOT_INSTALLED",Oe.DEVICE_OFFLINE="DEVICE_OFFLINE",Oe.DEVICE_OUTPUT_NULL="DEVICE_OUTPUT_NULL",Oe.GAMEBENCH_ERROR="GAMEBENCH_ERROR",Oe.GAMEBENCH_NOT_SUPPORTED="GAMEBENCH_NOT_SUPPORTED",Oe.GRANT_FAILED="GRANT_FAILED",Oe.INSTALL_FAILED="INSTALL_FAILED",Oe.INTERACTIVE_SETUP_FAILED="INTERACTIVE_SETUP_FAILED",Oe.INTERNAL_INSTALL_FAILED="INTERNAL_INSTALL_FAILED",Oe.INVALID_TEST_SESSION_FILE="INVALID_TEST_SESSION_FILE",Oe.LOCK_EXPIRED="LOCK_EXPIRED",Oe.LOCK_TIMEOUT="LOCK_TIMEOUT",Oe.NO_NETWORK_CONNECTION="NO_NETWORK_CONNECTION",Oe.OTHER="OTHER",Oe.REBOOTING_TIMEOUT="REBOOTING_TIMEOUT",Oe.REPACKAGING="REPACKAGING",Oe.RESULTS_PREPARING="RESULTS_PREPARING",Oe.RESULTS_PROCESSING="RESULTS_PROCESSING",Oe.RESULTS_SENDING="RESULTS_SENDING",Oe.STEP_TIMEOUT="STEP_TIMEOUT",Oe.SYSTEM_FAILURE="SYSTEM_FAILURE",Oe.TEST_RUN_FAILED="TEST_RUN_FAILED",Oe.TEST_RUN_INTERRUPTED="TEST_RUN_INTERRUPTED",Oe.TEST_RUN_TIMEOUT="TEST_RUN_TIMEOUT",Oe.TEST_RUN_WARNED="TEST_RUN_WARNED",Oe.TEST_TIMEOUT="TEST_TIMEOUT",Oe.VNC_CONNECTION_SETUP_FAILED="VNC_CONNECTION_SETUP_FAILED",Oe.XCRUN_INSTRUMENTS_COMMAND_FAILED="XCRUN_INSTRUMENTS_COMMAND_FAILED",Oe.XCRUN_INSTRUMENTS_JS_ERROR="XCRUN_INSTRUMENTS_JS_ERROR",e.FrameworkType=void 0,(Le=e.FrameworkType||(e.FrameworkType={})).AUTOMATIC="AUTOMATIC",Le.MANUAL_APP="MANUAL_APP",Le.MANUAL_WEB="MANUAL_WEB",Le.REMOTE="REMOTE",e.BillingType=void 0,(me=e.BillingType||(e.BillingType={})).BUY="BUY",me.CHARGE="CHARGE",me.CANCEL="CANCEL",e.BrokerType=void 0,(_e=e.BrokerType||(e.BrokerType={})).MOBILE="MOBILE",_e.DESKTOP="DESKTOP",e.ClusterState=void 0,(Ce=e.ClusterState||(e.ClusterState={}))[Ce.OFFLINE=0]="OFFLINE",Ce.ONLINE="ONLINE",Ce.RESTARTING="RESTARTING",Ce.QUIET_DOWN="QUIET_DOWN",Ce.MAINTENANCE="MAINTENANCE",e.DeviceGroupOrigin=void 0,(ve=e.DeviceGroupOrigin||(e.DeviceGroupOrigin={})).STATIC="STATIC",ve.DYNAMIC="DYNAMIC",ve.HYBRID="HYBRID",e.Platform=void 0,(De=e.Platform||(e.Platform={})).IOS="IOS",De.ANDROID="ANDROID",De.WINDOWS="WINDOWS",De.MAC="MAC",De.LINUX="LINUX",De.UNDEFINED="UNDEFINED",e.SupportedCreators=void 0,(Ue=e.SupportedCreators||(e.SupportedCreators={})).MANUAL="MANUAL",Ue.ROBOT="ROBOT",Ue.AUTOMATIC="AUTOMATIC",e.CriterionField=void 0,(ge=e.CriterionField||(e.CriterionField={})).NAME="NAME",ge.FINGERPRINT="FINGERPRINT",ge.SERIAL_ID="SERIAL_ID",ge.UNLOCK_GESTURE="UNLOCK_GESTURE",ge.SOFTWARE_VERSION="SOFTWARE_VERSION",ge.INIT_STEP="INIT_STEP",ge.ACCOUNT="ACCOUNT",ge.BROWSERS="BROWSERS",e.RetentionStrategy=void 0,(be=e.RetentionStrategy||(e.RetentionStrategy={})).CLUSTER_ON_OFF="CLUSTER_ON_OFF",be.MIN_FREE_MAX_TOTAL="MIN_FREE_MAX_TOTAL",be.POOL_MANAGER_AWARE="POOL_MANAGER_AWARE",e.ProblemType=void 0,(Pe=e.ProblemType||(e.ProblemType={})).CLEANING="CLEANING",Pe.DIRTY="DIRTY",Pe.OFFLINE="OFFLINE",Pe.LOW_BATTERY="LOW_BATTERY",Pe.HIGH_FAIL_RATE="HIGH_FAIL_RATE",Pe.NO_INTERNET_CONNECTION="NO_INTERNET_CONNECTION",e.DeviceSessionType=void 0,(ye=e.DeviceSessionType||(e.DeviceSessionType={})).AUTOMATIC="AUTOMATIC",ye.MANUAL="MANUAL",ye.MANUAL_APP="MANUAL_APP",ye.MANUAL_WEB="MANUAL_WEB",ye.REMOTE="REMOTE",e.RetryState=void 0,(Fe=e.RetryState||(e.RetryState={})).NONE="NONE",Fe.MANUAL="MANUAL",Fe.AUTO="AUTO",e.DeviceSessionState=void 0,(Me=e.DeviceSessionState||(e.DeviceSessionState={})).ABORTED="ABORTED",Me.EXCLUDED="EXCLUDED",Me.FAILED="FAILED",Me.RUNNING="RUNNING",Me.SUCCEEDED="SUCCEEDED",Me.TIMEOUT="TIMEOUT",Me.WAITING="WAITING",Me.WARNING="WARNING",e.DeviceSessionStepType=void 0,(Ge=e.DeviceSessionStepType||(e.DeviceSessionStepType={})).WAITING="WAITING",Ge.PREPARING="PREPARING",Ge.UNINSTALL="UNINSTALL",Ge.INSTALL="INSTALL",Ge.RUNNING="RUNNING",Ge.SENDING_RESULTS="SENDING_RESULTS",Ge.PROCESSING_RESULTS="PROCESSING_RESULTS",e.SessionReleaseReason=void 0,(xe=e.SessionReleaseReason||(e.SessionReleaseReason={})).INACTIVITY="INACTIVITY",xe.TIMEOUT="TIMEOUT",xe.USER_ACTION="USER_ACTION",xe.CHANGE_DEVICE="CHANGE_DEVICE",xe.WEBSOCKET_CLOSED="WEBSOCKET_CLOSED",e.OsType=void 0,(Be=e.OsType||(e.OsType={})).IOS="IOS",Be.ANDROID="ANDROID",Be.DESKTOP="DESKTOP",Be.UNDEFINED="UNDEFINED",e.LicenseStatus=void 0,(ke=e.LicenseStatus||(e.LicenseStatus={})).ACTIVE="ACTIVE",ke.EXPIRED="EXPIRED",ke.INACTIVE="INACTIVE",ke.CLOSED="CLOSED",e.MaintenanceType=void 0,(He=e.MaintenanceType||(e.MaintenanceType={})).BARE_METAL="BARE_METAL",He.EC2="EC2",He.VM="VM",e.NotificationChannel=void 0,(qe=e.NotificationChannel||(e.NotificationChannel={})).SLACK="SLACK",qe.EMAIL="EMAIL",qe.WEBHOOK="WEBHOOK",e.NotificationScope=void 0,(We=e.NotificationScope||(e.NotificationScope={})).ALL="ALL",We.TEST_RUN="TEST_RUN",We.TEST_RUN_FAILURE="TEST_RUN_FAILURE",We.TEST_RUN_SUCCEEDED="TEST_RUN_SUCCEEDED",We.MAINTENANCE="MAINTENANCE",We.MAINTENANCE_RELEASE="MAINTENANCE_RELEASE",We.CUSTOM="CUSTOM",We.NEWS="NEWS",We.SYSTEM="SYSTEM",We.CHECK="CHECK",We.PLAN_LIMIT_REACHED="PLAN_LIMIT_REACHED",We.PLAN_INVOICE="PLAN_INVOICE",e.ArchivingStrategy=void 0,(Ke=e.ArchivingStrategy||(e.ArchivingStrategy={})).NEVER="NEVER",Ke.DAYS="DAYS",Ke.RUNS="RUNS",e.ScreenshotType=void 0,(Ve=e.ScreenshotType||(e.ScreenshotType={})).LANDSCAPE="LANDSCAPE",Ve.PORTRAIT="PORTRAIT",e.ServiceUnit=void 0,(Ye=e.ServiceUnit||(e.ServiceUnit={})).DAY="DAY",Ye.HOUR="HOUR",Ye.MONTH="MONTH",Ye.PROJECT="PROJECT",Ye.RUN="RUN",Ye.YEAR="YEAR",e.SharedResourceType=void 0,(je=e.SharedResourceType||(e.SharedResourceType={})).DEVICE_GROUP="DEVICE_GROUP",je.FILE="FILE",je.PROJECT="PROJECT",e.TestResult=void 0,($e=e.TestResult||(e.TestResult={})).PASSED="PASSED",$e.FAILED="FAILED",$e.SKIPPED="SKIPPED",$e.NOT_AVAILABLE="NOT_AVAILABLE",e.LimitationType=void 0,(ze=e.LimitationType||(e.LimitationType={})).PACKAGE="PACKAGE",ze.CLASS="CLASS",e.TestScheduler=void 0,(Xe=e.TestScheduler||(e.TestScheduler={})).PARALLEL="PARALLEL",Xe.SERIAL="SERIAL",Xe.SINGLE="SINGLE",Xe.ALL_INSTANCES="ALL_INSTANCES",e.TestState=void 0,(Je=e.TestState||(e.TestState={})).WAITING="WAITING",Je.RUNNING="RUNNING",Je.FINISHED="FINISHED",e.MfaStatus=void 0,(Ze=e.MfaStatus||(e.MfaStatus={})).VERIFICATION_NEED="VERIFICATION_NEED",Ze.DISABLED="DISABLED",Ze.ENABLED="ENABLED",e.UserStatus=void 0,(Qe=e.UserStatus||(e.UserStatus={})).INACTIVE="INACTIVE",Qe.DISABLED="DISABLED",Qe.ENABLED="ENABLED",e.FileDirection=void 0,(es=e.FileDirection||(e.FileDirection={})).INPUT="INPUT",es.OUTPUT="OUTPUT",e.FileInputType=void 0,(ss=e.FileInputType||(e.FileInputType={})).APPLICATION="APPLICATION",ss.TEST="TEST",ss.DATA="DATA",e.FileState=void 0,(ts=e.FileState||(e.FileState={})).PREPARING="PREPARING",ts.READY="READY",e.VisualTestImageType=void 0,(rs=e.VisualTestImageType||(e.VisualTestImageType={})).FULL_PAGE="FULL_PAGE",rs.VIEWPORT="VIEWPORT",rs.ELEMENT_SCREENSHOT="ELEMENT_SCREENSHOT",e.ALLOWED_HTTP_METHODS=l,e.API=de,e.CloudAPIClient=we,e.FilterBuilder=c,e.IMAGE_FILES_FILTER=D,e.NON_MEDIA_FILES_FILTER=U,e.default=we,Object.defineProperty(e,"__esModule",{value:!0})})); +function a(e,s,t,r){var n,i=arguments.length,u=i<3?s:null===r?r=Object.getOwnPropertyDescriptor(s,t):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)u=Reflect.decorate(e,s,t,r);else for(var o=e.length-1;o>=0;o--)(n=e[o])&&(u=(i<3?n(u):i>3?n(s,t,u):n(s,t))||u);return i>3&&u&&Object.defineProperty(s,t,u),u}class h{constructor(e,s,t){this.name=e,this.value=s,this.operand=t}}o.default();class c{constructor(){this.filters=[]}gt(e,s){return this.add(e,s,"gt")}lt(e,s){return this.add(e,s,"lt")}after(e,s){return this.add(e,s,"after",!0)}afterorequal(e,s){return this.add(e,s,"afterorequal",!0)}before(e,s){return this.add(e,s,"before",!0)}beforeorequal(e,s){return this.add(e,s,"beforeorequal",!0)}on(e,s){return this.add(e,s,"on")}eq(e,s){return this.add(e,s,"eq")}contains(e,s){return this.add(e,s,"contains")}like(e,s){return this.add(e,s,"like")}notlike(e,s){return this.add(e,s,"notlike")}isnull(e){return this.add(e,void 0,"isnull")}isnotnull(e){return this.add(e,void 0,"isnotnull")}in(e,s){return this.add(e,s,"in",!0)}notin(e,s){return this.add(e,s,"notin",!0)}raw(e){const s=Array.wrap(e);for(const e of s){if(!this.isFilterPart(e))throw new SyntaxError(`Filter ${e} has invalid syntax`);this.filters.push(e)}}isFilterPart(e){return/^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(e)}toString(){const e=[];let s,t;for(const r of this.filters)"string"==typeof r?s=r:(t="",(r.value.length>1||void 0!==r.value[0])&&(t=`_${r.value.join("|")}`),s=`${r.name}_${r.operand}${t}`),e.push(s);return e.join(";")}add(e,s,t,r=!1){let n=Array.wrap(s);if(0===n.length)return this;for(let e=0;enull!==e)),t+="ornull")}return t.endsWith("ornull")&&0===n.length&&(t="isnull"),this.filters.push(new h(e,n,t)),this}}const l=["GET","POST","DELETE"];var p;e.APIOrder=void 0,(p=e.APIOrder||(e.APIOrder={})).asc="a",p.desc="d";class E{constructor(e){this.stack=[],this.requestConfig={},this.ALLOWED_HTTP_METHODS=l,e instanceof E?(this.root=e.root,Array.isArray(e.stack)&&this.push(...e.stack),null!=e.requestConfig&&this.setRequestConfig(e.requestConfig)):this.root=e,this.abortController=new n.AbortController}abortRequest(){this.abortController.abort(),this.abortController=new n.AbortController}push(...e){return this.stack=this.stack.concat(e),this}shift(){return this.stack.shift(),this}restack(...e){return this.stack=e,this}get first(){return this.stack[0]}get last(){return this.stack[this.stack.length-1]}set last(e){this.stack[this.stack.length-1]=e}toUrl(e=!1){let s=`/${this.stack.join("/")}`;return e&&(s=this.root.baseUrl+s),s}setRequestConfig(e){return Object.deepAssign(this.requestConfig,e),this}removeRequestConfig(e){return delete this.requestConfig[e],this}headers(e){const s={};for(const t in e){s[t.replace(/(?:^|-)([a-z])/g,(e=>e.toUpperCase()))]=e[t]}return this.setRequestConfig({headers:s})}method(e){const s=e.toLocaleUpperCase();if(!(this.ALLOWED_HTTP_METHODS.indexOf(s)>-1))throw new Error(`Method '${s}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(", ")}`);return this.setRequestConfig({method:s})}get(){return this.method("GET")}post(){return this.method("POST")}delete(){return this.method("DELETE")}params(e){return this.setRequestConfig({params:e}),this}getParams(){return null==this.requestConfig.params?{}:this.requestConfig.params}removeParam(e){return delete this.requestConfig.params[e],this}data(e){return this.setRequestConfig({data:e}),this}jsonData(e){return this.headers({"Content-Type":"application/json"}).data(e),this}formData(e){return this.headers({"Content-Type":"multipart/form-data"}).data(e),this}send(){const e=Object.deepAssign({},this.requestConfig,{url:`/${this.stack.join("/")}`,signal:this.abortController.signal});return null==e.headers&&(e.headers={}),null==e.headers["Content-Type"]&&(e.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"),"POST"===e.method&&e.headers["Content-Type"].startsWith("application/x-www-form-urlencoded")&&null!=e.data&&(e.data=this.paramsSerializer(e.data)),e.params&&(e.paramsSerializer=this.paramsSerializer),this.root.axios.request(e)}paramsSerializer(e){return r.stringify(e,{arrayFormat:"brackets"})}}class d extends E{constructor(){super(...arguments),this.all=this.noLimit,this.cut=this.between}create(e){return this.post().data(e).send()}sort(s,t=e.APIOrder.asc){return this.params({sort:`${s}_${t}`})}limit(e=20){if(!Number.isNatural(e))throw new Error(`Limit '${e}' is invalid!`);return this.params({limit:e})}getLimit(){const e=this.getParams();return null==e.limit?20:e.limit}noLimit(){return this.limit(0)}offset(e=0){if(!Number.isNatural(e))throw new Error(`Offset '${e}' is invalid!`);return this.params({offset:e})}between(e,s){if(!Number.isNatural(e))throw new Error(`From '${e}' is invalid!`);if(!Number.isNatural(s))throw new Error(`To '${s}' is invalid!`);return this.params({offset:e,limit:s-e+1})}only(e){if(!Number.isNatural(e))throw new Error(`Index '${e}' is invalid!`);return this.params({offset:e,limit:1})}page(e=1){if(!Number.isNatural(e)||0==e)throw new Error(`Page '${e}' is invalid!`);const s=this.getLimit(),t=(e-1)*s;return this.params({offset:t,limit:s})}search(e){if("string"!=typeof e)throw new Error("Search query must be a string!");return this.params({search:e})}filter(e){if("string"!=typeof e&&!(e instanceof c))throw new Error("Filter must be either string or instance of FilterBuilder");return this.params({filter:e.toString()})}}class w extends E{}class T extends d{constructor(e){super(e),this.push("cleanup-configurations")}specific(){return new w(this).push("specific")}}class I extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("cleanup-configurations",s)}devices(){return new w(this).push("devices")}}class N extends d{constructor(e){super(e),this.push("admin","devices")}cleanupConfigurations(){return new T(this)}cleanupConfiguration(e){return new I(this,e)}}class A extends d{constructor(e){super(e),this.push("admin","notification-plans")}channels(){return new d(this).push("channels")}scopes(){return new d(this).push("scopes")}}class R extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET"],this.push("admin","runs")}config(){const e=new w(this);return e.restack("runs","config"),e}}class S extends d{constructor(e){super(e),this.push("admin","services")}active(){const e=new d(this);return e.params({notArchived:!0}),e}activated(){const e=this.active();return e.params({filter:"activated_eq_true",limit:0,sort:"name_a"}),e}inUse(){const e=new d(this);return e.params({inUse:!0,limit:0,sort:"name_a"}),e}byPrice(){const e=new d(this);return e.params({sort:"centPrice_a"}),e}}function f(e){return class extends e{send(){return Promise.reject()}}}let O=class extends d{constructor(e){super(e),this.push("admin","statistics")}deviceSessions(){return new d(this).push("device-sessions")}frameworks(){return new d(this).push("frameworks")}};O=a([f],O);class L extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","accounts",s)}roles(){return new d(this).push("roles")}role(e){return new w(this).push("roles",e)}accountServices(){return new d(this).push("account-services")}preferences(){return new w(this).push("preferences")}}class m extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","account-services",s)}activate(){return new w(this).push("activate").post()}deactivate(){return new w(this).push("deactivate").post()}}class _ extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("clusters",s)}devices(){return new d(this).push("devices")}}class C extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","devices",s)}cleanupConfiguration(){return new w(this).push("cleanup-configuration")}labels(){return new d(this).push("labels")}label(e){return new w(this).push("labels",e)}queue(){return new d(this).push("queue")}}class v extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","device-models",s)}browsers(){return new d(this).push("browsers")}}e.InputFileset=class extends w{constructor(e){super(e),this.push("input-file-set")}files(){return new d(this).push("files")}filesZip(){return new w(this).push("files.zip")}},e.InputFileset=a([f],e.InputFileset);const D=new c;D.eq("state","READY"),D.in("mimetype",["image/png","image/jpg","image/jpeg","image/webp","image/gif"]),D.notlike("name","action-%%");const U=new c;U.eq("state","READY"),U.notin("mimetype",["image/png","image/jpg","image/jpeg","image/webp","image/gif","video/mp4","video/avi","video/webm","video/ogg","video/mpeg"]),e.OutputFileset=class extends w{constructor(e){super(e),this.push("output-file-set")}files(){return new d(this).push("files")}file(e){return new w(this).push("files",e)}filesZip(){return new w(this).push("files.zip")}screenshots(){return new d(this).push("screenshots")}screenshot(e){return new w(this).push("screenshots",e)}screenshotFile(e){return this.screenshot(e).push("file")}videos(){return this.files().params({filter:"s_state_eq_READY",tag:["video"]})}nonMediaFiles(){return this.files().filter(U)}performance(){return this.files().params({tag:["performance"]})}images(){return this.files().filter(D)}},e.OutputFileset=a([f],e.OutputFileset);class g extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-sessions",s)}commands(){return new d(this).push("commands")}input(){return new e.InputFileset(this)}output(){return new e.OutputFileset(this)}release(){return new w(this).push("release").post()}screenshots(){return new d(this).push("screenshots")}screenshot(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("screenshots",e)}steps(){return new d(this).push("steps")}step(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("steps",e)}currentStep(){return this.step("current")}testCaseRuns(){return new d(this).push("test-case-runs")}connections(){return new d(this).push("connections")}logs(){return new w(this).push("logs").setRequestConfig({responseType:"text"})}clusterLogs(){return new w(this).push("cluster-logs").setRequestConfig({responseType:"text"})}}class b extends g{changeBillable(e){return function(e,s){const t=new w(e),r=t.last;return t.restack("admin","device-sessions",r,"changebillable").params({billable:s}).post()}(this,e)}}class P extends d{constructor(e){super(e),this.push("admin","device-time")}countSessionReport(){return new d(this).push("count-session-report")}stepTimeReport(){return new d(this).push("step-time-report")}}class y extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","frameworks",s)}config(){return new w(this).push("config")}requiredRoles(){return new d(this).push("required-roles")}}class F extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","licenses",s)}activate(){return new w(this).push("activate")}deactivate(){return new w(this).push("deactivate")}resend(){return new w(this).push("resend")}download(){return new w(this).push("download")}}class M extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","notification-plans",s)}check(){return new d(this).push("check")}test(){return new w(this).push("test")}execute(){return new w(this).push("execute")}}function G(e,s,t){const r=new w(e).push(s);return null!=t&&r.params({deviceRunIds:t}),r.post()}class x extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","runs",s)}abort(){return new w(this).push("abort").post()}changeBillable(e){return new w(this).push("changebillable").post().params({billable:e})}changePriority(e){const s=new w(this).push("changepriority");return e&&s.post().data({priority:e}),s}retry(e){return G(this,"retry",e).setRequestConfig({timeout:0})}}class B extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","services",s)}activate(){return new w(this).push("activate").post()}}let k=class extends w{constructor(e){super(e),this.push("account")}roles(){return new d(this).push("roles")}role(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("roles",e)}services(){const e=new d(this);return e.last+="-services",e}update(){const e=new w(this);return e.last="update-account",e.post()}};k=a([f],k);class H extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-sessions",s)}connections(){return new d(this).push("connections")}connection(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("connections",e)}input(){return new e.InputFileset(this)}output(){return new e.OutputFileset(this)}release(){return new w(this).push("release").post()}visualTestsImages(){return new d(this).push("visual-tests","images")}}let q=class extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("admin","users",s)}disable(){return new w(this).push("disable")}enable(){return new w(this).push("enable")}licenses(){return new d(this).push("licenses")}resendActivation(){return new w(this).push("resend-activation").post()}account(){return new k(this)}deviceSession(e){return new H(this,e)}roles(){return new d(this).push("roles")}role(e){return new w(this).push("roles",e)}};q=a([f],q);class W extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("access-groups",s)}users(){return new d(this).push("users")}user(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("users",e)}resources(){return new d(this).push("resources")}resource(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("resources",e)}}class K extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("device-groups",s)}devices(){return new d(this).push("devices")}device(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("devices",e)}selectors(){return new d(this).push("selectors")}selector(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("selectors",e)}share(){return new d(this).push("share")}}class V extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("files",s)}file(){return new w(this).push("file")}icon(){return new w(this).push("icon")}tags(){return new d(this).push("tags")}share(){return new d(this).push("share")}property(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("properties",e)}}class Y extends g{abort(){return new w(this).push("abort").post()}retry(){return new w(this).push("retry").post()}}class j extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("runs",s)}abort(){return new w(this).push("abort").post()}buildLogsZip(e){return G(this,"build-logs.zip",e)}dataAvailability(){return new w(this).push("data-availability")}deviceSessions(){return new d(this).push("device-sessions")}filesZip(e){return G(this,"files.zip",e)}logsZip(e){return G(this,"logs.zip",e)}performanceZip(e){return G(this,"performance.zip",e)}retry(e){return G(this,"retry",e).setRequestConfig({timeout:0})}screenshotNames(){return new d(this).push("screenshot-names")}screenshots(){return new d(this).push("screenshots")}screenshotsZip(e){return G(this,"screenshots.zip",e)}steps(){return new d(this).push("steps")}tags(){return new d(this).push("tags")}tag(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("tags",e)}}class $ extends j{deviceSession(e){return new Y(this,e)}}class z extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("projects",s)}runs(){return new d(this).push("runs")}run(e){return new $(this,e)}share(){return new d(this).push("share")}unarchive(){return new w(this).push("unarchive")}}let X=class extends w{constructor(e){super(e)}accessGroups(){return new d(this).push("access-groups")}accessGroup(e){return new W(this,e)}accounts(){return new d(this).push("admin","accounts")}account(e){if(null==e)throw new Error("Resource ID cannot be null!");return new L(this,e)}accountServices(){return new d(this).push("admin","account-services")}accountService(e){return new m(this,e)}activities(){return new d(this).push("admin","activities")}administrators(){return new d(this).push("admin","administrators")}billingPeriods(){return new d(this).push("admin","billing-periods")}billingPeriod(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","billing-periods",e)}browsers(){return new d(this).push("admin","browsers")}browser(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","browsers",e)}clusters(){return new d(this).push("clusters")}cluster(e){return new _(this,e)}countryVatRates(){return new d(this).push("admin","country-vat-rates")}countryVatRate(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","country-vat-rates",e)}devices(){return new N(this)}device(e){return new C(this,e)}devicesForModel(e){if(null==e)throw new Error("Resource ID cannot be null!");const s=this.devices();return s.params({filter:"deviceModelId_eq_"+e}),s}deviceStatuses(){return new d(this).push("admin","device","statuses")}deviceModels(){return new d(this).push("admin","device-models")}deviceModel(e){return new v(this,e)}deviceProblems(){return new d(this).push("admin","device-problems")}deviceModelCriterias(){return new d(this).push("admin","device-model-criteria")}deviceModelCriteria(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","device-model-criteria",e)}deviceSessions(){return new d(this).push("admin","device-sessions")}deviceSession(e){return new b(this,e)}deviceTime(){return new P(this)}deviceTimeSummary(){return new d(this).push("admin","device-time-summary")}deviceTypes(){return new d(this).push("admin","device-types")}deviceType(e){return new w(this).push("admin","device-types",e)}deviceGroups(){return new d(this).push("device-groups")}deviceGroup(e){return new K(this,e)}emails(){return new d(this).push("admin","emails")}resendEmail(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","emails",e,"resend").post()}errors(){return new d(this).push("admin","errors")}files(){return new d(this).push("files")}file(e){return new V(this,e)}frameworks(){return new d(this).push("admin","frameworks")}framework(e){return new y(this,e)}frameworkAvailableLabels(){const e=this.frameworks();return e.push("available-labels"),e}interactiveQueue(){return new d(this).push("admin","interactive-queue")}licenses(){return new d(this).push("admin","licenses")}license(e){return new F(this,e)}maintenance(){return new w(this).push("admin","maintenance")}notificationPlans(){return new A(this)}notificationPlan(e){return new M(this,e)}overview(){return new w(this).push("admin","overview")}pools(){return new d(this).push("admin","pools")}pool(e){return new w(this).push("admin","pools",e)}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}roles(){return new d(this).push("admin","roles")}runs(){return new R(this)}run(e){return new x(this,e)}samples(){return new d(this).push("admin","samples")}sample(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("admin","samples",e)}services(){return new S(this)}service(e){return new B(this,e)}settings(){return new w(this).push("admin","settings")}statistics(){return new O(this)}users(){return new d(this).push("users")}createUser(){return new d(this).push("admin","users").post()}user(e){return new q(this,e)}};X=a([f],X);class J extends d{constructor(e){super(e),this.push("devices")}filters(){return new w(this).push("filters")}desktopBrowserCapabilities(){return new w(this).push("desktop-browser-capabilities")}}class Z extends d{constructor(e){super(e),this.push("properties")}maintenance(){return new d(this).params({filter:"name_eq_CLOUD_HEADER_ANNOUNCEMENT",limit:1,sort:"updateTime_d"})}}class Q extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["POST"],this.push("services")}available(){return new d(this).push("available")}active(){const e=new d(this);return"me"===this.first?e.push("active"):e.params({notArchived:!0}),e}byPrice(){return new d(this).sort("centPrice")}availableByPrice(){return new d(this).push("available").sort("centPrice")}}class ee extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET","POST"],this.push("users")}activate(){return new w(this).push("activate").post()}recoveries(){return new w(this).push("recoveries")}passwordRecovery(){return new w(this).push("password-recovery")}}class se extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("billing-periods",s)}receipt(){return new w(this).push("receipt").setRequestConfig({responseType:"arraybuffer"})}}class te extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("accounts",s)}concurrencyStatus(){return new w(this).push("concurrency-status")}deviceTime(){return new d(this).push("device-time")}deviceTimeSummary(){return new d(this).push("device-time-summary")}preferences(){return new w(this).push("preferences")}users(){return new d(this).push("users")}removeUser(e){return new w(this).push("users",e)}disableUser(e){return new w(this).push("users",e,"disable").post()}enableUser(e){return new w(this).push("users",e,"enable").post()}resendActivation(e){return new w(this).push("users",e,"resend-activation").post()}billingPeriods(){return new d(this).push("billing-periods")}billingPeriod(e){return new se(this,e)}serviceBillingPeriod(e){if(null==e)throw new Error("Resource ID cannot be null!");return new w(this).push("account-services",e,"billing-period")}visualTestAccess(){return new w(this).push("visual-tests","access")}accountServices(){return new d(this).push("account-services")}accountService(e){return new d(this).push("account-services",e)}}class re extends w{constructor(e){super(e),this.push("broker")}hubs(){return new d(this).push("hubs")}}class ne extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("devices",s)}properties(){return new d(this).push("properties")}browsers(){return new d(this).push("browsers")}}class ie extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("label-groups",s)}labels(){return new d(this).push("labels")}label(e){return new w(this).push("labels",e)}}class ue extends d{constructor(e){super(e),this.push("files")}upload(e){if(global.isNodeJs)return this.nodeUpload(e);throw new Error("Not supported yet!")}nodeUpload(e){const s=require("fs"),t=new(require("form-data"));return t.append("file",s.createReadStream(e.dir+"/"+e.filename),{filename:e.filename}),this.post().headers(t.getHeaders()).data(t)}}class oe extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("channels",s)}scopes(){return new d(this).push("scopes")}}class ae extends d{constructor(e){super(e),this.push("notifications")}scopes(){return new d(this).push("scopes")}channels(){return new d(this).push("channels")}channel(e){return new oe(this,e)}}class he extends d{constructor(e){super(e),this.push("runs")}config(){return new w(this).push("config")}}class ce extends d{constructor(e){super(e),this.ALLOWED_HTTP_METHODS=["GET"],this.push("tunnels")}active(e){return this.params({active:e})}}class le extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");super(e),this.push("notifications",s)}test(){return new w(this).push("test")}}class pe extends w{constructor(e,s){if(null==s)throw new Error("Resource ID cannot be null!");if(super(e),"me"===s)this.push("me");else{if("number"!=typeof s)throw new TypeError("id is not a number");this.push("users",s)}}services(){return new Q(this)}deviceGroups(){return new d(this).push("device-groups")}deviceGroup(e){return new K(this,e)}deviceSessions(){return new d(this).push("device-sessions")}deviceSession(e){return new H(this,e)}markAccountOwner(){return new w(this).push("mark-account-owner").post()}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}files(){return new ue(this)}file(e){return new V(this,e)}runs(){return new he(this)}availableFrameworks(){return new d(this).push("available-frameworks")}resetApiKey(){return new w(this).push("reset-api-key")}restore(){return new w(this).push("restore")}feedback(){return new w(this).push("feedback")}notifications(){return new ae(this)}notification(e){return new le(this,e)}preferences(){return new w(this).push("preferences")}uiPreferences(){return new w(this).push("ui-preferences")}deviceUsage(){return new d(this).push("device-usage")}statistics(){return new w(this).push("statistics")}deviceStatistics(){return new d(this).push("device-statistics")}accessGroups(){return new d(this).push("access-groups")}accessGroup(e){return new W(this,e)}smartbearTunnel(e){return new w(this).push("tunnels",e)}smartbearTunnels(){return new ce(this)}deleteAccount(){return new w(this).push("delete")}}class Ee extends w{constructor(e){super(e),this.push("user-sessions")}login(e){return new w(this).push("login").post().data(e)}logout(){return new w(this).push("logout").post()}sso(e){return new w(this).push("oauth","authorize",e+"-login")}portalLogin(){return new w(this).push("portal-login").post()}sbidCallbackUrl(){return new w(this).push("oauth","authorize","sbid-login").toUrl(!0)}}globalThis.isNodeJs&&(u.default.defaults.headers.common["User-Agent"]="Bitbar Cloud API Client for JavaScript v1.2.12"),u.default.defaults.maxContentLength=1073741824;class de{constructor(e){if(this.config=e,this.axiosConfig={},null==e)throw new Error("config cannot be empty");if(null==this.config.cloudUrl)throw new TypeError("cloudUrl cannot be empty");if("string"!=typeof this.config.cloudUrl)throw new TypeError("cloudUrl must be a string");if(!/^https?:\/\/.{2,}/.test(this.config.cloudUrl))throw new Error("cloudUrl doesn't look like a URL");if(this.axiosConfig.baseURL=this.config.cloudUrl.replace(/\/+$/,"")+"/api",this.config.v2=!!this.config.v2,this.config.v2&&(this.axiosConfig.baseURL+="/v2"),this.config.apiKey){if("string"!=typeof this.config.apiKey)throw new TypeError("apiKey must be a string");if(!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey))throw new Error("apiKey is in the wrong format");this.axiosConfig.auth={username:this.config.apiKey,password:""}}this.axiosConfig.withCredentials=null!=e.withCredentials&&e.withCredentials,this.axios=u.default.create(this.axiosConfig)}get baseUrl(){return this.axiosConfig.baseURL}account(e){return new te(this,e)}admin(){return new X(this)}broker(){return new re(this)}clusters(){return new d(this).push("clusters")}cluster(e){return new _(this,e)}device(e){return new ne(this,e)}deviceGroup(e){return new K(this,e)}deviceGroups(){return new d(this).push("device-groups")}devices(){return new J(this)}deviceSession(e){return new Y(this,e)}deviceSessions(){return new d(this).push("device-sessions")}deviceStatistics(){return new d(this).push("device-statistics")}enums(){return new w(this).push("enums")}files(){return new d(this).push("files")}file(e){return new V(this,e)}labelGroups(){return new d(this).push("label-groups")}labelGroup(e){return new ie(this,e)}labels(){return new d(this).push("labels")}licenses(){return new w(this).push("licenses")}license(){return new w(this).push("license")}ma(){throw new Error("Requires prototype extension covering ACL check")}me(){return this.user("me")}projects(){return new d(this).push("projects")}project(e){return new z(this,e)}properties(){return new Z(this)}property(e){return new w(this).push("properties",e)}run(e){return new $(this,e)}services(){return new Q(this)}user(e){return new pe(this,e)}users(){return new ee(this)}userSession(){return new Ee(this)}}const we={API:de,FilterBuilder:c};var Te,Ie,Ne,Ae,Re,Se,fe,Oe,Le,me,_e,Ce,ve,De,Ue,ge,be,Pe,ye,Fe,Me,Ge,xe,Be,ke,He,qe,We,Ke,Ve,Ye,je,$e,ze,Xe,Je,Ze,Qe,es,ss,ts,rs;e.AccessGroupScope=void 0,(Te=e.AccessGroupScope||(e.AccessGroupScope={})).USER="USER",Te.ACCOUNT="ACCOUNT",Te.GLOBAL="GLOBAL",e.PaymentStatus=void 0,(Ie=e.PaymentStatus||(e.PaymentStatus={})).SUCCEEDED="SUCCEEDED",Ie.FAILED="FAILED",Ie.REDIRECTED="REDIRECTED",e.PaymentMethod=void 0,(Ne=e.PaymentMethod||(e.PaymentMethod={})).PAYPAL="PAYPAL",Ne.BRAINTREE="BRAINTREE",Ne.STRIPE="STRIPE",Ne.INVOICE="INVOICE",Ne.PROMOTION="PROMOTION",Ne.AWS="AWS",e.ChargeType=void 0,(Ae=e.ChargeType||(e.ChargeType={})).USAGE_MOBILE="USAGE_MOBILE",Ae.CONCURRENCY_MOBILE="CONCURRENCY_MOBILE",Ae.CONCURRENCY_DESKTOP="CONCURRENCY_DESKTOP",e.DeactivateReason=void 0,(Re=e.DeactivateReason||(e.DeactivateReason={})).INITIAL_FAILURE="INITIAL_FAILURE",Re.SCA_FAILURE="SCA_FAILURE",Re.CHARGE_FAILURE="CHARGE_FAILURE",Re.CANCEL="CANCEL",Re.SUSPENDED="SUSPENDED",Re.ANOTHER_PURCHASE="ANOTHER_PURCHASE",e.InitStep=void 0,(Se=e.InitStep||(e.InitStep={})).SKIP="SKIP",Se.REBOOT="REBOOT",Se.REBOOT_WITH_UNLOCK="REBOOT_WITH_UNLOCK",Se.UNLOCK_ONLY="UNLOCK_ONLY",e.DeviceState=void 0,(fe=e.DeviceState||(e.DeviceState={})).OFFLINE_CLEANING="OFFLINE_CLEANING",fe.OFFLINE_DIRTY="OFFLINE_DIRTY",fe.OFFLINE_FREE="OFFLINE_FREE",fe.OFFLINE_TESTING="OFFLINE_TESTING",fe.ONLINE_CLEANING="ONLINE_CLEANING",fe.ONLINE_DIRTY="ONLINE_DIRTY",fe.ONLINE_FREE="ONLINE_FREE",fe.ONLINE_TESTING="ONLINE_TESTING",e.AdminErrorType=void 0,(Oe=e.AdminErrorType||(e.AdminErrorType={})).ABORT_REQUEST="ABORT_REQUEST",Oe.ADB_COMMAND_REJECTED="ADB_COMMAND_REJECTED",Oe.ADB_SHELL_COMMAND_FAILED="ADB_SHELL_COMMAND_FAILED",Oe.APP_LOCK_NOT_INSTALLED="APP_LOCK_NOT_INSTALLED",Oe.DEVICE_OFFLINE="DEVICE_OFFLINE",Oe.DEVICE_OUTPUT_NULL="DEVICE_OUTPUT_NULL",Oe.GAMEBENCH_ERROR="GAMEBENCH_ERROR",Oe.GAMEBENCH_NOT_SUPPORTED="GAMEBENCH_NOT_SUPPORTED",Oe.GRANT_FAILED="GRANT_FAILED",Oe.INSTALL_FAILED="INSTALL_FAILED",Oe.INTERACTIVE_SETUP_FAILED="INTERACTIVE_SETUP_FAILED",Oe.INTERNAL_INSTALL_FAILED="INTERNAL_INSTALL_FAILED",Oe.INVALID_TEST_SESSION_FILE="INVALID_TEST_SESSION_FILE",Oe.LOCK_EXPIRED="LOCK_EXPIRED",Oe.LOCK_TIMEOUT="LOCK_TIMEOUT",Oe.NO_NETWORK_CONNECTION="NO_NETWORK_CONNECTION",Oe.OTHER="OTHER",Oe.REBOOTING_TIMEOUT="REBOOTING_TIMEOUT",Oe.REPACKAGING="REPACKAGING",Oe.RESULTS_PREPARING="RESULTS_PREPARING",Oe.RESULTS_PROCESSING="RESULTS_PROCESSING",Oe.RESULTS_SENDING="RESULTS_SENDING",Oe.STEP_TIMEOUT="STEP_TIMEOUT",Oe.SYSTEM_FAILURE="SYSTEM_FAILURE",Oe.TEST_RUN_FAILED="TEST_RUN_FAILED",Oe.TEST_RUN_INTERRUPTED="TEST_RUN_INTERRUPTED",Oe.TEST_RUN_TIMEOUT="TEST_RUN_TIMEOUT",Oe.TEST_RUN_WARNED="TEST_RUN_WARNED",Oe.TEST_TIMEOUT="TEST_TIMEOUT",Oe.VNC_CONNECTION_SETUP_FAILED="VNC_CONNECTION_SETUP_FAILED",Oe.XCRUN_INSTRUMENTS_COMMAND_FAILED="XCRUN_INSTRUMENTS_COMMAND_FAILED",Oe.XCRUN_INSTRUMENTS_JS_ERROR="XCRUN_INSTRUMENTS_JS_ERROR",e.FrameworkType=void 0,(Le=e.FrameworkType||(e.FrameworkType={})).AUTOMATIC="AUTOMATIC",Le.MANUAL_APP="MANUAL_APP",Le.MANUAL_WEB="MANUAL_WEB",Le.REMOTE="REMOTE",e.BillingType=void 0,(me=e.BillingType||(e.BillingType={})).BUY="BUY",me.CHARGE="CHARGE",me.CANCEL="CANCEL",e.BrokerType=void 0,(_e=e.BrokerType||(e.BrokerType={})).MOBILE="MOBILE",_e.DESKTOP="DESKTOP",e.ClusterState=void 0,(Ce=e.ClusterState||(e.ClusterState={}))[Ce.OFFLINE=0]="OFFLINE",Ce.ONLINE="ONLINE",Ce.RESTARTING="RESTARTING",Ce.QUIET_DOWN="QUIET_DOWN",Ce.MAINTENANCE="MAINTENANCE",e.DeviceGroupOrigin=void 0,(ve=e.DeviceGroupOrigin||(e.DeviceGroupOrigin={})).STATIC="STATIC",ve.DYNAMIC="DYNAMIC",ve.HYBRID="HYBRID",e.Platform=void 0,(De=e.Platform||(e.Platform={})).IOS="IOS",De.ANDROID="ANDROID",De.WINDOWS="WINDOWS",De.MAC="MAC",De.LINUX="LINUX",De.UNDEFINED="UNDEFINED",e.SupportedCreators=void 0,(Ue=e.SupportedCreators||(e.SupportedCreators={})).MANUAL="MANUAL",Ue.ROBOT="ROBOT",Ue.AUTOMATIC="AUTOMATIC",e.CriterionField=void 0,(ge=e.CriterionField||(e.CriterionField={})).NAME="NAME",ge.FINGERPRINT="FINGERPRINT",ge.SERIAL_ID="SERIAL_ID",ge.UNLOCK_GESTURE="UNLOCK_GESTURE",ge.SOFTWARE_VERSION="SOFTWARE_VERSION",ge.INIT_STEP="INIT_STEP",ge.ACCOUNT="ACCOUNT",ge.BROWSERS="BROWSERS",e.RetentionStrategy=void 0,(be=e.RetentionStrategy||(e.RetentionStrategy={})).CLUSTER_ON_OFF="CLUSTER_ON_OFF",be.MIN_FREE_MAX_TOTAL="MIN_FREE_MAX_TOTAL",be.POOL_MANAGER_AWARE="POOL_MANAGER_AWARE",e.ProblemType=void 0,(Pe=e.ProblemType||(e.ProblemType={})).CLEANING="CLEANING",Pe.DIRTY="DIRTY",Pe.OFFLINE="OFFLINE",Pe.LOW_BATTERY="LOW_BATTERY",Pe.HIGH_FAIL_RATE="HIGH_FAIL_RATE",Pe.NO_INTERNET_CONNECTION="NO_INTERNET_CONNECTION",e.DeviceSessionType=void 0,(ye=e.DeviceSessionType||(e.DeviceSessionType={})).AUTOMATIC="AUTOMATIC",ye.MANUAL="MANUAL",ye.MANUAL_APP="MANUAL_APP",ye.MANUAL_WEB="MANUAL_WEB",ye.REMOTE="REMOTE",e.RetryState=void 0,(Fe=e.RetryState||(e.RetryState={})).NONE="NONE",Fe.MANUAL="MANUAL",Fe.AUTO="AUTO",e.DeviceSessionState=void 0,(Me=e.DeviceSessionState||(e.DeviceSessionState={})).ABORTED="ABORTED",Me.EXCLUDED="EXCLUDED",Me.FAILED="FAILED",Me.RUNNING="RUNNING",Me.SUCCEEDED="SUCCEEDED",Me.TIMEOUT="TIMEOUT",Me.WAITING="WAITING",Me.WARNING="WARNING",e.DeviceSessionStepType=void 0,(Ge=e.DeviceSessionStepType||(e.DeviceSessionStepType={})).WAITING="WAITING",Ge.PREPARING="PREPARING",Ge.UNINSTALL="UNINSTALL",Ge.INSTALL="INSTALL",Ge.RUNNING="RUNNING",Ge.SENDING_RESULTS="SENDING_RESULTS",Ge.PROCESSING_RESULTS="PROCESSING_RESULTS",e.SessionReleaseReason=void 0,(xe=e.SessionReleaseReason||(e.SessionReleaseReason={})).INACTIVITY="INACTIVITY",xe.TIMEOUT="TIMEOUT",xe.USER_ACTION="USER_ACTION",xe.CHANGE_DEVICE="CHANGE_DEVICE",xe.WEBSOCKET_CLOSED="WEBSOCKET_CLOSED",e.OsType=void 0,(Be=e.OsType||(e.OsType={})).IOS="IOS",Be.ANDROID="ANDROID",Be.DESKTOP="DESKTOP",Be.UNDEFINED="UNDEFINED",e.LicenseStatus=void 0,(ke=e.LicenseStatus||(e.LicenseStatus={})).ACTIVE="ACTIVE",ke.EXPIRED="EXPIRED",ke.INACTIVE="INACTIVE",ke.CLOSED="CLOSED",e.MaintenanceType=void 0,(He=e.MaintenanceType||(e.MaintenanceType={})).BARE_METAL="BARE_METAL",He.EC2="EC2",He.VM="VM",e.NotificationChannel=void 0,(qe=e.NotificationChannel||(e.NotificationChannel={})).SLACK="SLACK",qe.EMAIL="EMAIL",qe.WEBHOOK="WEBHOOK",e.NotificationScope=void 0,(We=e.NotificationScope||(e.NotificationScope={})).ALL="ALL",We.TEST_RUN="TEST_RUN",We.TEST_RUN_FAILURE="TEST_RUN_FAILURE",We.TEST_RUN_SUCCEEDED="TEST_RUN_SUCCEEDED",We.MAINTENANCE="MAINTENANCE",We.MAINTENANCE_RELEASE="MAINTENANCE_RELEASE",We.CUSTOM="CUSTOM",We.NEWS="NEWS",We.SYSTEM="SYSTEM",We.CHECK="CHECK",We.PLAN_LIMIT_REACHED="PLAN_LIMIT_REACHED",We.PLAN_INVOICE="PLAN_INVOICE",e.ArchivingStrategy=void 0,(Ke=e.ArchivingStrategy||(e.ArchivingStrategy={})).NEVER="NEVER",Ke.DAYS="DAYS",Ke.RUNS="RUNS",e.ScreenshotType=void 0,(Ve=e.ScreenshotType||(e.ScreenshotType={})).LANDSCAPE="LANDSCAPE",Ve.PORTRAIT="PORTRAIT",e.ServiceUnit=void 0,(Ye=e.ServiceUnit||(e.ServiceUnit={})).DAY="DAY",Ye.HOUR="HOUR",Ye.MONTH="MONTH",Ye.PROJECT="PROJECT",Ye.RUN="RUN",Ye.YEAR="YEAR",e.SharedResourceType=void 0,(je=e.SharedResourceType||(e.SharedResourceType={})).DEVICE_GROUP="DEVICE_GROUP",je.FILE="FILE",je.PROJECT="PROJECT",e.TestResult=void 0,($e=e.TestResult||(e.TestResult={})).PASSED="PASSED",$e.FAILED="FAILED",$e.SKIPPED="SKIPPED",$e.NOT_AVAILABLE="NOT_AVAILABLE",e.LimitationType=void 0,(ze=e.LimitationType||(e.LimitationType={})).PACKAGE="PACKAGE",ze.CLASS="CLASS",e.TestScheduler=void 0,(Xe=e.TestScheduler||(e.TestScheduler={})).PARALLEL="PARALLEL",Xe.SERIAL="SERIAL",Xe.SINGLE="SINGLE",Xe.ALL_INSTANCES="ALL_INSTANCES",e.TestState=void 0,(Je=e.TestState||(e.TestState={})).WAITING="WAITING",Je.RUNNING="RUNNING",Je.FINISHED="FINISHED",e.MfaStatus=void 0,(Ze=e.MfaStatus||(e.MfaStatus={})).VERIFICATION_NEED="VERIFICATION_NEED",Ze.DISABLED="DISABLED",Ze.ENABLED="ENABLED",e.UserStatus=void 0,(Qe=e.UserStatus||(e.UserStatus={})).INACTIVE="INACTIVE",Qe.DISABLED="DISABLED",Qe.ENABLED="ENABLED",e.FileDirection=void 0,(es=e.FileDirection||(e.FileDirection={})).INPUT="INPUT",es.OUTPUT="OUTPUT",e.FileInputType=void 0,(ss=e.FileInputType||(e.FileInputType={})).APPLICATION="APPLICATION",ss.TEST="TEST",ss.DATA="DATA",e.FileState=void 0,(ts=e.FileState||(e.FileState={})).PREPARING="PREPARING",ts.READY="READY",e.VisualTestImageType=void 0,(rs=e.VisualTestImageType||(e.VisualTestImageType={})).FULL_PAGE="FULL_PAGE",rs.VIEWPORT="VIEWPORT",rs.ELEMENT_SCREENSHOT="ELEMENT_SCREENSHOT",e.ALLOWED_HTTP_METHODS=l,e.API=de,e.CloudAPIClient=we,e.FilterBuilder=c,e.IMAGE_FILES_FILTER=D,e.NON_MEDIA_FILES_FILTER=U,e.default=we,Object.defineProperty(e,"__esModule",{value:!0})})); //# sourceMappingURL=bitbar-cloud-api-client.min.js.map diff --git a/dist/bitbar-cloud-api-client.min.js.map b/dist/bitbar-cloud-api-client.min.js.map index 2df7651e..1d6ad762 100644 --- a/dist/bitbar-cloud-api-client.min.js.map +++ b/dist/bitbar-cloud-api-client.min.js.map @@ -1 +1 @@ -{"version":3,"file":"bitbar-cloud-api-client.min.js","sources":["../src/Filter.ts","../src/finka.ts","../src/FilterBuilder.ts","../src/api/models/HTTP.ts","../src/api/APIEntity.ts","../src/api/APIList.ts","../src/api/APIResource.ts","../src/api/APIListCleanupConfigurations.ts","../src/api/APIResourceCleanupConfiguration.ts","../src/api/APIAdminListDevices.ts","../src/api/APIAdminListNotificationPlans.ts","../src/api/APIAdminListRuns.ts","../src/api/APIAdminListServices.ts","../src/api/decorators/NonRequestable.ts","../src/api/APIAdminListStatistics.ts","../src/api/APIAdminResourceAccount.ts","../src/api/APIAdminResourceAccountService.ts","../src/api/APIAdminResourceCluster.ts","../src/api/APIAdminResourceDevice.ts","../src/api/APIAdminResourceDeviceModel.ts","../src/api/class/InputFileset.ts","../src/api/class/Images.filter.ts","../src/api/class/NonMedia.filter.ts","../src/api/class/OutputFileset.ts","../src/api/APIResourceDeviceSessionCommon.ts","../src/api/APIAdminResourceDeviceSessionStandalone.ts","../src/api/factory/postAdminDeviceSessionChangeBillable.ts","../src/api/APIAdminResourceDeviceTime.ts","../src/api/APIAdminResourceFramework.ts","../src/api/APIAdminResourceLicense.ts","../src/api/APIAdminResourceNotificationPlan.ts","../src/api/factory/postDeviceRunIds.ts","../src/api/APIAdminResourceRunStandalone.ts","../src/api/APIAdminResourceService.ts","../src/api/APIAdminResourceUserAccount.ts","../src/api/APIResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceUser.ts","../src/api/APIResourceAccessGroup.ts","../src/api/APIResourceDeviceGroup.ts","../src/api/APIResourceFile.ts","../src/api/APIResourceDeviceSession.ts","../src/api/APIResourceRunCommon.ts","../src/api/APIResourceRun.ts","../src/api/APIResourceProject.ts","../src/api/APIAdminResource.ts","../src/api/APIListDevices.ts","../src/api/APIListProperties.ts","../src/api/APIListServices.ts","../src/api/APIListUsers.ts","../src/api/APIResourceBillingPeriod.ts","../src/api/APIResourceAccount.ts","../src/api/APIResourceBroker.ts","../src/api/APIResourceDevice.ts","../src/api/APIResourceLabelGroup.ts","../src/api/APIListFiles.ts","../src/api/APIResourceChannel.ts","../src/api/APIListNotifications.ts","../src/api/APIListRuns.ts","../src/api/APIListSmartbearTunnels.ts","../src/api/APIResourceNotification.ts","../src/api/APIResourceUser.ts","../src/api/APIResourceUserSession.ts","../src/API.ts","../src/CloudAPIClient.ts","../src/api/models/AccessGroup.ts","../src/api/models/AccountService.ts","../src/api/models/AdminDevice.ts","../src/api/models/AdminError.ts","../src/api/models/AdminFrameworkStatistics.ts","../src/api/models/BillingPeriod.ts","../src/api/models/Broker.ts","../src/api/models/Cluster.ts","../src/api/models/Device.ts","../src/api/models/DeviceModelCriterion.ts","../src/api/models/DeviceModelPool.ts","../src/api/models/DeviceProblem.ts","../src/api/models/DeviceSession.ts","../src/api/models/Enum.ts","../src/api/models/License.ts","../src/api/models/Maintenance.ts","../src/api/models/Notification.ts","../src/api/models/Project.ts","../src/api/models/Screenshot.ts","../src/api/models/Service.ts","../src/api/models/SharedResource.ts","../src/api/models/TestCaseRun.ts","../src/api/models/TestRun.ts","../src/api/models/User.ts","../src/api/models/UserFile.ts","../src/api/models/VisualTest.ts"],"sourcesContent":["/**\n * Filter\n */\n\nexport class Filter {\n name: string;\n value: T;\n operand: string;\n\n constructor(name: string, value: T, operand: string) {\n this.name = name;\n this.value = value;\n this.operand = operand;\n }\n}\n\nexport default Filter;\n","import finka from '@bitbar/finka';\n\nfinka();\n\nexport default {};\n","import {Filter} from './Filter';\nimport './finka';\n\n/**\n * FilterBuilder\n *\n * Builds filter string according to Bitbar Cloud backend convention\n */\nexport class FilterBuilder {\n\n private readonly filters: Array = [];\n\n gt(name: string, value: number): this {\n return this.add(name, value, 'gt');\n }\n\n\n lt(name: string, value: number): this {\n return this.add(name, value, 'lt');\n }\n\n after(name: string, value: Date | number): this {\n return this.add(name, value, 'after', true);\n }\n\n afterorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'afterorequal', true);\n }\n\n before(name: string, value: Date | number): this {\n return this.add(name, value, 'before', true);\n }\n\n beforeorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'beforeorequal', true);\n }\n\n on(name: string, value: any): this {\n return this.add(name, value, 'on');\n }\n\n eq(name: string, value: any): this {\n return this.add(name, value, 'eq');\n }\n\n contains(name: string, value: string): this {\n return this.add(name, value, 'contains');\n }\n\n like(name: string, value: string): this {\n return this.add(name, value, 'like');\n }\n\n notlike(name: string, value: string): this {\n return this.add(name, value, 'notlike');\n }\n\n isnull(name: string): this {\n return this.add(name, undefined, 'isnull');\n }\n\n isnotnull(name: string): this {\n return this.add(name, undefined, 'isnotnull');\n }\n\n in(name: string, value: Array): this {\n return this.add(name, value, 'in', true);\n }\n\n notin(name: string, value: Array): this {\n return this.add(name, value, 'notin', true);\n }\n\n raw(filter: Filter | string | Filter[] | string[]): void {\n const filters = Array.wrap(filter);\n for (const filter of filters) {\n if (this.isFilterPart(filter)) {\n this.filters.push(filter);\n } else {\n throw new SyntaxError(`Filter ${filter} has invalid syntax`);\n }\n }\n }\n\n\n /**\n * Check if given string is proper filter part\n */\n isFilterPart(str: string): boolean {\n return /^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(str);\n }\n\n toString(): string {\n const parts: Array = [];\n\n let part: string,\n val: string;\n\n for (const filter of this.filters) {\n if (typeof filter === 'string') {\n part = filter;\n } else {\n val = '';\n if (filter.value.length > 1 || typeof filter.value[0] !== 'undefined') {\n val = `_${filter.value.join('|')}`;\n }\n part = `${filter.name}_${filter.operand}${val}`;\n }\n parts.push(part);\n }\n\n return parts.join(';');\n }\n\n /**\n * Add filter to filters list\n * @param name {string} Name\n * @param value {*} Value\n * @param operand {string} Operand\n * @param [checkNull=false] {boolean} Check null?\n * @returns {FilterBuilder}\n */\n private add(name: string, value: T, operand: string, checkNull = false): this {\n\n let _value = Array.wrap(value);\n\n if (_value.length === 0) {\n return this;\n }\n\n // auto-convert\n for (let i = 0; i < _value.length; i++) {\n const v = _value[i];\n if (typeof v === 'object' && v instanceof Date) {\n _value[i] = v.getTime();\n }\n }\n\n let isNull = false;\n if (checkNull) {\n // check null existence\n for (const v of _value) {\n if (v !== null) {\n continue;\n }\n isNull = true;\n }\n\n if (isNull) {\n _value = _value.filter((item: any) => item !== null);\n operand += 'ornull';\n }\n }\n\n if (operand.endsWith('ornull') && _value.length === 0) {\n operand = 'isnull';\n }\n\n // add filter\n this.filters.push(new Filter>(name, _value, operand));\n\n return this;\n }\n}\n\n\nexport default FilterBuilder;\n","import {Method} from 'axios';\n\n\n/**\n * Allowed methods\n *\n * @constant\n * @type {Array}\n * @default\n */\nexport const ALLOWED_HTTP_METHODS: Array = ['GET', 'POST', 'DELETE'];\n\nexport type QueryParam = string | number | boolean;\nexport type QueryParams = Record>;\n\nexport enum APIOrder {\n asc = 'a',\n desc = 'd'\n}\n\nexport interface CollectionQueryParams extends QueryParams {\n filter: string;\n limit: number;\n offset: number;\n sort: string;\n search: string;\n}\n\nexport type CollectionBasicQueryParams = Omit\n\nexport type NoQueryParams = {\n [key in any]: never;\n}\n\nexport type CollectionResponse = {\n data: Array;\n empty: boolean;\n id: number;\n limit: number;\n next: string;\n offset: number;\n previous: string;\n search: string;\n sort: string;\n total: number;\n}\n\nexport type SimpleCollectionResponse = Pick, 'data' | 'id'>;\nexport type NoData = void;\n","import {AxiosRequestConfig, AxiosResponse, Method} from 'axios';\nimport {stringify} from 'qs';\nimport {API} from '../API';\nimport {ALLOWED_HTTP_METHODS, QueryParams} from './models/HTTP';\nimport {AbortController} from 'node-abort-controller';\n\n\n/**\n * @typeParam RESPONSE HTTP Response return type.\n * @typeParam QUERY_PARAMS Allowed Query Params\n * @typeParam DATA Allowed Data Object\n */\nexport class APIEntity {\n\n root: API;\n\n protected stack: Array = [];\n protected requestConfig: AxiosRequestConfig = {};\n protected ALLOWED_HTTP_METHODS: Array = ALLOWED_HTTP_METHODS;\n protected abortController: AbortController;\n\n /**\n * Constructor\n * @param {APIEntity|object} [parent] - Specifies a parent from which should be inherited properties\n */\n constructor(parent: APIEntity | API) {\n if (parent instanceof APIEntity) {\n this.root = parent.root;\n\n if (Array.isArray(parent.stack)) { //???\n this.push(...parent.stack);\n }\n\n if (parent.requestConfig != null) {\n this.setRequestConfig(parent.requestConfig);\n }\n } else {\n this.root = parent;\n }\n this.abortController = new AbortController();\n }\n\n abortRequest() {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n push(...items: Array): this {\n this.stack = this.stack.concat(items);\n return this;\n }\n\n shift(): this {\n this.stack.shift();\n return this;\n }\n\n restack(...items: Array): this {\n this.stack = items;\n return this;\n }\n\n /**\n * Get first element of the stack\n */\n get first(): string | number {\n return this.stack[0];\n }\n\n /**\n * Get last element of the stack\n */\n get last(): string | number {\n return this.stack[this.stack.length - 1];\n }\n\n /**\n * Set last element of the stack\n */\n set last(val) {\n this.stack[this.stack.length - 1] = val;\n }\n\n toUrl(absolute = false): string {\n let url = `/${this.stack.join('/')}`;\n\n if (absolute) {\n url = this.root.baseUrl + url;\n }\n\n return url;\n }\n\n setRequestConfig(requestConfig: AxiosRequestConfig): this {\n Object.deepAssign(this.requestConfig, requestConfig);\n return this;\n }\n\n removeRequestConfig(key: keyof AxiosRequestConfig): this {\n delete this.requestConfig[key];\n return this;\n }\n\n headers(headers: Record): this {\n const _headers: Record = {};\n\n // Unify/Standarize headers keys\n for (const key in headers) {\n const newKey = key.replace(/(?:^|-)([a-z])/g, (letter) => letter.toUpperCase());\n _headers[newKey] = headers[key];\n }\n\n return this.setRequestConfig({\n headers: _headers\n });\n }\n\n /**\n * Set HTTP method\n */\n method(name: Method): this {\n const NAME: Uppercase = >name.toLocaleUpperCase();\n const isAllowed: boolean = this.ALLOWED_HTTP_METHODS.indexOf(NAME) > -1;\n\n if (!isAllowed) {\n throw new Error(`Method '${NAME}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(', ')}`);\n }\n\n return this.setRequestConfig({\n method: NAME\n });\n }\n\n /**\n * Set GET as HTTP method\n */\n get(): this {\n return this.method('GET');\n }\n\n /**\n * Set POST as HTTP method\n */\n post(): this {\n return this.method('POST');\n }\n\n /**\n * Set DELETE as HTTP method\n */\n delete(): this {\n return this.method('DELETE');\n }\n\n /**\n * Set params\n */\n params(params: Pick): this {\n this.setRequestConfig({params});\n return this;\n }\n\n getParams(): Partial {\n return this.requestConfig.params == null ? {} : this.requestConfig.params;\n }\n\n removeParam(key: keyof QUERY_PARAMS): this {\n delete this.requestConfig.params[key];\n return this;\n }\n\n /**\n * Set data\n */\n data(data: DATA): this {\n this.setRequestConfig({data});\n return this;\n }\n\n /**\n * Set JSON data\n */\n jsonData(data: DATA): this {\n this.headers({\n 'Content-Type': 'application/json'\n }).data(data);\n return this;\n }\n\n /**\n * Set form data\n */\n formData(data: DATA): this {\n this.headers({\n 'Content-Type': 'multipart/form-data'\n }).data(data);\n return this;\n }\n\n /**\n * Send request\n */\n send(): Promise> {\n const requestConfig = Object.deepAssign({}, this.requestConfig, {\n url: `/${this.stack.join('/')}`,\n signal: this.abortController.signal\n });\n\n // Set default headers\n if (requestConfig.headers == null) {\n requestConfig.headers = {};\n }\n\n // Set default Content-Type\n if (requestConfig.headers['Content-Type'] == null) {\n requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n\n // Convert data if needed\n if (requestConfig.method === 'POST' &&\n (requestConfig.headers['Content-Type']).startsWith('application/x-www-form-urlencoded') &&\n requestConfig.data != null) {\n requestConfig.data = this.paramsSerializer(requestConfig.data);\n }\n\n if (requestConfig.params) {\n requestConfig.paramsSerializer = this.paramsSerializer;\n }\n\n // Send request\n return this.root.axios.request(requestConfig);\n }\n\n protected paramsSerializer(params: DATA | QUERY_PARAMS): string {\n return stringify(params, {\n arrayFormat: 'brackets'\n });\n }\n}\n\n\nexport default APIEntity;\n","import {AxiosResponse} from 'axios';\nimport {FilterBuilder} from '../FilterBuilder'\nimport {APIEntity} from './APIEntity'\nimport {APIOrder, CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, NoQueryParams, SimpleCollectionResponse} from './models/HTTP';\n\n\nexport const DEFAULT_LIMIT: number = 20;\nexport const DEFAULT_OFFSET: number = 0;\n\nexport class APIList\n extends APIEntity | SimpleCollectionResponse, QUERY_PARAMS, DATA> {\n\n /**\n * Shortcut for sending data POST\n */\n create(data: DATA): Promise> {\n return this.post().data(data).send();\n }\n\n /**\n * Sets sorting\n *\n * @public\n * @param {string} name - Name of the column according to which the data will be sorted\n * @param {string} [order=a] - Sorting order. Possibilities: 'a', 'd'\n */\n sort(name: string, order: APIOrder = APIOrder.asc): this {\n return this.params<'sort'>({\n sort: `${name}_${order}`\n });\n }\n\n /**\n * Sets limit\n *\n * @public\n * @param {number} [limit=DEFAULT_LIMIT] - Limit to be set\n * @returns this\n */\n limit(limit = DEFAULT_LIMIT): this {\n if (!Number.isNatural(limit)) {\n throw new Error(`Limit '${limit}' is invalid!`);\n }\n\n return this.params<'limit'>({\n limit\n });\n }\n\n /**\n * Gets limit\n *\n * @public\n * @returns number\n */\n getLimit(): number {\n const params = this.getParams();\n return params.limit == null ? DEFAULT_LIMIT : params.limit;\n }\n\n /**\n * Disables limit\n *\n * @public\n * @returns this\n */\n noLimit(): this {\n return this.limit(0);\n }\n\n /**\n * Sets offset\n *\n * @public\n * @param {number} [offset=DEFAULT_OFFSET] - Offset to be set\n * @returns this\n */\n offset(offset: number = DEFAULT_OFFSET): this {\n if (!Number.isNatural(offset)) {\n throw new Error(`Offset '${offset}' is invalid!`);\n }\n\n return this.params<'offset'>({\n offset\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE records between range\n *\n * @public\n * @param {number} from - From index\n * @param {number} to - To index\n * @returns this\n */\n between(from: number, to: number): this {\n if (!Number.isNatural(from)) {\n throw new Error(`From '${from}' is invalid!`);\n }\n\n if (!Number.isNatural(to)) {\n throw new Error(`To '${to}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: from,\n limit: 1 + (to - from)\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE one record on given index\n *\n * @public\n * @param {number} idx - Index\n * @returns this\n */\n only(idx: number): this {\n if (!Number.isNatural(idx)) {\n throw new Error(`Index '${idx}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: idx,\n limit: 1\n });\n }\n\n /**\n * Gets current limit and sets offset so that will request from BE one page of records\n *\n * @public\n * @param {number} [page=1] - Page number (counted from 1)\n * @returns this\n */\n page(page = 1): this {\n if (!Number.isNatural(page) || page == 0) {\n throw new Error(`Page '${page}' is invalid!`);\n }\n\n const limit = this.getLimit();\n const offset = (page - 1) * limit;\n\n return this.params<'offset' | 'limit'>({\n offset,\n limit\n });\n }\n\n /**\n * Sets search\n *\n * query param is working like SQL LIKE. BE sets wraps around query with %, and replaces every white character\n * with %. So e.g. if query='my device', then it's searching for '%my%device%' in DB.\n *\n * @public\n * @param {string} query - Query to search for\n * @returns this\n */\n search(query: string): this {\n if (typeof query !== 'string') {\n throw new Error('Search query must be a string!');\n }\n\n return this.params<'search'>({\n search: query\n });\n }\n\n /**\n * Sets filter\n *\n * @public\n * @param {FilterBuilder|string} filter - Filter\n * @returns this\n */\n filter(filter: FilterBuilder | string): this {\n const isFilterBuilder = filter instanceof FilterBuilder;\n\n if (typeof filter !== 'string' && !isFilterBuilder) {\n throw new Error('Filter must be either string or instance of FilterBuilder');\n }\n\n return this.params<'filter'>({\n filter: filter.toString()\n });\n }\n\n /**\n * Alias for 'noLimit'\n *\n * @public\n * @see noLimit\n * @returns this\n */\n all: typeof APIList.prototype.noLimit = this.noLimit;\n\n /**\n * Alias for 'between'\n *\n * @public\n * @param {number} from - From idx\n * @param {number} to - To idx\n * @returns this\n */\n cut: typeof APIList.prototype.between = this.between;\n}\n\nexport default APIList;\n","import {APIEntity} from './APIEntity'\nimport {QueryParams} from './models/HTTP';\n\n\n/**\n * APIResource\n *\n * @class\n * @extends APIEntity\n */\nexport class APIResource\n extends APIEntity {\n}\n\n\nexport default APIResource;\n","import {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {CleanupConfigurationData, SpecificCleanupConfigurationQueryParams} from './models/CleanupConfiguration';\nimport {DeviceCleanupConfiguration} from './models/Device';\nimport {CollectionQueryParams, NoData} from './models/HTTP';\n\n\nexport class APIListCleanupConfigurations extends APIList {\n\n /**\n * /cleanup-configurations\n */\n constructor(parent: APIAdminListDevices) {\n super(parent);\n this.push('cleanup-configurations');\n }\n\n // /cleanup-configurations/specific\n specific() {\n return new APIResource, NoData>(this)\n .push('specific');\n }\n\n}\n\nexport default APIListCleanupConfigurations\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIResource} from './APIResource'\nimport {CleanupConfigurationSpecificData, DeviceCleanupConfiguration} from './models/Device';\nimport {NoData} from './models/HTTP';\n\n\nexport class APIResourceCleanupConfiguration extends APIResource {\n //shuldn't it be APIAdminResourceCleanupConfiguration\n\n /**\n * admin/devices/cleanup-configurations/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('cleanup-configurations', id);\n }\n\n // admin/devices/cleanup-configurations/specific\n devices() {\n return new APIResource(this).push('devices');\n }\n\n}\n\nexport default APIResourceCleanupConfiguration\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIListCleanupConfigurations} from './APIListCleanupConfigurations';\nimport {APIResourceCleanupConfiguration} from './APIResourceCleanupConfiguration';\nimport {AdminDevice, AdminDeviceData, AdminDevicesQueryParams} from './models/AdminDevice';\n\n\nexport class APIAdminListDevices extends APIList {\n\n /**\n * /admin/devices\n */\n constructor(parent: APIAdminResource | API) {\n super(parent);\n this.push('admin', 'devices');\n }\n\n // /admin/devices/cleanup-configurations\n cleanupConfigurations() {\n return new APIListCleanupConfigurations(this);\n }\n\n // /admin/devices/cleanup-configurations/{id}\n cleanupConfiguration(id: number) {\n return new APIResourceCleanupConfiguration(this, id);\n }\n\n}\n\nexport default APIAdminListDevices;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {NotificationPlan, NotificationPlanData} from './models/NotificationPlan';\n\n\nexport class APIAdminListNotificationPlans extends APIList {\n\n /**\n * /admin/notification-plans\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'notification-plans');\n }\n\n // /notification-plans/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n // /notification-plans/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\n\nexport default APIAdminListNotificationPlans\n","import {Method} from 'axios';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource';\nimport {AdminTestRun, RunsConfigParams} from './models/AdminTestRun';\nimport {TestRunConfig} from './models/TestRun';\n\nexport class APIAdminListRuns extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /admin/runs\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'runs');\n }\n\n // /runs/config\n config() {\n const apiResource = new APIResource(this);\n apiResource.restack('runs', 'config');\n return apiResource;\n }\n\n}\n\n\nexport default APIAdminListRuns\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {AdminServicesParams, Service} from './models/Service';\n\n\nexport class APIAdminListServices extends APIList {\n\n /**\n * /admin/services\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'services');\n }\n\n active() {\n const apiList = new APIList(this);\n apiList.params<'notArchived'>({\n notArchived: true\n });\n return apiList;\n }\n\n activated() {\n const apiList = this.active();\n apiList.params<'filter' | 'limit' | 'sort'>({\n filter: 'activated_eq_true',\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n inUse() {\n const apiList = new APIList(this);\n apiList.params<'inUse' | 'limit' | 'sort'>({\n inUse: true,\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n byPrice() {\n const apiList = new APIList(this);\n apiList.params<'sort'>({\n sort: 'centPrice_a'\n })\n return apiList;\n }\n\n}\n\nexport default APIAdminListServices;\n","import {AxiosResponse} from 'axios';\n\nexport function NonRequestable(constructor: T) {\n return class extends constructor {\n send(): Promise {\n return Promise.reject();\n }\n };\n}\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AdminDeviceSessionStatistics, AdminStatisticsParams} from './models/AdminDeviceSessionStatistics';\nimport {AdminFrameworkStatistics} from './models/AdminFrameworkStatistics';\nimport {NoData} from './models/HTTP';\n\n\n@NonRequestable\nexport class APIAdminListStatistics extends APIList {\n\n /**\n * /admin/statistics\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'statistics');\n }\n\n // /admin/statistics/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /admin/statistics/frameworks\n frameworks() {\n return new APIList(this).push('frameworks');\n }\n\n\n}\n\n\nexport default APIAdminListStatistics\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {Account} from './models/Account';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleParams} from './models/Role';\nimport {AccountService} from './models/AccountService';\nimport {AccountPreferences, AccountPreferencesData} from './models/AccountPreference';\n\n\nexport class APIAdminResourceAccount extends APIResource {\n\n /**\n * /admin/accounts/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'accounts', id);\n }\n\n // /admin/accounts/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/accounts/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n // //admin/accounts/{id}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n}\n\nexport default APIAdminResourceAccount\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {AccountService} from './models/AccountService';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIAdminResourceAccountService extends APIResource {\n\n /**\n * /admin/account-services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'account-services', id);\n }\n\n // /account-services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /account-services/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate').post();\n }\n\n}\n\nexport default APIAdminResourceAccountService\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice} from './models/AdminDevice';\nimport {Cluster, ClusterData, ClusterParams} from './models/Cluster';\n\n\nexport class APIAdminResourceCluster extends APIResource {\n\n /**\n * /clusters/{id}\n */\n constructor(parent: API | APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('clusters', id);\n }\n\n // /clusters/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n}\n\nexport default APIAdminResourceCluster\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice, AdminDeviceData} from './models/AdminDevice';\nimport {AdminDeviceSession} from './models/AdminDeviceSession';\nimport {\n DeviceCleanupConfiguration,\n DeviceCleanupConfigurationData,\n DeviceLabelData,\n DeviceProperty\n} from './models/Device';\nimport {NoData, NoQueryParams, QueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDevice extends APIResource {\n\n /**\n * /admin/devices/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'devices', id);\n }\n\n // /admin/devices/{id}/cleanup-configuration\n cleanupConfiguration() {\n return new APIResource(this).push('cleanup-configuration');\n }\n\n // /admin/devices/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /admin/devices/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n // /admin/devices/{id}/queue\n queue() {\n return new APIList(this).push('queue');\n }\n\n}\n\nexport default APIAdminResourceDevice\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser, DeviceBrowserData} from './models/Browser';\nimport {DeviceModel, DeviceModelData} from './models/DeviceModel';\nimport {NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDeviceModel extends APIResource {\n\n /**\n * /admin/device-models/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'device-models', id);\n }\n\n // /admin/device-models/{id}/browsers\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIAdminResourceDeviceModel;\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {NoData} from '../models/HTTP';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\n\n\n@NonRequestable\nexport class InputFileset extends APIResource {\n\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('input-file-set');\n }\n\n /**\n * @endpoint /input-file-set/files\n */\n files() {\n return new APIList(this).push('files');\n }\n\n /**\n * @endpoint /input-file-set/files.zip\n */\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n}\n\nexport default InputFileset\n","// Create image files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const IMAGE_FILES_FILTER = new FilterBuilder();\nIMAGE_FILES_FILTER.eq('state', 'READY');\nIMAGE_FILES_FILTER.in('mimetype', [\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif'\n]);\nIMAGE_FILES_FILTER.notlike('name', 'action-%%');\n","// Create non-media files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const NON_MEDIA_FILES_FILTER = new FilterBuilder();\nNON_MEDIA_FILES_FILTER.eq('state', 'READY');\nNON_MEDIA_FILES_FILTER.notin('mimetype', [\n // no images\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif',\n\n // no videos\n 'video/mp4', 'video/avi', 'video/webm', 'video/ogg', 'video/mpeg'\n]);\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {Screenshot} from '../models/Screenshot';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\nimport {IMAGE_FILES_FILTER} from './Images.filter';\nimport {NON_MEDIA_FILES_FILTER} from './NonMedia.filter';\n\n\n@NonRequestable\nexport class OutputFileset extends APIResource {\n\n /**\n * /output-file-set\n *\n * Constructor\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('output-file-set');\n }\n\n // /output-file-set/files\n files() {\n return new APIList(this).push('files');\n }\n\n // /output-file-set/files/{id}\n file(id: number) {\n return new APIResource(this).push('files', id);\n }\n\n // /output-file-set/files.zip\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n\n // /output-file-set/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /output-file-set/screenshots/{id}\n screenshot(id: number) {\n return new APIResource(this).push('screenshots', id);\n }\n\n // /output-file-set/screenshots/{id}/file/{id}\n screenshotFile(id: number) {\n return this.screenshot(id).push('file');\n }\n\n // Filter files out by ready videos\n videos() {\n return this.files().params({\n filter: 's_state_eq_READY',\n tag: ['video']\n });\n }\n\n // Filter files out by non-media\n nonMediaFiles() {\n return this.files().filter(NON_MEDIA_FILES_FILTER);\n }\n\n performance() {\n return this.files().params({\n tag: ['performance']\n })\n }\n\n images() {\n return this.files().filter(IMAGE_FILES_FILTER);\n }\n\n}\n\nexport default OutputFileset\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {InputFileset} from './class/InputFileset'\nimport {OutputFileset} from './class/OutputFileset'\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\nimport {\n DeviceSession,\n DeviceSessionCommand,\n DeviceSessionStep,\n SessionQueryParams,\n SessionRunStepQueryParams,\n SessionStepQueryParams\n} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot} from './models/Screenshot';\nimport {TestCaseRun} from './models/TestCaseRun';\n\nexport class APIResourceDeviceSessionCommon extends APIResource implements DeviceSessionCommon {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/commands\n commands() {\n return new APIList(this).push('commands');\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /device-sessions/{id}/screenshots/{id}\n screenshot(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('screenshots', id);\n }\n\n // /device-sessions/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /device-sessions/{id}/steps/{id}\n step(id: number | 'current') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('steps', id);\n }\n\n // /device-sessions/{id}/steps/current\n currentStep() {\n return this.step('current');\n }\n\n // /device-sessions/{id}/test-case-runs\n testCaseRuns() {\n return new APIList(this).push('test-case-runs');\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n logs() {\n return new APIResource(this).push('logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n clusterLogs() {\n return new APIResource(this).push('cluster-logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n}\n\nexport default APIResourceDeviceSessionCommon\n","import {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {postAdminDeviceSessionChangeBillable} from './factory/postAdminDeviceSessionChangeBillable';\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\n\n\n/**\n * APIAdminResourceDevice\n *\n *\n * It will require more work to decouple from regular session\n */\nexport class APIAdminResourceDeviceSessionStandalone extends APIResourceDeviceSessionCommon implements DeviceSessionCommon {\n\n // /admin/device-sessions/{id}/changebillable\n changeBillable(billable: boolean) {\n return postAdminDeviceSessionChangeBillable(this, billable);\n }\n}\n\nexport default APIAdminResourceDeviceSessionStandalone;\n","import {APIResource} from '../APIResource';\nimport APIResourceDeviceSessionCommon from '../APIResourceDeviceSessionCommon';\nimport {DeviceSession} from '../models/DeviceSession';\n\nexport function postAdminDeviceSessionChangeBillable(parent: APIResourceDeviceSessionCommon, billable: boolean) {\n const apiResource = new APIResource(parent);\n const deviceSessionId = apiResource.last;\n\n return apiResource.restack('admin', 'device-sessions', deviceSessionId, 'changebillable').params({\n billable\n }).post();\n}\n\nexport default postAdminDeviceSessionChangeBillable;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {DeviceTimeCountSessionReportEntry} from './models/DeviceTimeCountSessionReportEntry';\nimport {DeviceTimeStepTimeReportEntry} from './models/DeviceTimeStepTimeReportEntry';\nimport {NoData} from './models/HTTP';\nimport {DeviceTimeParams, UserDeviceTime} from './models/UserDeviceTime';\n\nexport class APIAdminResourceDeviceTime extends APIList {\n\n /**\n * /admin/device-time\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'device-time');\n }\n\n // /device-time/count-session-report\n countSessionReport() {\n return new APIList(this).push('count-session-report');\n }\n\n // /device-time/step-time-report\n stepTimeReport() {\n return new APIList(this).push('step-time-report');\n }\n\n}\n\nexport default APIAdminResourceDeviceTime\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Framework, FrameworkConfigData, FrameworkEditData} from './models/Framework';\nimport {NoQueryParams} from './models/HTTP';\nimport {ProjectJobConfig} from './models/ProjectJobConfig';\nimport {Role} from './models/Role';\n\nexport class APIAdminResourceFramework extends APIResource {\n\n /**\n * /admin/frameworks/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'frameworks', id);\n }\n\n // /admin/frameworks/{id}/config\n config() {\n return new APIResource(this).push('config');\n }\n\n // /admin/frameworks/{id}/required-roles\n requiredRoles() {\n return new APIList(this).push('required-roles');\n }\n\n}\n\nexport default APIAdminResourceFramework\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\n\nexport class APIAdminResourceLicense extends APIResource {\n\n /**\n * /licenses/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'licenses', id);\n }\n\n // /licenses/{id}/activate\n activate() {\n return new APIResource(this).push('activate');\n }\n\n // /licenses/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate');\n }\n\n // /licenses/{id}/resend\n resend() {\n return new APIResource(this).push('resend');\n }\n\n // /licenses/{id}/download\n download() {\n return new APIResource(this).push('download');\n }\n\n}\n\nexport default APIAdminResourceLicense\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Notification} from './models/Notification';\nimport {NotificationPlan, NotificationPlanEditData} from './models/NotificationPlan';\n\nexport class APIAdminResourceNotificationPlan extends APIResource {\n\n /**\n * /admin/notification-plans/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'notification-plans', id);\n }\n\n // /admin/notification-plans/{id}/check\n check() {\n return new APIList(this).push('check');\n }\n\n // /admin/notification-plans/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n // /admin/notification-plans/{id}/execute\n execute() {\n return new APIResource(this).push('execute');\n }\n\n}\n\nexport default APIAdminResourceNotificationPlan\n","import {APIEntity} from '../APIEntity';\nimport {APIResource} from '../APIResource';\nimport {BuildLogsData, BuildLogsParams} from '../models/UserFile';\n\nexport function postDeviceRunIds(parent: APIEntity, name: string, ids?: Array) {\n const a = new APIResource(parent).push(name);\n\n if (ids != null) {\n a.params<'deviceRunIds'>({\n deviceRunIds: ids\n });\n }\n\n return a.post();\n}\n\nexport default postDeviceRunIds;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun, RunChangeBillableParams, RunChangePriorityParams} from './models/AdminTestRun';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceRunStandalone extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/changebillable\n changeBillable(billable: boolean) {\n return new APIResource(this).push('changebillable').post().params({\n billable\n });\n }\n\n // /runs/{id}/changepriority\n changePriority(priority?: number) {\n const resource = new APIResource(this).push('changepriority');\n if (priority) {\n resource.post().data({\n priority\n });\n }\n return resource;\n }\n\n // /admin/runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n}\n\nexport default APIAdminResourceRunStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceActivateData} from './models/Service';\n\n\nexport class APIAdminResourceService extends APIResource {\n\n /**\n * /services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'services', id);\n }\n\n // /services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n}\n\nexport default APIAdminResourceService\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccountService, AccountServiceData} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleData} from './models/Role';\nimport {User, UserUpdateAccount} from './models/User';\n\n@NonRequestable\nexport class APIAdminResourceUserAccount extends APIResource {\n\n /**\n * /account\n */\n constructor(parent: APIAdminResourceUser) {\n super(parent);\n this.push('account');\n }\n\n // /account/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /account/roles/{id}\n role(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('roles', id);\n }\n\n // /account-services\n services() {\n const a = new APIList(this);\n a.last += '-services';\n return a;\n }\n\n // /update-account\n update() {\n const a = new APIResource(this);\n a.last = 'update-account';\n return a.post();\n }\n\n}\n\nexport default APIAdminResourceUserAccount\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {InputFileset} from './class/InputFileset';\nimport {OutputFileset} from './class/OutputFileset';\nimport {DeviceSessionStandalone} from './interface/DeviceSessionStandalone';\nimport {Connection, ConnectionData} from './models/Connection';\nimport {DeviceSession, DeviceSessionRelease} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {VisualTest} from './models/VisualTest';\n\nexport class APIResourceDeviceSessionStandalone extends APIResource implements DeviceSessionStandalone {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIResourceUser | APIAdminResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n // /device-sessions/{id}/connections/{id}\n connection(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('connections', id);\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/visual-tests/images\n visualTestsImages() {\n return new APIList(this).push('visual-tests', 'images');\n }\n\n}\n\nexport default APIResourceDeviceSessionStandalone\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIAdminResourceUserAccount} from './APIAdminResourceUserAccount';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\nimport {Role, RoleParams} from './models/Role';\nimport {User} from './models/User';\n\n\n@NonRequestable\nexport class APIAdminResourceUser extends APIResource {\n\n /**\n * /admin/users/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'users', id);\n }\n\n // /admin/users/{id}/disable\n disable() {\n return new APIResource(this).push('disable');\n }\n\n // /admin/users/{id}/enable\n enable() {\n return new APIResource(this).push('enable');\n }\n\n // /admin/users/{id}/licenses\n licenses() {\n return new APIList(this).push('licenses');\n }\n\n // /admin/users/{id}/resend-activation\n resendActivation() {\n return new APIResource(this).push('resend-activation').post();\n }\n\n // /admin/users/{id}/account\n account() {\n return new APIAdminResourceUserAccount(this);\n }\n\n // /admin/users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /admin/users/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/users/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n}\n\nexport default APIAdminResourceUser;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccessGroup} from './models/AccessGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {SharedResource} from './models/SharedResource';\nimport {User, UserData} from './models/User';\n\nexport class APIResourceAccessGroup extends APIResource {\n\n /**\n * /access-groups/{id}\n *\n */\n constructor(parent: APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('access-groups', id);\n }\n\n // /access-groups/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /access-groups/{id}/users/{id}\n user(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('users', id);\n }\n\n // /access-groups/{id}/resources\n resources() {\n return new APIList(this).push('resources');\n }\n\n // /access-groups/{id}/resources/{id}\n resource(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('resources', id);\n }\n\n}\n\nexport default APIResourceAccessGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport APIResourceUser from './APIResourceUser';\nimport {Device, DeviceProperty} from './models/Device';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupParams, DeviceGroupSelectorData} from './models/DeviceGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {ShareData, SharedResource} from './models/SharedResource';\n\nexport class APIResourceDeviceGroup extends APIResource {\n\n /**\n * /device-groups/{id}\n */\n constructor(parent: APIAdminResource | APIResourceUser | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-groups', id);\n }\n\n // /device-groups/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n // /device-groups/{id}/devices/{id}\n device(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('devices', id);\n }\n\n // /device-groups/{id}/selectors\n selectors() {\n return new APIList(this).push('selectors');\n }\n\n // /device-groups/{id}/selectors/{id}\n selector(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('selectors', id);\n }\n\n // /device-groups/{id}/share\n share() {\n return new APIList(this).push('share');\n }\n\n}\n\nexport default APIResourceDeviceGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData} from './models/HTTP';\nimport {Property} from './models/Property';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {FileSizeData, UserFile, UserFileTag} from './models/UserFile';\n\n\nexport class APIResourceFile extends APIResource {\n\n /**\n * /files/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('files', id);\n }\n\n // use this to download file content\n // /files/{id}/file\n file() {\n return new APIResource(this).push('file');\n }\n\n // /files/{id}/icon\n icon() {\n return new APIResource(this).push('icon');\n }\n\n // /files/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n property(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('properties', id);\n }\n\n}\n\nexport default APIResourceFile\n","import {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {DeviceSession} from './interface/DeviceSession';\nimport {DeviceSession as DeviceSessionModel} from './models/DeviceSession';\n\nexport class APIResourceDeviceSession extends APIResourceDeviceSessionCommon implements DeviceSession {\n\n // /device-sessions/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /device-sessions/{id}/retry\n retry() {\n return new APIResource(this).push('retry').post();\n }\n\n}\n\nexport default APIResourceDeviceSession\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun} from './models/AdminTestRun';\nimport {DeviceSession, DeviceSessionStep, TRunDeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot, ScreenshotExtended, ScreenshotQueryParams} from './models/Screenshot';\nimport {Tag, TagsData, TagsQueryParams, TaqQueryParams, TestRunTagsData} from './models/Tag';\nimport {RunData, RunQueryParam, TestRun, TestRunData} from './models/TestRun';\nimport {TestRunDataAvailability, TestRunDataAvailabilityQueryParams} from './models/TestRunDataAvailability';\nimport {UserFile} from './models/UserFile';\n\nexport class APIResourceRunCommon extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/build-logs.zip\n buildLogsZip(ids?: Array) {\n return postDeviceRunIds(this, 'build-logs.zip', ids);\n }\n\n // /runs/{id}/data-availability\n dataAvailability() {\n return new APIResource(this).push('data-availability');\n }\n\n // /runs/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /runs/{id}/files.zip\n filesZip(ids?: Array) {\n return postDeviceRunIds(this, 'files.zip', ids);\n }\n\n // /runs/{id}/logs.zip\n logsZip(ids?: Array) {\n return postDeviceRunIds(this, 'logs.zip', ids);\n }\n\n // /runs/{id}/performance.zip\n performanceZip(ids?: Array) {\n return postDeviceRunIds(this, 'performance.zip', ids);\n }\n\n // /runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n // /runs/{id}/screenshot-names\n screenshotNames() {\n return new APIList(this).push('screenshot-names');\n }\n\n // /runs/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /runs/{id}/screenshots.zip\n screenshotsZip(ids?: Array) {\n return postDeviceRunIds(this, 'screenshots.zip', ids);\n }\n\n // /runs/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /runs/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n // /runs/{id}/tag\n tag(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('tags', id);\n }\n\n}\n\nexport default APIResourceRunCommon\n","import {APIResourceDeviceSession} from './APIResourceDeviceSession'\nimport {APIResourceRunCommon} from './APIResourceRunCommon'\n\nexport class APIResourceRun extends APIResourceRunCommon {\n\n // /runs/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n}\n\nexport default APIResourceRun\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceRun} from './APIResourceRun'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Project} from './models/Project';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {TestRun} from './models/TestRun';\n\nexport class APIResourceProject extends APIResource {\n\n /**\n * /projects/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('projects', id);\n }\n\n // /projects/{id}/runs\n runs() {\n return new APIList(this).push('runs');\n }\n\n // /projects/{id}/runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n // /unarchive\n unarchive() {\n return new APIResource(this).push('unarchive');\n }\n\n}\n\nexport default APIResourceProject\n","import {API} from '../API';\nimport {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIAdminListNotificationPlans} from './APIAdminListNotificationPlans';\nimport {APIAdminListRuns} from './APIAdminListRuns';\nimport {APIAdminListServices} from './APIAdminListServices';\nimport {APIAdminListStatistics} from './APIAdminListStatistics';\nimport APIAdminResourceAccount from './APIAdminResourceAccount';\nimport {APIAdminResourceAccountService} from './APIAdminResourceAccountService';\nimport {APIAdminResourceCluster} from './APIAdminResourceCluster';\nimport {APIAdminResourceDevice} from './APIAdminResourceDevice';\nimport {APIAdminResourceDeviceModel} from './APIAdminResourceDeviceModel';\nimport {APIAdminResourceDeviceSessionStandalone} from './APIAdminResourceDeviceSessionStandalone';\nimport {APIAdminResourceDeviceTime} from './APIAdminResourceDeviceTime';\nimport {APIAdminResourceFramework} from './APIAdminResourceFramework';\nimport {APIAdminResourceLicense} from './APIAdminResourceLicense';\nimport {APIAdminResourceNotificationPlan} from './APIAdminResourceNotificationPlan';\nimport {APIAdminResourceRunStandalone} from './APIAdminResourceRunStandalone';\nimport {APIAdminResourceService} from './APIAdminResourceService';\nimport {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceFile} from './APIResourceFile'\nimport {APIResourceProject} from './APIResourceProject';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccessGroup, AccessGroupData} from './models/AccessGroup';\nimport {Account} from './models/Account';\nimport {AccountService} from './models/AccountService';\nimport {Activity} from './models/Activity';\nimport {AdminDeviceSession, AdminInteractiveDeviceSession} from './models/AdminDeviceSession';\nimport {AdminDeviceType, DeviceTypeData} from './models/AdminDeviceType';\nimport {AdminEmail} from './models/AdminEmail';\nimport {AdminError} from './models/AdminError';\nimport {Administrator} from './models/Administrator';\nimport {AdminOverview} from './models/AdminOverview';\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {Browser, BrowserData} from './models/Browser';\nimport {CountryVatRate, CountryVatRateData} from './models/CountryVatRate';\nimport {DeviceModelCriterion, DeviceModelCriterionData} from './models/DeviceModelCriterion';\nimport {DeviceModelPool, DeviceModelPoolData} from './models/DeviceModelPool';\nimport {Framework, FrameworkData} from './models/Framework';\nimport {License, LicenseData} from './models/License';\nimport {Maintenance, MaintenanceData} from './models/Maintenance';\nimport {Project} from './models/Project';\nimport {Role, RoleParams} from './models/Role';\nimport {Settings, SettingsParams} from './models/Settings';\nimport {User, UserData, UserParams} from './models/User';\nimport {DeviceTimeSummaryParams, UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {UserFile, UserFileData, UserFileParams} from './models/UserFile';\nimport {Cluster} from './models/Cluster';\nimport {DeviceProperty} from './models/Device';\nimport {DeviceGroup} from './models/DeviceGroup';\nimport {DeviceModel} from './models/DeviceModel';\nimport {DeviceProblem} from './models/DeviceProblem';\nimport {DeviceStatus} from './models/DeviceStatus';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n@NonRequestable\nexport class APIAdminResource extends APIResource {\n\n /**\n * /admin\n */\n constructor(parent: API) {\n super(parent);\n }\n\n // /access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /admin/accounts\n accounts() {\n return new APIList(this).push('admin', 'accounts');\n }\n\n // /admin/accounts/{id}\n account(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIAdminResourceAccount(this, id);\n }\n\n // /admin/account-services\n accountServices() {\n return new APIList(this).push('admin', 'account-services');\n }\n\n // /admin/account-services/{id}\n accountService(id: number) {\n return new APIAdminResourceAccountService(this, id);\n }\n\n // activities\n activities() {\n return new APIList(this).push('admin', 'activities');\n }\n\n // admin/administrators\n administrators() {\n return new APIList(this).push('admin', 'administrators');\n }\n\n // /admin/billing-periods\n billingPeriods() {\n return new APIList(this).push('admin', 'billing-periods');\n }\n\n // /admin/billing-periods/{id}\n billingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'billing-periods', id);\n }\n\n // /admin/browsers\n browsers() {\n return new APIList(this).push('admin', 'browsers');\n }\n\n // /admin/browsers/{id}\n browser(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'browsers', id);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /admin/country-vat-rates\n countryVatRates() {\n return new APIList(this).push('admin', 'country-vat-rates');\n }\n\n // /admin/country-vat-rates/{id}\n countryVatRate(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource>(this).push('admin', 'country-vat-rates', id);\n }\n\n // /admin/devices\n devices() {\n return new APIAdminListDevices(this);\n }\n\n // /admin/devices/{id}\n device(id: number) {\n return new APIAdminResourceDevice(this, id);\n }\n\n devicesForModel(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n const apiList = this.devices();\n apiList.params({\n filter: 'deviceModelId_eq_' + id\n });\n return apiList;\n }\n\n // /admin/device/statuses\n deviceStatuses() {\n return new APIList(this).push('admin', 'device', 'statuses');\n }\n\n // /admin/device-models\n deviceModels() {\n return new APIList(this).push('admin', 'device-models');\n }\n\n // /admin/device-models/{id}\n deviceModel(id: number) {\n return new APIAdminResourceDeviceModel(this, id);\n }\n\n // /admin/device-problems\n deviceProblems() {\n return new APIList(this).push('admin', 'device-problems');\n }\n\n // /admin/device-model-criteria\n deviceModelCriterias() {\n return new APIList(this).push('admin', 'device-model-criteria');\n }\n\n // /admin/device-model-criteria/{id}\n deviceModelCriteria(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'device-model-criteria', id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('admin', 'device-sessions');\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIAdminResourceDeviceSessionStandalone(this, id);\n }\n\n // /device-time\n deviceTime() {\n return new APIAdminResourceDeviceTime(this);\n }\n\n // /device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('admin', 'device-time-summary');\n }\n\n // /device-types\n deviceTypes() {\n return new APIList(this).push('admin', 'device-types');\n }\n\n // /device-types/{id}\n deviceType(id: number) {\n return new APIResource(this).push('admin', 'device-types', id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /admin/emails\n emails() {\n return new APIList(this).push('admin', 'emails');\n }\n\n // /admin/emails/{id}/resend\n resendEmail(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'emails', id, 'resend').post();\n }\n\n // /admin/errors\n errors() {\n return new APIList(this).push('admin', 'errors');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /admin/frameworks\n frameworks() {\n return new APIList(this).push('admin', 'frameworks');\n }\n\n // /admin/frameworks/{id}\n framework(id: number) {\n return new APIAdminResourceFramework(this, id);\n }\n\n // /admin/frameworks/available-labels\n frameworkAvailableLabels() {\n const apiList = this.frameworks();\n apiList.push('available-labels');\n return apiList;\n }\n\n // /admin/interactive-queue\n interactiveQueue() {\n return new APIList(this).push('admin', 'interactive-queue');\n }\n\n // /admin/licenses\n licenses() {\n return new APIList(this).push('admin', 'licenses');\n }\n\n // /admin/licenses/{id}\n license(id: number) {\n return new APIAdminResourceLicense(this, id);\n }\n\n // /admin/maintenance\n maintenance() {\n return new APIResource(this).push('admin', 'maintenance');\n }\n\n // /admin/notification-plans\n notificationPlans() {\n return new APIAdminListNotificationPlans(this);\n }\n\n // /admin/notification-plans/{id}\n notificationPlan(id: number) {\n return new APIAdminResourceNotificationPlan(this, id);\n }\n\n // /admin/overview\n overview() {\n return new APIResource(this).push('admin', 'overview');\n }\n\n pools() {\n return new APIList(this).push('admin', 'pools');\n }\n\n pool(id: number) {\n return new APIResource(this).push('admin', 'pools', id);\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /admin/roles\n roles() {\n return new APIList(this).push('admin', 'roles');\n }\n\n // /admin/runs\n runs() {\n return new APIAdminListRuns(this);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIAdminResourceRunStandalone(this, id);\n }\n\n // /admin/samples\n samples() {\n return new APIList>(this).push('admin', 'samples');\n }\n\n // /admin/samples/{id}\n sample(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'samples', id);\n }\n\n // /admin/services\n services() {\n return new APIAdminListServices(this);\n }\n\n // /admin/services/{id}\n service(id: number) {\n return new APIAdminResourceService(this, id);\n }\n\n // /admin/settings\n settings() {\n return new APIResource(this).push('admin', 'settings');\n }\n\n // /admin/statistics\n statistics() {\n return new APIAdminListStatistics(this);\n }\n\n // /users\n users() {\n return new APIList(this).push('users');\n }\n\n // /admin/users\n createUser() {\n return new APIList(this).push('admin', 'users').post();\n }\n\n // /users/{id}\n user(id: number) {\n return new APIAdminResourceUser(this, id);\n }\n\n}\n\nexport default APIAdminResource;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {DesktopBrowserCapabilities} from './models/DesktopBrowserCapabilities';\nimport {Device, DevicesQueryParams} from './models/Device';\nimport {DevicePicker} from './models/DeviceFilter';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIListDevices extends APIList {\n\n /**\n * /devices\n */\n constructor(parent: API) {\n super(parent);\n this.push('devices');\n }\n\n // /devices/filters\n filters() {\n return new APIResource>(this).push('filters');\n }\n\n // /devices/desktop-browser-capabilities\n desktopBrowserCapabilities() {\n return new APIResource(this).push('desktop-browser-capabilities');\n }\n\n}\n\nexport default APIListDevices;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {CollectionQueryParams} from './models/HTTP';\nimport {Property, PropertyData} from './models/Property';\n\n\nexport class APIListProperties extends APIList {\n\n /**\n * /properties\n */\n constructor(parent: API) {\n super(parent);\n this.push('properties');\n }\n\n maintenance() {\n return new APIList(this).params({\n filter: 'name_eq_CLOUD_HEADER_ANNOUNCEMENT',\n limit: 1,\n sort: 'updateTime_d'\n });\n }\n\n}\n\nexport default APIListProperties\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccountService, ServicePaymentStatus} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceData} from './models/Service';\n\n\nexport class APIListServices extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['POST'];\n\n /**\n * /services\n */\n constructor(parent: API | APIResourceUser) {\n super(parent);\n this.push('services');\n }\n\n // /services/available\n available() {\n return new APIList(this).push('available');\n }\n\n active() {\n const apiList = new APIList(this);\n if (this.first === 'me') {\n apiList.push('active');\n } else {\n apiList.params({\n notArchived: true\n });\n }\n return apiList;\n }\n\n byPrice() {\n return new APIList(this).sort('centPrice');\n }\n\n availableByPrice() {\n return new APIList(this).push('available').sort('centPrice');\n }\n\n}\n\nexport default APIListServices\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {\n User,\n UserActivateData,\n UserData,\n UserPasswordData,\n UserRecoveryQueryParams,\n} from './models/User';\n\n\nexport class APIListUsers extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET', 'POST'];\n\n /**\n * /users\n */\n constructor(parent: API) {\n super(parent);\n this.push('users');\n }\n\n // /users/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /users/recoveries\n recoveries() {\n return new APIResource(this).push('recoveries');\n }\n\n // /users/passwordRecovery\n passwordRecovery() {\n return new APIResource(this).push('password-recovery');\n }\n\n}\n\nexport default APIListUsers;\n","import {APIResource} from './APIResource'\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {APIResourceAccount} from './APIResourceAccount';\n\n\n\n\nexport class APIResourceBillingPeriod extends APIResource {\n\n /**\n * /billing-periods/{id}\n */\n constructor(parent: APIResourceAccount, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('billing-periods', id);\n }\n\n // /billing-periods/{id}/receipt\n receipt() {\n return new APIResource(this).push('receipt').setRequestConfig({\n responseType: 'arraybuffer'\n });\n }\n\n}\n\nexport default APIResourceBillingPeriod\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceBillingPeriod} from './APIResourceBillingPeriod';\nimport {Account, AccountData} from './models/Account';\nimport {AccountConcurrencyStatusMap} from './models/AccountConcurrencyStatusMap';\nimport {AccountPreferences} from './models/AccountPreference';\nimport {AccountService} from './models/AccountService';\nimport {AccountServicePayment} from './models/AccountServicePayment';\nimport {BillingPeriod, BillingPeriodQueryParams} from './models/BillingPeriod';\nimport {DeviceTimeSummaryQueryParams} from './models/Device';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams, QueryParams, SimpleCollectionResponse} from './models/HTTP';\nimport {User, UserData} from './models/User';\nimport {DeviceTimeQueryParams, UserDeviceTime} from './models/UserDeviceTime';\nimport {UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {VisualTestAccess} from './models/VisualTest';\n\n\nexport class APIResourceAccount extends APIResource {\n\n /**\n * /accounts/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('accounts', id);\n }\n\n // /accounts/{id}/concurrency-status\n concurrencyStatus() {\n return new APIResource(this).push('concurrency-status');\n }\n\n // /accounts/{id}/device-time\n deviceTime() {\n return new APIList(this).push('device-time');\n }\n\n // /accounts/{id}/device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('device-time-summary');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource>(this).push('preferences');\n }\n\n // /accounts/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /accounts/{accountId}/users/{userId}\n removeUser(id: number) {\n return new APIResource(this).push('users', id);\n }\n\n // /accounts/{accountId}/users/{userId}/disable\n disableUser(id: number) {\n return new APIResource(this).push('users', id, 'disable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/enable\n enableUser(id: number) {\n return new APIResource(this).push('users', id, 'enable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/resend-activation\n resendActivation(id: number) {\n return new APIResource(this).push('users', id, 'resend-activation').post();\n }\n\n // /accounts/{accountId}/billing-periods\n billingPeriods() {\n return new APIList(this).push('billing-periods');\n }\n\n // /accounts/{accountId}/billing-periods/{id}\n billingPeriod(id: number) {\n return new APIResourceBillingPeriod(this, id);\n }\n\n // /account-services/{id}/billing-period\n serviceBillingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('account-services', id, 'billing-period');\n }\n\n // /account/{accountId}/visual-test/access\n visualTestAccess() {\n return new APIResource(this).push('visual-tests', 'access');\n }\n\n // /account/{accountId}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /account/{accountId}/account-services/{id}\n accountService(id: number) {\n return new APIList(this).push('account-services', id);\n }\n\n}\n\nexport default APIResourceAccount;\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Broker} from './models/Broker';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIResourceBroker extends APIResource {\n\n /**\n * /broker\n */\n constructor(parent: API) {\n\n super(parent);\n this.push('broker');\n }\n\n // /broker/hubs\n hubs() {\n return new APIList(this).push('hubs');\n }\n\n}\n\nexport default APIResourceBroker\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser} from './models/Browser';\nimport {Device, DeviceProperiesData, DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams} from './models/HTTP';\n\n\nexport class APIResourceDevice extends APIResource {\n\n /**\n * /devices/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('devices', id);\n }\n\n // /devices/{id}/properties\n properties() {\n return new APIList(this).push('properties');\n }\n\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIResourceDevice\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams, NoQueryParams} from './models/HTTP';\nimport {LabelData, LabelGroup} from './models/LabelGroup';\n\nexport class APIResourceLabelGroup extends APIResource {\n\n /**\n * /label-groups/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('label-groups', id);\n }\n\n // /label-groups/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /label-groups/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n}\n\nexport default APIResourceLabelGroup\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {FilesQueryParams} from './class/FilesQueryParams';\nimport {FileData, UploadObj, UserFile} from './models/UserFile';\n\n\nexport class APIListFiles extends APIList {\n\n /**\n * /files\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('files');\n }\n\n /**\n * Simplifies process of uploading\n * /files\n */\n upload(obj: UploadObj): this {\n // For NodeJS\n // @ts-ignore\n if (global.isNodeJs) {\n return this.nodeUpload(obj);\n } else {\n /**\n * Browser\n * @todo\n */\n throw new Error('Not supported yet!');\n }\n }\n\n private nodeUpload(file: UploadObj): this {\n const fs = require('fs');\n const FormData = require('form-data');\n const form = new FormData();\n form.append('file', fs.createReadStream(file.dir + '/' + file.filename), {\n filename: file.filename\n });\n return this.post().headers(form.getHeaders()).data(form);\n }\n\n}\n\nexport default APIListFiles\n","import {APIList} from './APIList'\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIResource} from './APIResource'\n\n\nexport class APIResourceChannel extends APIResource {\n\n /**\n * /users/{id}/notifications/channels/{type}\n */\n constructor(parent: APIListNotifications, type: string) {\n if (type == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('channels', type);\n }\n\n // /channels/{type}/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\nexport default APIResourceChannel;\n","import {APIList} from './APIList';\nimport {APIResourceChannel} from './APIResourceChannel';\nimport {APIResourceUser} from './APIResourceUser';\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Notification, NotificationsData} from './models/Notification';\n\n\nexport class APIListNotifications extends APIList {\n\n /**\n * /notifications\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('notifications');\n }\n\n // /notifications/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n // /notifications/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n channel(type: string) {\n return new APIResourceChannel(this, type);\n }\n\n}\n\nexport default APIListNotifications\n","import {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoQueryParams} from './models/HTTP';\nimport {TestRun, TestRunConfig, TestRunsConfigData, TestRunsData, TestRunsQueryParams} from './models/TestRun';\n\n\nexport class APIListRuns extends APIList {\n\n /**\n * /runs\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('runs');\n }\n\n // /runs/config\n config() {\n return new APIResource(this).push('config');\n }\n\n}\n\nexport default APIListRuns\n","import {Method} from 'axios';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData} from './models/HTTP';\nimport {SmartbearTunnel, TunnelQueryParams} from './models/SmartbearTunnel';\n\n\nexport class APIListSmartbearTunnels extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /tunnels\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('tunnels');\n }\n\n /**\n * Sets tunnel activity parameter\n */\n active(active: boolean): this {\n return this.params({active: active});\n }\n}\n\nexport default APIListSmartbearTunnels;\n","\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {Notification, NotificationData} from './models/Notification';\n\nexport class APIResourceNotification extends APIResource {\n\n /**\n * /notifications/{id}\n */\n constructor(parent: APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('notifications', id);\n }\n\n // /notifications/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n}\n\nexport default APIResourceNotification\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIListFiles} from './APIListFiles';\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIListRuns} from './APIListRuns';\nimport {APIListServices} from './APIListServices';\nimport {APIListSmartbearTunnels} from './APIListSmartbearTunnels';\nimport {APIResource} from './APIResource';\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {APIResourceFile} from './APIResourceFile';\nimport {APIResourceNotification} from './APIResourceNotification';\nimport {APIResourceProject} from './APIResourceProject';\nimport {AccessGroup, AccessGroupsData} from './models/AccessGroup';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupIdsData, DeviceGroupWithPublicParams} from './models/DeviceGroup';\nimport {DeviceStatistics} from './models/DeviceStatistics';\nimport {DeviceUsage} from './models/DeviceUsage';\nimport {Framework} from './models/Framework';\nimport {Project, UserProjectData, UserProjectQueryParams} from './models/Project';\nimport {User, UserDeleteData} from './models/User';\nimport {UiPreferencesData, UserPreference, UserPreferenceData} from './models/UserPreference';\nimport {StatisticQueryParams, UserStatistics} from './models/UserStatistics';\nimport {DeviceSession, DeviceSessionData, DeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {DeviceStatisticQueryParam, DeviceUsageQueryParams} from './models/Device';\n\nexport class APIResourceUser extends APIResource {\n\n /**\n * /users/{id} | /me\n */\n constructor(parent: API, id: number | 'me') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n\n if (id === 'me') {\n this.push('me');\n } else if (typeof id === 'number') {\n this.push('users', id);\n } else {\n throw new TypeError('id is not a number');\n }\n }\n\n // /users/{id}/services\n services() {\n return new APIListServices(this);\n }\n\n // /users/{id}/device-groups\n deviceGroups() {\n return new APIList>(this).push('device-groups');\n }\n\n // /users/{id}/device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /users/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /users/{id}/mark-account-owner\n markAccountOwner() {\n return new APIResource(this).push('mark-account-owner').post();\n }\n\n // /users/{id}/projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /users/{id}/projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /users/{id}/files\n files() {\n return new APIListFiles(this);\n }\n\n // /users/{id}/files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /users/{id}/runs\n runs() {\n return new APIListRuns(this);\n }\n\n // /users/{id}/available-frameworks\n availableFrameworks() {\n return new APIList(this).push('available-frameworks');\n }\n\n /**\n * /users/{id}/reset-api-key\n */\n resetApiKey() {\n return new APIResource(this).push('reset-api-key');\n }\n\n // /users/{id}/restore\n restore() {\n return new APIResource(this).push('restore');\n }\n\n // /users/{id}/feedback\n feedback() {\n return new APIResource(this).push('feedback');\n }\n\n // /users/{id}/notifications\n notifications() {\n return new APIListNotifications(this);\n }\n\n // /users/{id}/notifications/{id}\n notification(id: number) {\n return new APIResourceNotification(this, id);\n }\n\n // /users/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n // /users/{id}/ui-preferences\n uiPreferences() {\n return new APIResource(this).push('ui-preferences');\n }\n\n // /users/{id}/device-usage\n deviceUsage() {\n return new APIList(this).push('device-usage');\n }\n\n // /users/{id}/statistics\n statistics() {\n return new APIResource(this).push('statistics');\n }\n\n // /users/{id}/device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /users/{id}/access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /users/{id}/access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /users/{id}/tunnels/{id}\n smartbearTunnel(id: number) {\n return new APIResource(this).push('tunnels', id);\n }\n\n // /users/{id}/tunnels\n smartbearTunnels() {\n return new APIListSmartbearTunnels(this);\n }\n\n deleteAccount() {\n return new APIResource(this).push('delete');\n }\n}\n\nexport default APIResourceUser\n","import {API} from '../API';\nimport {APIResource} from './APIResource'\nimport {NoQueryParams} from './models/HTTP';\nimport {LoginData, User} from './models/User';\n\nexport class APIResourceUserSession extends APIResource {\n\n // /user-sessions\n constructor(parent: API) {\n super(parent);\n this.push('user-sessions');\n }\n\n // /user-sessions/login\n login(data: LoginData) {\n return new APIResource(this).push('login').post().data(data);\n }\n\n // /user-sessions/logout\n logout() {\n return new APIResource(this).push('logout').post();\n }\n\n // /user-sessions/oauth/authorize/{name}-login\n sso(name: string) {\n return new APIResource(this).push('oauth', 'authorize', name + '-login');\n }\n\n // /user-sessions/portal-login\n portalLogin() {\n return new APIResource(this).push('portal-login').post();\n }\n\n // /user-sessions/oauth/authorize/sbid-login\n sbidCallbackUrl() {\n return new APIResource(this).push('oauth', 'authorize', 'sbid-login').toUrl(true);\n }\n\n}\n\nexport default APIResourceUserSession\n","import axios, {AxiosInstance} from 'axios';\n// @ts-ignore\nimport {version} from '../package.json';\nimport {APIAdminResource} from './api/APIAdminResource';\nimport {APIAdminResourceCluster} from './api/APIAdminResourceCluster';\nimport {APIList} from './api/APIList';\nimport {APIListDevices} from './api/APIListDevices';\nimport {APIListProperties} from './api/APIListProperties';\nimport {APIListServices} from './api/APIListServices';\nimport {APIListUsers} from './api/APIListUsers';\nimport {APIResource} from './api/APIResource';\nimport {APIResourceAccount} from './api/APIResourceAccount';\nimport {APIResourceBroker} from './api/APIResourceBroker';\nimport {APIResourceDevice} from './api/APIResourceDevice';\nimport {APIResourceDeviceGroup} from './api/APIResourceDeviceGroup';\nimport {APIResourceDeviceSession} from './api/APIResourceDeviceSession';\nimport {APIResourceFile} from './api/APIResourceFile';\nimport {APIResourceLabelGroup} from './api/APIResourceLabelGroup';\nimport {APIResourceProject} from './api/APIResourceProject';\nimport {APIResourceRun} from './api/APIResourceRun';\nimport {APIResourceUser} from './api/APIResourceUser';\nimport {APIResourceUserSession} from './api/APIResourceUserSession';\nimport {Cluster} from './api/models/Cluster';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './api/models/HTTP';\nimport {License} from './api/models/License';\nimport {Project} from './api/models/Project';\nimport {Property} from './api/models/Property';\nimport {UserFile, UserFileData, UserFileParams} from './api/models/UserFile';\nimport {ApiConfig} from './ApiConfig';\nimport './finka';\nimport {LabelGroup} from './api/models/LabelGroup';\n\n// @ts-ignore\nif (globalThis.isNodeJs) {\n // Set User-Agent\n axios.defaults.headers.common['User-Agent'] = `Bitbar Cloud API Client for JavaScript v${version}`;\n}\n\n// Disable max content length\naxios.defaults.maxContentLength = 1073741824; // 1GB\n\n\n/**\n * API\n * Root for other API resources\n */\nexport class API {\n axios: AxiosInstance;\n\n private axiosConfig: ApiConfig = {};\n\n get baseUrl(): string {\n return this.axiosConfig.baseURL;\n }\n\n\n constructor(private config: ApiConfig) {\n if (config == null) {\n throw new Error('config cannot be empty');\n } else if (this.config.cloudUrl == null) {\n throw new TypeError('cloudUrl cannot be empty');\n } else if (typeof this.config.cloudUrl !== 'string') {\n throw new TypeError('cloudUrl must be a string');\n } else if (!/^https?:\\/\\/.{2,}/.test(this.config.cloudUrl)) {\n throw new Error(`cloudUrl doesn't look like a URL`);\n }\n\n // Validate and correct cloudUrl if needed\n this.axiosConfig.baseURL = this.config.cloudUrl.replace(/\\/+$/, '') + '/api'\n\n // Check v2\n this.config.v2 = !!this.config.v2;\n if (this.config.v2) {\n this.axiosConfig.baseURL += '/v2';\n }\n\n // Check if apiKey is set\n if (this.config.apiKey) {\n if (typeof this.config.apiKey !== 'string') {\n throw new TypeError('apiKey must be a string');\n } else if (!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey)) {\n throw new Error('apiKey is in the wrong format');\n }\n\n this.axiosConfig.auth = {\n username: this.config.apiKey,\n password: ''\n };\n }\n\n // With credentials\n this.axiosConfig.withCredentials = config.withCredentials == null ? false : config.withCredentials;\n\n // Create axios instance\n this.axios = axios.create(this.axiosConfig);\n }\n\n\n // --- Resources starts here --- //\n\n // /account/{id}\n account(id: number) {\n return new APIResourceAccount(this, id);\n }\n\n // /admin\n admin() {\n return new APIAdminResource(this);\n }\n\n // /broker\n broker() {\n return new APIResourceBroker(this);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /devices/{id}\n device(id: number) {\n return new APIResourceDevice(this, id);\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /devices\n devices() {\n return new APIListDevices(this);\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /enums\n enums() {\n return new APIResource(this).push('enums');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /label-groups\n labelGroups() {\n return new APIList(this).push('label-groups');\n }\n\n // /label-groups/{id}\n labelGroup(id: number) {\n return new APIResourceLabelGroup(this, id);\n }\n\n // /labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /licenses\n licenses() {\n return new APIResource(this).push('licenses');\n }\n\n // /license\n license() {\n return new APIResource(this).push('license');\n }\n\n /*\n /me or /admin\n Requires prototype extension covering ACL check\n */\n ma(): APIAdminResource | APIResourceUser {\n throw new Error('Requires prototype extension covering ACL check');\n }\n\n // /me\n me() {\n return this.user('me');\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /properties\n properties() {\n return new APIListProperties(this);\n }\n\n // /properties/{id}\n property(id: number) {\n return new APIResource(this).push('properties', id);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n // /services\n services() {\n return new APIListServices(this);\n }\n\n // /user/{id}\n user(id: number | 'me') {\n return new APIResourceUser(this, id);\n }\n\n // /users\n users() {\n return new APIListUsers(this);\n }\n\n // /user-sessions\n userSession() {\n return new APIResourceUserSession(this);\n }\n\n}\n\n\nexport default API;\n","/* istanbul ignore file */\n\nimport {API} from './API';\nimport {FilterBuilder} from './FilterBuilder';\n\nexport {API} from './API';\nexport {FilterBuilder} from './FilterBuilder';\n\n/**\n * Cloud API Client\n */\nexport const CloudAPIClient = {\n API,\n FilterBuilder\n}\n\nexport default CloudAPIClient;\n","export enum AccessGroupScope {\n USER = 'USER',\n ACCOUNT = 'ACCOUNT',\n GLOBAL = 'GLOBAL'\n}\n\nexport type AccessGroup = {\n id: number;\n name: string;\n scope: AccessGroupScope;\n userEmail: string;\n userId: number;\n}\n\nexport type AccessGroupData = Pick;\n\nexport type AccessGroupsData = Omit;\n","import {ServiceUnit} from './Service';\n\nexport enum PaymentStatus {\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REDIRECTED = 'REDIRECTED'\n}\n\nexport enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n BRAINTREE = 'BRAINTREE',\n STRIPE = 'STRIPE',\n INVOICE = 'INVOICE',\n PROMOTION = 'PROMOTION',\n AWS = 'AWS'\n}\n\nexport enum ChargeType {\n USAGE_MOBILE = 'USAGE_MOBILE',\n CONCURRENCY_MOBILE = 'CONCURRENCY_MOBILE',\n CONCURRENCY_DESKTOP = 'CONCURRENCY_DESKTOP'\n}\n\nexport enum DeactivateReason {\n INITIAL_FAILURE = 'INITIAL_FAILURE',\n SCA_FAILURE = 'SCA_FAILURE',\n CHARGE_FAILURE = 'CHARGE_FAILURE',\n CANCEL = 'CANCEL',\n SUSPENDED = 'SUSPENDED',\n ANOTHER_PURCHASE = 'ANOTHER_PURCHASE'\n}\n\nexport type ServicePaymentStatus = {\n accountService: AccountService;\n message: string;\n redirectUrl: string;\n status: PaymentStatus;\n}\n\nexport type AccountService = {\n accountId: number;\n accountName: string;\n activatedById: number;\n activatedByName: string;\n active: boolean;\n autoRenew: boolean;\n braintreeId: string;\n chargeType: ChargeType;\n createTime: number;\n deactivateReason: DeactivateReason;\n deactivatedById: number;\n deactivatedByName: string;\n endTime: number;\n finished: boolean;\n id: number;\n lastPaymentTime: number;\n paymentMethod: PaymentMethod;\n price: number;\n serviceCount: number;\n serviceId: number;\n serviceName: string;\n startTime: number;\n subscriptionManagementURL: string;\n total: number;\n unit: ServiceUnit;\n unitCount: number;\n userId: number;\n vatRate: number;\n}\n\nexport type AccountServiceData = Pick & {count: number};\n","import {DevicesQueryParams, Platform, SoftwareVersion} from './Device';\nimport {OsType} from './Enum';\nimport {CollectionQueryParams} from './HTTP';\n\n\nexport enum InitStep {\n SKIP = 'SKIP',\n REBOOT = 'REBOOT',\n REBOOT_WITH_UNLOCK = 'REBOOT_WITH_UNLOCK',\n UNLOCK_ONLY = 'UNLOCK_ONLY'\n}\n\nexport enum DeviceState {\n OFFLINE_CLEANING = 'OFFLINE_CLEANING',\n OFFLINE_DIRTY = 'OFFLINE_DIRTY',\n OFFLINE_FREE = 'OFFLINE_FREE',\n OFFLINE_TESTING = 'OFFLINE_TESTING',\n ONLINE_CLEANING = 'ONLINE_CLEANING',\n ONLINE_DIRTY = 'ONLINE_DIRTY',\n ONLINE_FREE = 'ONLINE_FREE',\n ONLINE_TESTING = 'ONLINE_TESTING'\n}\n\nexport type AdminDevice = {\n accountId: number;\n accountName: string;\n cluster: unknown;\n comment: string;\n dedicationEndTime: number;\n deviceModelId: number;\n deviceModelName: string;\n enabled: boolean;\n fingerprint: string;\n id: number;\n initStep: InitStep;\n ipAddress: string;\n lastOnlineTime: number;\n location: string;\n locked: boolean;\n manufacturer: string;\n name: string;\n osType: OsType;\n platform: Platform;\n serialId: string;\n softwareVersion: SoftwareVersion;\n state: DeviceState;\n stateChangeTime: number;\n stateTime: number;\n testTimeLimit: number;\n unlockGesture: string;\n}\n\nexport type AdminDevicesQueryParams = Pick & CollectionQueryParams;\n\nexport type AdminDeviceData = Pick & {apiLevel: number; releaseVersion: string};\n","export enum AdminErrorType {\n ABORT_REQUEST = 'ABORT_REQUEST',\n ADB_COMMAND_REJECTED = 'ADB_COMMAND_REJECTED',\n ADB_SHELL_COMMAND_FAILED = 'ADB_SHELL_COMMAND_FAILED',\n APP_LOCK_NOT_INSTALLED = 'APP_LOCK_NOT_INSTALLED',\n DEVICE_OFFLINE = 'DEVICE_OFFLINE',\n DEVICE_OUTPUT_NULL = 'DEVICE_OUTPUT_NULL',\n GAMEBENCH_ERROR = 'GAMEBENCH_ERROR',\n GAMEBENCH_NOT_SUPPORTED = 'GAMEBENCH_NOT_SUPPORTED',\n GRANT_FAILED = 'GRANT_FAILED',\n INSTALL_FAILED = 'INSTALL_FAILED',\n INTERACTIVE_SETUP_FAILED = 'INTERACTIVE_SETUP_FAILED',\n INTERNAL_INSTALL_FAILED = 'INTERNAL_INSTALL_FAILED',\n INVALID_TEST_SESSION_FILE = 'INVALID_TEST_SESSION_FILE',\n LOCK_EXPIRED = 'LOCK_EXPIRED',\n LOCK_TIMEOUT = 'LOCK_TIMEOUT',\n NO_NETWORK_CONNECTION = 'NO_NETWORK_CONNECTION',\n OTHER = 'OTHER',\n REBOOTING_TIMEOUT = 'REBOOTING_TIMEOUT',\n REPACKAGING = 'REPACKAGING',\n RESULTS_PREPARING = 'RESULTS_PREPARING',\n RESULTS_PROCESSING = 'RESULTS_PROCESSING',\n RESULTS_SENDING = 'RESULTS_SENDING',\n STEP_TIMEOUT = 'STEP_TIMEOUT',\n SYSTEM_FAILURE = 'SYSTEM_FAILURE',\n TEST_RUN_FAILED = 'TEST_RUN_FAILED',\n TEST_RUN_INTERRUPTED = 'TEST_RUN_INTERRUPTED',\n TEST_RUN_TIMEOUT = 'TEST_RUN_TIMEOUT',\n TEST_RUN_WARNED = 'TEST_RUN_WARNED',\n TEST_TIMEOUT = 'TEST_TIMEOUT',\n VNC_CONNECTION_SETUP_FAILED = 'VNC_CONNECTION_SETUP_FAILED',\n XCRUN_INSTRUMENTS_COMMAND_FAILED = 'XCRUN_INSTRUMENTS_COMMAND_FAILED',\n XCRUN_INSTRUMENTS_JS_ERROR = 'XCRUN_INSTRUMENTS_JS_ERROR'\n}\n\nexport type AdminError = {\n id: number;\n quantity: number;\n type: AdminErrorType;\n}\n","import {DeviceSessionState} from './DeviceSession';\nimport {OsType} from './Enum';\n\nexport enum FrameworkType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport type AdminFrameworkStatistics = {\n cloudName: string;\n count: number;\n day: number;\n deviceModelId: number;\n deviceModelName: string;\n frameworkId: number;\n frameworkName: string;\n id: number;\n osType: OsType;\n releaseVersion: string;\n state: DeviceSessionState;\n type: FrameworkType;\n userEmail: string;\n userId: number;\n}\n","import {PaymentMethod} from './AccountService';\nimport {DeviceSessionType} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {QueryParams} from './HTTP';\n\nexport enum BillingType {\n BUY = 'BUY',\n CHARGE = 'CHARGE',\n CANCEL = 'CANCEL'\n}\n\nexport type BillingPeriod = {\n accountServiceId: number;\n additionalHours: number;\n additionalHoursPrice: number;\n apiBillingPeriodType: BillingType;\n createTime: number;\n endBillingPeriod: number;\n id: number;\n lastPaymentDate: number;\n paid: boolean;\n paymentMethod: PaymentMethod;\n plan: string;\n servicePrice: number;\n startBillingPeriod: number;\n subscriptionEnd: number;\n subscriptionStart: number;\n totalPrice: number;\n usages: Array;\n}\n\nexport type BillingPeriodUsage = {\n billableSeconds: number;\n id: number;\n nonBillableSeconds: number;\n osType: OsType;\n type: DeviceSessionType;\n}\n\nexport interface BillingPeriodQueryParams extends QueryParams {\n onDate: number;\n}\n","export enum BrokerType {\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP'\n}\n\nexport type Broker = {\n id: number;\n location: string;\n type: BrokerType;\n url: string;\n}\n","\nimport {AdminDevice} from './AdminDevice';\nimport {CollectionResponse, QueryParams} from './HTTP';\n\nexport type Cluster = {\n devices: CollectionResponse;\n enabled: boolean;\n id: number;\n ipAddress: string;\n jenkinsUrl: string;\n location: string;\n name: string;\n pluginVersion: string;\n region: string;\n state: ClusterState;\n stateChangeTime: number;\n stateTime: number;\n url: string;\n}\n\nexport enum ClusterState {\n 'OFFLINE',\n ONLINE = 'ONLINE',\n RESTARTING = 'RESTARTING',\n QUIET_DOWN = 'QUIET_DOWN',\n MAINTENANCE = 'MAINTENANCE'\n}\n\nexport interface ClusterParams extends QueryParams {\n withDevices: boolean;\n}\n\nexport type ClusterData = Pick & {\n quietDown: boolean;\n restart: boolean;\n turnMaintenance: boolean;\n}\n","import {Browser} from './Browser';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, QueryParams} from './HTTP';\nimport {TestRunsQueryParams} from './TestRun';\n\n\nexport enum DeviceGroupOrigin {\n STATIC = 'STATIC',\n DYNAMIC = 'DYNAMIC',\n HYBRID = 'HYBRID'\n}\n\nexport enum Platform {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n WINDOWS = 'WINDOWS',\n MAC = 'MAC',\n LINUX = 'LINUX',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport enum SupportedCreators {\n MANUAL = 'MANUAL',\n ROBOT = 'ROBOT',\n AUTOMATIC = 'AUTOMATIC'\n}\n\nexport type DeviceProperty = {\n displayName: string;\n id: number;\n labelGroupName: string;\n name: string;\n propertyGroupId: number;\n propertyGroupName: string;\n}\n\nexport type SoftwareVersion = {\n apiLevel: number;\n id: number;\n releaseVersion: string;\n}\n\nexport type Device = {\n accountId: number;\n accountName: string;\n available: boolean;\n browsers: CollectionResponse;\n creditsPrice: number;\n deviceGroupOrigin: DeviceGroupOrigin;\n displayName: string;\n enabled: boolean;\n frame100Url: string;\n frame160Url: string;\n frame400Url: string;\n frame80Url: string;\n frameExtraWidth: number;\n id: number;\n imageHeight: number;\n imageLeft: number;\n imagePrefix: string;\n imageTop: number;\n imageWidth: number;\n locked: boolean;\n manufacturer: string;\n online: boolean;\n osType: OsType;\n platform: Platform;\n properties: CollectionResponse;\n softwareVersion: SoftwareVersion;\n supportedCreators: Array;\n}\n\nexport type DeviceCleanupConfiguration = {\n content: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n discriminator: string;\n enabled: boolean;\n global: boolean;\n example: true;\n id: number;\n lastModificationTime: number;\n osType: OsType;\n}\n\nexport type DeviceCleanupConfigurationData = {\n deviceCleanupConfigurationId: number;\n}\n\nexport type DeviceLabelData = {\n labelId: number;\n}\n\nexport interface DeviceProperiesData extends QueryParams {\n labelId: number;\n}\n\nexport interface CleanupConfigurationSpecificData extends QueryParams {\n serialId: string;\n}\n\nexport interface DeviceTimeSummaryQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n}\nexport interface DeviceUsageQueryParams extends TestRunsQueryParams {\n startTime: number;\n}\n\nexport interface DeviceStatisticQueryParam extends TestRunsQueryParams {\n mode: string;\n}\n\nexport interface DevicesQueryParams extends CollectionQueryParams {\n labelIds: Array;\n liveTestingOnly: boolean;\n withBrowsers: boolean;\n withDedicated: boolean;\n withDisabled: boolean;\n withProperties: boolean;\n withSupportedCreators: boolean;\n}\n","export enum CriterionField {\n NAME = 'NAME',\n FINGERPRINT = 'FINGERPRINT',\n SERIAL_ID = 'SERIAL_ID',\n UNLOCK_GESTURE = 'UNLOCK_GESTURE',\n SOFTWARE_VERSION = 'SOFTWARE_VERSION',\n INIT_STEP = 'INIT_STEP',\n ACCOUNT = 'ACCOUNT',\n BROWSERS = 'BROWSERS'\n}\n\nexport type DeviceModelCriterion = {\n createTime: number;\n field: CriterionField;\n id: number;\n labelGroupDisplayName: string;\n labelGroupId: number;\n labelGroupName: string;\n}\n\nexport type DeviceModelCriterionData = Pick;\n","export enum RetentionStrategy {\n CLUSTER_ON_OFF = 'CLUSTER_ON_OFF',\n MIN_FREE_MAX_TOTAL = 'MIN_FREE_MAX_TOTAL',\n POOL_MANAGER_AWARE = 'POOL_MANAGER_AWARE'\n}\n\nexport type DeviceModelPool = {\n createTime: number;\n enabled: boolean;\n id: number;\n location: string;\n maxTotal: number;\n minAvailable: number;\n name: string;\n numberOfBrowsers: number;\n osVersion: string;\n retentionStrategy: RetentionStrategy;\n running: number;\n}\n\nexport type DeviceModelPoolData = Pick;\n","export enum ProblemType {\n CLEANING = 'CLEANING',\n DIRTY = 'DIRTY',\n OFFLINE = 'OFFLINE',\n LOW_BATTERY = 'LOW_BATTERY',\n HIGH_FAIL_RATE = 'HIGH_FAIL_RATE',\n NO_INTERNET_CONNECTION = 'NO_INTERNET_CONNECTION'\n}\n\nexport type DeviceProblem = {\n clusterId: number;\n clusterName: string;\n deviceId: number;\n deviceModelId: number;\n deviceModelName: string;\n deviceName: string;\n id: number;\n problems: Array;\n}\n\nexport type DeviceProblemPair = {\n id: number;\n type: ProblemType;\n value: any;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport type TunnelSettings = {\n domain: string;\n email: string;\n}\n\nexport enum DeviceSessionType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport enum RetryState {\n NONE = 'NONE',\n MANUAL = 'MANUAL',\n AUTO = 'AUTO'\n}\n\nexport enum DeviceSessionState {\n ABORTED = 'ABORTED',\n EXCLUDED = 'EXCLUDED',\n FAILED = 'FAILED',\n RUNNING = 'RUNNING',\n SUCCEEDED = 'SUCCEEDED',\n TIMEOUT = 'TIMEOUT',\n WAITING = 'WAITING',\n WARNING = 'WARNING'\n}\n\nexport enum DeviceSessionStepType {\n WAITING = 'WAITING',\n PREPARING = 'PREPARING',\n UNINSTALL = 'UNINSTALL',\n INSTALL = 'INSTALL',\n RUNNING = 'RUNNING',\n SENDING_RESULTS = 'SENDING_RESULTS',\n PROCESSING_RESULTS = 'PROCESSING_RESULTS'\n}\n\nexport type DeviceSessionConfig = {\n adbVersion: string;\n browserName: string;\n browserVersion: string;\n deviceModelId: number;\n id: number;\n screenResolution: string;\n tunnelSettings: TunnelSettings;\n type: DeviceSessionConfig;\n url: string;\n}\n\nexport type DeviceSession = {\n accountId: number;\n autoRetriesLeftCount: number;\n billable: boolean;\n config: DeviceSessionConfig;\n createTime: number;\n clientSideId: string;\n device: Device;\n deviceInstanceId: number;\n deviceLogFirstTimestamp: number;\n deviceRunId: number;\n deviceTime: number;\n duration: number;\n endTime: number;\n excludeReason: string;\n externalId: string;\n id: number;\n installTime: number;\n name: string;\n projectId: number;\n projectName: string;\n retryState: RetryState;\n rowIndex: number;\n startTime: number;\n state: DeviceSessionState;\n successRatio: number;\n testCaseAllCount: number;\n testCaseFailedCount: number;\n testCasePassedCount: number;\n testCaseSkippedCount: number;\n testCaseSuccessCount: number;\n testRunId: number;\n testRunName: string;\n timeLimit: number;\n type: DeviceSessionType;\n userEmail: string;\n userId: number;\n}\n\nexport type DeviceSessionCommand = {\n duration: number;\n httpMethod: string;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n\nexport type DeviceSessionStep = {\n deviceSessionId: number;\n excludeReason: string;\n failReason: string;\n finishTimeMS: number;\n id: number;\n startTimeMS: number;\n type: DeviceSessionStepType;\n}\n\nexport type DeviceSessionConnection = {\n createTime: number;\n deviceSessionId: number;\n endTime: number;\n externalId: string;\n host: string;\n id: number;\n password: string;\n path: string;\n port: number;\n type: string;\n url: string;\n urlSchema: string;\n}\n\nexport type DeviceSessionData = Omit & {configuration: DeviceSessionConfig};\n\nexport interface DeviceSessionQueryParams extends CollectionBasicQueryParams {\n withProperties: boolean;\n}\n\nexport interface SessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n testRunId: number;\n}\n\nexport interface SessionRunStepQueryParams extends CollectionBasicQueryParams {\n runId: number;\n}\n\nexport interface SessionStepQueryParams extends SessionRunStepQueryParams {\n projectId: number;\n}\n\nexport interface TRunDeviceSessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n}\n\nexport enum SessionReleaseReason {\n INACTIVITY = 'INACTIVITY',\n TIMEOUT = 'TIMEOUT',\n USER_ACTION = 'USER_ACTION',\n CHANGE_DEVICE = 'CHANGE_DEVICE',\n WEBSOCKET_CLOSED = 'WEBSOCKET_CLOSED'\n}\n\nexport type DeviceSessionRelease = {\n reason: SessionReleaseReason;\n}\n","export enum OsType {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n DESKTOP = 'DESKTOP',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport type Enum = {\n id: number;\n value: string;\n}\n","export enum LicenseStatus {\n ACTIVE = 'ACTIVE',\n EXPIRED = 'EXPIRED',\n INACTIVE = 'INACTIVE',\n CLOSED = 'CLOSED'\n}\n\nexport type BaseLicense = {\n enabled: boolean;\n};\n\nexport type FeatureLicense = {\n deviceLimit: number;\n deviceLimited: boolean;\n projectLimit: number;\n projectLimited: boolean;\n};\n\nexport type AndroidLicense = BaseLicense & FeatureLicense & {\n cts: CTSLicense;\n uiAutomator: UIAutomatorLicense;\n};\n\nexport type BuildLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type DesktopLicense = BaseLicense & FeatureLicense;\n\nexport type GlobalLicense = FeatureLicense;\n\nexport type InspectorLicense = BaseLicense;\n\nexport type IOSLicense = BaseLicense & FeatureLicense;\n\nexport type RecorderLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type ServerLicense = BaseLicense & {\n androidEnabled: boolean;\n iosEnabled: boolean;\n};\n\nexport type CTSLicense = BaseLicense;\n\nexport type UIAutomatorLicense = BaseLicense;\n\nexport type License = {\n activateTime: number;\n android: AndroidLicense;\n build: BuildLicense;\n closeTime: number;\n desktop: DesktopLicense;\n expireTime: number;\n global: GlobalLicense;\n id: number;\n inspector: InspectorLicense;\n ios: IOSLicense;\n privateInstance: boolean;\n recorder: RecorderLicense;\n server: ServerLicense;\n status: LicenseStatus;\n userEmail: string;\n userId: number;\n}\n\nexport type LicenseData = Pick & {\n androidDeviceLimit: number;\n androidEnabled: boolean;\n androidProjectLimit: number;\n buildEnabled: boolean;\n buildLimit: number;\n desktopDeviceLimit: number;\n desktopEnabled: boolean;\n desktopProjectLimit: number;\n globalDeviceLimit: number;\n globalProjectLimit: number;\n inspectorEnabled: boolean;\n iosDeviceLimit: number;\n iosEnabled: boolean;\n iosProjectLimit: number;\n privateInstance: boolean;\n unit: string;\n unitCount: number;\n}\n","export type Maintenance = {\n enabled: boolean;\n id: number;\n}\n\nexport enum MaintenanceType {\n BARE_METAL = 'BARE_METAL',\n EC2 = 'EC2',\n VM = 'VM'\n}\n\nexport type MaintenanceData = {\n enabled: boolean;\n type: MaintenanceType;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum NotificationChannel {\n SLACK = 'SLACK',\n EMAIL = 'EMAIL',\n WEBHOOK = 'WEBHOOK'\n}\n\nexport enum NotificationScope {\n ALL = 'ALL',\n TEST_RUN = 'TEST_RUN',\n TEST_RUN_FAILURE = 'TEST_RUN_FAILURE',\n TEST_RUN_SUCCEEDED = 'TEST_RUN_SUCCEEDED',\n MAINTENANCE = 'MAINTENANCE',\n MAINTENANCE_RELEASE = 'MAINTENANCE_RELEASE',\n CUSTOM = 'CUSTOM',\n NEWS = 'NEWS',\n SYSTEM = 'SYSTEM',\n CHECK = 'CHECK',\n PLAN_LIMIT_REACHED = 'PLAN_LIMIT_REACHED',\n PLAN_INVOICE = 'PLAN_INVOICE'\n}\n\nexport type Notification = {\n channel: NotificationChannel;\n destination: string;\n id: number;\n projectId?: number;\n projectName?: string;\n scope: NotificationScope;\n userEmail: string;\n userId: number;\n}\n\nexport interface NotificationData extends QueryParams {\n scope: NotificationScope;\n}\n\nexport type NotificationsData = Pick;\n","import {OsType} from './Enum';\nimport {TestRunsQueryParams} from './TestRun';\n\nexport enum ArchivingStrategy {\n NEVER = 'NEVER',\n DAYS = 'DAYS',\n RUNS = 'RUNS'\n}\n\nexport type Project = {\n archiveTime: number;\n archivingItemCount: number;\n archivingStrategy: ArchivingStrategy;\n common: boolean;\n createTime: number;\n description: string;\n id: number;\n name: string;\n osType: OsType;\n readOnly: boolean;\n rowIndex: number;\n shared: boolean;\n sharedByEmail: string;\n sharedById: number;\n sharedWithCaller: boolean;\n successRatio: number;\n userEmail: string;\n userId: number;\n}\n\nexport type UserProjectData = Pick;\n\nexport interface UserProjectQueryParams extends TestRunsQueryParams {\n showStatistics: boolean;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport enum ScreenshotType {\n LANDSCAPE = 'LANDSCAPE',\n PORTRAIT = 'PORTRAIT'\n}\n\nexport type Screenshot = {\n fail: boolean;\n id: number;\n originalName: string;\n takeTimestamp: number;\n type: ScreenshotType;\n}\n\nexport type ScreenshotExtended = Screenshot & {\n device: Device;\n deviceRunId: number;\n projectId: number;\n testRunId: number;\n}\n\nexport interface ScreenshotQueryParams extends CollectionBasicQueryParams {\n name: string;\n}\n","import {ChargeType, PaymentMethod} from './AccountService';\nimport {CollectionQueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport type Service = {\n activateTime: number;\n activated: boolean;\n archiveTime: number;\n autoRenew: boolean;\n centPrice: number;\n chargeType: ChargeType;\n commonId: string;\n customPlan: boolean;\n defaultConcurrences: Array;\n description: string;\n externalId: string;\n features: string;\n id: number;\n includedHours: number;\n name: string;\n pricePerHour: number;\n priceString: string;\n roles: Array;\n unit: ServiceUnit;\n}\n\nexport enum ServiceUnit {\n DAY = 'DAY',\n HOUR = 'HOUR',\n MONTH = 'MONTH',\n PROJECT = 'PROJECT',\n RUN = 'RUN',\n YEAR = 'YEAR'\n}\n\nexport interface AdminServicesParams extends CollectionQueryParams {\n activeOnly: boolean;\n inUse: boolean;\n notArchive: boolean;\n}\n\nexport type ServiceActivateData = {\n activateTime: number;\n}\n\nexport interface ServiceData {\n address?: string;\n braintreeNonce?: string;\n cardNumber?: string;\n city?: string;\n count?: number;\n country?: string;\n cvv?: string;\n email?: string;\n expirationDate?: string;\n firstName?: string;\n lastName?: string;\n organization?: string;\n paymentMethod: PaymentMethod;\n phone?: string;\n serviceId: number;\n state?: string;\n stripeToken?: string;\n vatId?: string;\n zip?: string;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum SharedResourceType {\n DEVICE_GROUP = 'DEVICE_GROUP',\n FILE = 'FILE',\n PROJECT = 'PROJECT',\n}\n\nexport type SharedResource = {\n id: number;\n name: string;\n resourceId: number;\n type: SharedResourceType;\n}\n\nexport interface ShareData extends QueryParams {\n accessGroupId: number;\n email: string;\n}\n","import {Method} from 'axios';\nimport {CollectionResponse} from './HTTP';\n\n\nexport enum TestResult {\n PASSED = 'PASSED',\n FAILED = 'FAILED',\n SKIPPED = 'SKIPPED',\n NOT_AVAILABLE = 'NOT_AVAILABLE'\n}\n\nexport type TestCaseRun = {\n className: string;\n createTime: number;\n duration: number;\n errorMessage: string;\n id: number;\n methodName: string;\n result: TestResult;\n stacktrace: string;\n steps: CollectionResponse;\n suiteName: string;\n}\n\nexport type TestCaseRunStep = {\n duration: number;\n httpMethod: Uppercase;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n","import {Device} from './Device';\nimport {TunnelSettings} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, QueryParams} from './HTTP';\nimport {Tag} from './Tag';\n\n\nexport enum LimitationType {\n PACKAGE = 'PACKAGE',\n CLASS = 'CLASS'\n}\n\nexport enum TestScheduler {\n PARALLEL = 'PARALLEL',\n SERIAL = 'SERIAL',\n SINGLE = 'SINGLE',\n ALL_INSTANCES = 'ALL_INSTANCES'\n}\n\nexport enum TestState {\n WAITING = 'WAITING',\n RUNNING = 'RUNNING',\n FINISHED = 'FINISHED'\n}\n\n\nexport type TestRun = {\n abortedDeviceCount: number;\n billable: boolean;\n config: TestRunConfig;\n createTime: number;\n deviceCount: number;\n displayName: string;\n errorsDeviceCount: number;\n excludedDeviceCount: number;\n executedTestCaseCount: number;\n executionRatio: number;\n failedTestCaseCount: number;\n finishedDeviceCount: number;\n frameworkId: number;\n frameworkName: string;\n id: number;\n logsFileId: number;\n message: string;\n 'number': number;\n projectId: number;\n projectName: string;\n rowIndex: number;\n runningDeviceCount: number;\n screenshotsFileId: number;\n startTime: number;\n startedByDisplayName: string;\n startedById: number;\n state: TestState;\n succeededDeviceCount: number;\n successRatio: number;\n successfulTestCaseCount: number;\n tags: Array;\n testCaseCount: number;\n timeoutedDeviceCount: number;\n totalDeviceCount: number;\n uiLink: string;\n userId: number;\n waitingDeviceCount: number;\n warningDeviceCount: number;\n}\n\nexport type TestRunConfig = {\n appCrawlerRun: boolean;\n appiumBrokerAddress: string;\n applicationPassword: string;\n applicationUsername: string;\n availableDeviceGroups: any;\n availableDevices: Array;\n availableFrameworks: any;\n availableOsTypes: Array;\n clientSideTestConfig: any;\n computedDevices: Array;\n creditsPrice: number;\n deviceGroupId: number;\n deviceIds: any;\n deviceLanguageCode: string;\n deviceNamePattern: string;\n disableResigning: boolean;\n files: any;\n frameworkId: number;\n hookURL: string;\n id: number;\n instrumentationRunner: string;\n limitationType: LimitationType;\n limitationValue: string;\n loadedPrevious: boolean;\n example: true;\n maxAutoRetriesCount: number;\n maxTestTimeout: any;\n osType: OsType;\n projectId: number;\n projectName: string;\n resignFiles: boolean;\n runAvailable: boolean;\n scheduler: TestScheduler;\n screenshotDir: string;\n status: string;\n statusCode: number;\n testRunId: number;\n testRunName: string;\n testRunNameGrouping: string;\n testRunParameters: any;\n timeout: number;\n tunnelSettings: TunnelSettings;\n useSamples: boolean;\n usedDeviceGroupId: number;\n usedDeviceGroupName: string;\n videoRecordingEnabled: boolean;\n withAnnotation: string;\n withoutAnnotation: string;\n}\n\nexport interface TestRunData extends QueryParams {\n displayName: string;\n}\n\nexport interface RunData extends TestRunData {\n projectId: number;\n}\n\nexport interface RunQueryParam extends QueryParams {\n projectId: number;\n}\n\nexport interface TestRunsData {\n configuration: TestRunConfig;\n}\n\nexport interface TestRunsConfigData extends TestRunsData {\n includeDeviceGroups: boolean;\n includeDevices: boolean;\n includeFrameworks: boolean;\n}\n\n// for users/{userid}/runs\nexport interface TestRunsQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n skipCommonProject: boolean;\n skipShared: boolean;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport enum MfaStatus {\n VERIFICATION_NEED = 'VERIFICATION_NEED',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport enum UserStatus {\n INACTIVE = 'INACTIVE',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport type User = {\n accountId: number;\n accountName: string;\n userAccountName: string;\n accountOwners: Array;\n accountServiceIds: Array;\n address: string;\n apiKey: string;\n city: string;\n code: string;\n country: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n deleteTime: number;\n email: string;\n enabled: boolean;\n firstName: string;\n id: number;\n isAccountOwner: boolean;\n lastLaunchedTestTime: number;\n lastLoginTime: number;\n lastName: string;\n mfaQRCodeUrl: string;\n mfaStatus: MfaStatus;\n organization: string;\n phone: string;\n registrationIP: string;\n roles: Array;\n serviceIds: Array;\n state: string;\n status: UserStatus;\n timeZone: string;\n vatId: string;\n}\n\nexport type UserData = Pick;\n\nexport interface UserParams extends CollectionQueryParams {\n WITH_ADDRESS: boolean;\n WITH_USER_INFO: boolean;\n onlyMainUsers: boolean;\n onlyWithDisabledServices: boolean;\n withRole: string;\n withRoles: boolean;\n}\n\nexport type UserUpdateAccount = Pick;\n\nexport type UserDeleteData = {\n password: string;\n}\n\nexport interface LoginData {\n username: string;\n password: string;\n}\n\n\nexport type UserPasswordData = {\n key: string;\n password: string;\n};\nexport type UserActivateData = {\n zip: string;\n} & UserPasswordData\n & Pick;\n\nexport interface UserRecoveryQueryParams extends QueryParams {\n recoveryKey: string;\n}\n\nexport interface ValidateVatQueryParams extends QueryParams {\n countryCode: string;\n vatId: string;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\n\n\nexport enum FileDirection {\n INPUT = 'INPUT',\n OUTPUT = 'OUTPUT'\n}\n\nexport enum FileInputType {\n APPLICATION = 'APPLICATION',\n TEST = 'TEST',\n DATA = 'DATA'\n}\n\nexport enum FileState {\n PREPARING = 'PREPARING',\n READY = 'READY'\n}\n\nexport type FileProperty = {\n id: number;\n key: string;\n value: string;\n};\n\nexport type UserFileTag = {\n id: number;\n name: string;\n}\n\nexport type UserFile = {\n createTime: number;\n directUrl: string;\n direction: FileDirection;\n duplicate: boolean;\n fileProperties: Array;\n iconDirectUrl: string;\n id: number;\n inputType: FileInputType;\n mimetype: string;\n name: string;\n shared: boolean;\n size: number;\n state: FileState;\n userEmail: string;\n userId: number;\n};\n\nexport interface UserFileParams extends CollectionQueryParams {\n tag: Array;\n}\n\nexport type UserFileData = {\n file: FormData;\n global: boolean;\n}\n\nexport type BuildLogsData = {\n deviceRunIds: Array;\n projectId: number;\n userId: number;\n}\n\nexport type BuildLogsParams = BuildLogsData;\n\nexport interface FileSizeData extends QueryParams {\n height: number;\n width: number;\n}\n\nexport type UploadObj = {\n dir: string;\n filename: string;\n}\n\nexport interface FileData {\n file: Blob;\n global: boolean;\n}\n","export enum VisualTestImageType {\n FULL_PAGE = 'FULL_PAGE',\n VIEWPORT = 'VIEWPORT',\n ELEMENT_SCREENSHOT = 'ELEMENT_SCREENSHOT'\n}\n\nexport type VisualTestAccess = {\n enabled: boolean;\n apiKey: string | null;\n}\n\nexport type VisualTest = {\n comparisonStatus:\tstring;\n appUrl:\tstring;\n createdAt:\tstring;\n id: number;\n imageName:\tstring;\n imageThumbnailUrl:\tstring;\n imageType:\tVisualTestImageType;\n imageUrl:\tstring;\n sessionId:\tstring;\n testUrl:\tstring;\n}\n"],"names":["Filter","constructor","name","value","operand","this","finka","FilterBuilder","filters","gt","add","lt","after","afterorequal","before","beforeorequal","on","eq","contains","like","notlike","isnull","undefined","isnotnull","in","notin","raw","filter","Array","wrap","isFilterPart","SyntaxError","push","str","test","toString","parts","part","val","length","join","checkNull","_value","i","v","Date","getTime","isNull","item","endsWith","ALLOWED_HTTP_METHODS","APIOrder","exports","APIEntity","parent","stack","requestConfig","root","isArray","setRequestConfig","abortController","AbortController","abortRequest","abort","items","concat","shift","restack","first","last","toUrl","absolute","url","baseUrl","Object","deepAssign","removeRequestConfig","key","headers","_headers","replace","letter","toUpperCase","method","NAME","toLocaleUpperCase","indexOf","Error","get","post","delete","params","getParams","removeParam","data","jsonData","formData","send","signal","startsWith","paramsSerializer","axios","request","stringify","arrayFormat","APIList","all","noLimit","cut","between","create","sort","order","asc","limit","Number","isNatural","getLimit","offset","from","to","only","idx","page","search","query","APIResource","APIListCleanupConfigurations","super","specific","APIResourceCleanupConfiguration","id","devices","APIAdminListDevices","cleanupConfigurations","cleanupConfiguration","APIAdminListNotificationPlans","channels","scopes","APIAdminListRuns","config","apiResource","APIAdminListServices","active","apiList","notArchived","activated","inUse","byPrice","NonRequestable","Promise","reject","APIAdminListStatistics","deviceSessions","frameworks","__decorate","APIAdminResourceAccount","roles","role","accountServices","preferences","APIAdminResourceAccountService","activate","deactivate","APIAdminResourceCluster","APIAdminResourceDevice","labels","label","queue","APIAdminResourceDeviceModel","browsers","InputFileset","files","filesZip","IMAGE_FILES_FILTER","NON_MEDIA_FILES_FILTER","OutputFileset","file","screenshots","screenshot","screenshotFile","videos","tag","nonMediaFiles","performance","images","APIResourceDeviceSessionCommon","commands","input","output","release","steps","step","currentStep","testCaseRuns","connections","logs","responseType","clusterLogs","APIAdminResourceDeviceSessionStandalone","changeBillable","billable","deviceSessionId","postAdminDeviceSessionChangeBillable","APIAdminResourceDeviceTime","countSessionReport","stepTimeReport","APIAdminResourceFramework","requiredRoles","APIAdminResourceLicense","resend","download","APIAdminResourceNotificationPlan","check","execute","postDeviceRunIds","ids","a","deviceRunIds","APIAdminResourceRunStandalone","changePriority","priority","resource","retry","timeout","APIAdminResourceService","APIAdminResourceUserAccount","services","update","APIResourceDeviceSessionStandalone","connection","visualTestsImages","APIAdminResourceUser","disable","enable","licenses","resendActivation","account","deviceSession","APIResourceAccessGroup","users","user","resources","APIResourceDeviceGroup","device","selectors","selector","share","APIResourceFile","icon","tags","property","APIResourceDeviceSession","APIResourceRunCommon","buildLogsZip","dataAvailability","logsZip","performanceZip","screenshotNames","screenshotsZip","APIResourceRun","APIResourceProject","runs","run","unarchive","APIAdminResource","accessGroups","accessGroup","accounts","accountService","activities","administrators","billingPeriods","billingPeriod","browser","clusters","cluster","countryVatRates","countryVatRate","devicesForModel","deviceStatuses","deviceModels","deviceModel","deviceProblems","deviceModelCriterias","deviceModelCriteria","deviceTime","deviceTimeSummary","deviceTypes","deviceType","deviceGroups","deviceGroup","emails","resendEmail","errors","framework","frameworkAvailableLabels","interactiveQueue","license","maintenance","notificationPlans","notificationPlan","overview","pools","pool","projects","project","samples","sample","service","settings","statistics","createUser","APIListDevices","desktopBrowserCapabilities","APIListProperties","APIListServices","available","availableByPrice","APIListUsers","recoveries","passwordRecovery","APIResourceBillingPeriod","receipt","APIResourceAccount","concurrencyStatus","removeUser","disableUser","enableUser","serviceBillingPeriod","visualTestAccess","APIResourceBroker","hubs","APIResourceDevice","properties","APIResourceLabelGroup","APIListFiles","upload","obj","global","isNodeJs","nodeUpload","fs","require","form","append","createReadStream","dir","filename","getHeaders","APIResourceChannel","type","APIListNotifications","channel","APIListRuns","APIListSmartbearTunnels","APIResourceNotification","APIResourceUser","TypeError","markAccountOwner","availableFrameworks","resetApiKey","restore","feedback","notifications","notification","uiPreferences","deviceUsage","deviceStatistics","smartbearTunnel","smartbearTunnels","deleteAccount","APIResourceUserSession","login","logout","sso","portalLogin","sbidCallbackUrl","globalThis","defaults","common","maxContentLength","API","axiosConfig","cloudUrl","baseURL","v2","apiKey","auth","username","password","withCredentials","admin","broker","enums","labelGroups","labelGroup","ma","me","userSession","CloudAPIClient","AccessGroupScope","PaymentStatus","PaymentMethod","ChargeType","DeactivateReason","InitStep","DeviceState","AdminErrorType","FrameworkType","BillingType","BrokerType","ClusterState","DeviceGroupOrigin","Platform","SupportedCreators","CriterionField","RetentionStrategy","ProblemType","DeviceSessionType","RetryState","DeviceSessionState","DeviceSessionStepType","SessionReleaseReason","OsType","LicenseStatus","MaintenanceType","NotificationChannel","NotificationScope","ArchivingStrategy","ScreenshotType","ServiceUnit","SharedResourceType","TestResult","LimitationType","TestScheduler","TestState","MfaStatus","UserStatus","FileDirection","FileInputType","FileState","VisualTestImageType"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"bitbar-cloud-api-client.min.js","sources":["../src/Filter.ts","../src/finka.ts","../src/FilterBuilder.ts","../src/api/models/HTTP.ts","../src/api/APIEntity.ts","../src/api/APIList.ts","../src/api/APIResource.ts","../src/api/APIListCleanupConfigurations.ts","../src/api/APIResourceCleanupConfiguration.ts","../src/api/APIAdminListDevices.ts","../src/api/APIAdminListNotificationPlans.ts","../src/api/APIAdminListRuns.ts","../src/api/APIAdminListServices.ts","../src/api/decorators/NonRequestable.ts","../src/api/APIAdminListStatistics.ts","../src/api/APIAdminResourceAccount.ts","../src/api/APIAdminResourceAccountService.ts","../src/api/APIAdminResourceCluster.ts","../src/api/APIAdminResourceDevice.ts","../src/api/APIAdminResourceDeviceModel.ts","../src/api/class/InputFileset.ts","../src/api/class/Images.filter.ts","../src/api/class/NonMedia.filter.ts","../src/api/class/OutputFileset.ts","../src/api/APIResourceDeviceSessionCommon.ts","../src/api/APIAdminResourceDeviceSessionStandalone.ts","../src/api/factory/postAdminDeviceSessionChangeBillable.ts","../src/api/APIAdminResourceDeviceTime.ts","../src/api/APIAdminResourceFramework.ts","../src/api/APIAdminResourceLicense.ts","../src/api/APIAdminResourceNotificationPlan.ts","../src/api/factory/postDeviceRunIds.ts","../src/api/APIAdminResourceRunStandalone.ts","../src/api/APIAdminResourceService.ts","../src/api/APIAdminResourceUserAccount.ts","../src/api/APIResourceDeviceSessionStandalone.ts","../src/api/APIAdminResourceUser.ts","../src/api/APIResourceAccessGroup.ts","../src/api/APIResourceDeviceGroup.ts","../src/api/APIResourceFile.ts","../src/api/APIResourceDeviceSession.ts","../src/api/APIResourceRunCommon.ts","../src/api/APIResourceRun.ts","../src/api/APIResourceProject.ts","../src/api/APIAdminResource.ts","../src/api/APIListDevices.ts","../src/api/APIListProperties.ts","../src/api/APIListServices.ts","../src/api/APIListUsers.ts","../src/api/APIResourceBillingPeriod.ts","../src/api/APIResourceAccount.ts","../src/api/APIResourceBroker.ts","../src/api/APIResourceDevice.ts","../src/api/APIResourceLabelGroup.ts","../src/api/APIListFiles.ts","../src/api/APIResourceChannel.ts","../src/api/APIListNotifications.ts","../src/api/APIListRuns.ts","../src/api/APIListSmartbearTunnels.ts","../src/api/APIResourceNotification.ts","../src/api/APIResourceUser.ts","../src/api/APIResourceUserSession.ts","../src/API.ts","../src/CloudAPIClient.ts","../src/api/models/AccessGroup.ts","../src/api/models/AccountService.ts","../src/api/models/AdminDevice.ts","../src/api/models/AdminError.ts","../src/api/models/AdminFrameworkStatistics.ts","../src/api/models/BillingPeriod.ts","../src/api/models/Broker.ts","../src/api/models/Cluster.ts","../src/api/models/Device.ts","../src/api/models/DeviceModelCriterion.ts","../src/api/models/DeviceModelPool.ts","../src/api/models/DeviceProblem.ts","../src/api/models/DeviceSession.ts","../src/api/models/Enum.ts","../src/api/models/License.ts","../src/api/models/Maintenance.ts","../src/api/models/Notification.ts","../src/api/models/Project.ts","../src/api/models/Screenshot.ts","../src/api/models/Service.ts","../src/api/models/SharedResource.ts","../src/api/models/TestCaseRun.ts","../src/api/models/TestRun.ts","../src/api/models/User.ts","../src/api/models/UserFile.ts","../src/api/models/VisualTest.ts"],"sourcesContent":["/**\n * Filter\n */\n\nexport class Filter {\n name: string;\n value: T;\n operand: string;\n\n constructor(name: string, value: T, operand: string) {\n this.name = name;\n this.value = value;\n this.operand = operand;\n }\n}\n\nexport default Filter;\n","import finka from '@bitbar/finka';\n\nfinka();\n\nexport default {};\n","import {Filter} from './Filter';\nimport './finka';\n\n/**\n * FilterBuilder\n *\n * Builds filter string according to Bitbar Cloud backend convention\n */\nexport class FilterBuilder {\n\n private readonly filters: Array = [];\n\n gt(name: string, value: number): this {\n return this.add(name, value, 'gt');\n }\n\n\n lt(name: string, value: number): this {\n return this.add(name, value, 'lt');\n }\n\n after(name: string, value: Date | number): this {\n return this.add(name, value, 'after', true);\n }\n\n afterorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'afterorequal', true);\n }\n\n before(name: string, value: Date | number): this {\n return this.add(name, value, 'before', true);\n }\n\n beforeorequal(name: string, value: Date | number): this {\n return this.add(name, value, 'beforeorequal', true);\n }\n\n on(name: string, value: any): this {\n return this.add(name, value, 'on');\n }\n\n eq(name: string, value: any): this {\n return this.add(name, value, 'eq');\n }\n\n contains(name: string, value: string): this {\n return this.add(name, value, 'contains');\n }\n\n like(name: string, value: string): this {\n return this.add(name, value, 'like');\n }\n\n notlike(name: string, value: string): this {\n return this.add(name, value, 'notlike');\n }\n\n isnull(name: string): this {\n return this.add(name, undefined, 'isnull');\n }\n\n isnotnull(name: string): this {\n return this.add(name, undefined, 'isnotnull');\n }\n\n in(name: string, value: Array): this {\n return this.add(name, value, 'in', true);\n }\n\n notin(name: string, value: Array): this {\n return this.add(name, value, 'notin', true);\n }\n\n raw(filter: Filter | string | Filter[] | string[]): void {\n const filters = Array.wrap(filter);\n for (const filter of filters) {\n if (this.isFilterPart(filter)) {\n this.filters.push(filter);\n } else {\n throw new SyntaxError(`Filter ${filter} has invalid syntax`);\n }\n }\n }\n\n\n /**\n * Check if given string is proper filter part\n */\n isFilterPart(str: string): boolean {\n return /^[a-zA-Z0-9.]{2,12}_(?:isnull$|(?:gt|lt|(?:after|before)(?:orequal)?|on|eq|contains|like|(?:not)?in)_)/.test(str);\n }\n\n toString(): string {\n const parts: Array = [];\n\n let part: string,\n val: string;\n\n for (const filter of this.filters) {\n if (typeof filter === 'string') {\n part = filter;\n } else {\n val = '';\n if (filter.value.length > 1 || typeof filter.value[0] !== 'undefined') {\n val = `_${filter.value.join('|')}`;\n }\n part = `${filter.name}_${filter.operand}${val}`;\n }\n parts.push(part);\n }\n\n return parts.join(';');\n }\n\n /**\n * Add filter to filters list\n * @param name {string} Name\n * @param value {*} Value\n * @param operand {string} Operand\n * @param [checkNull=false] {boolean} Check null?\n * @returns {FilterBuilder}\n */\n private add(name: string, value: T, operand: string, checkNull = false): this {\n\n let _value = Array.wrap(value);\n\n if (_value.length === 0) {\n return this;\n }\n\n // auto-convert\n for (let i = 0; i < _value.length; i++) {\n const v = _value[i];\n if (typeof v === 'object' && v instanceof Date) {\n _value[i] = v.getTime();\n }\n }\n\n let isNull = false;\n if (checkNull) {\n // check null existence\n for (const v of _value) {\n if (v !== null) {\n continue;\n }\n isNull = true;\n }\n\n if (isNull) {\n _value = _value.filter((item: any) => item !== null);\n operand += 'ornull';\n }\n }\n\n if (operand.endsWith('ornull') && _value.length === 0) {\n operand = 'isnull';\n }\n\n // add filter\n this.filters.push(new Filter>(name, _value, operand));\n\n return this;\n }\n}\n\n\nexport default FilterBuilder;\n","import {Method} from 'axios';\n\n\n/**\n * Allowed methods\n *\n * @constant\n * @type {Array}\n * @default\n */\nexport const ALLOWED_HTTP_METHODS: Array = ['GET', 'POST', 'DELETE'];\n\nexport type QueryParam = string | number | boolean;\nexport type QueryParams = Record>;\n\nexport enum APIOrder {\n asc = 'a',\n desc = 'd'\n}\n\nexport interface CollectionQueryParams extends QueryParams {\n filter: string;\n limit: number;\n offset: number;\n sort: string;\n search: string;\n}\n\nexport type CollectionBasicQueryParams = Omit\n\nexport type NoQueryParams = {\n [key in any]: never;\n}\n\nexport type CollectionResponse = {\n data: Array;\n empty: boolean;\n id: number;\n limit: number;\n next: string;\n offset: number;\n previous: string;\n search: string;\n sort: string;\n total: number;\n}\n\nexport type SimpleCollectionResponse = Pick, 'data' | 'id'>;\nexport type NoData = void;\n","import {AxiosRequestConfig, AxiosResponse, Method} from 'axios';\nimport {stringify} from 'qs';\nimport {API} from '../API';\nimport {ALLOWED_HTTP_METHODS, QueryParams} from './models/HTTP';\nimport {AbortController} from 'node-abort-controller';\n\n\n/**\n * @typeParam RESPONSE HTTP Response return type.\n * @typeParam QUERY_PARAMS Allowed Query Params\n * @typeParam DATA Allowed Data Object\n */\nexport class APIEntity {\n\n root: API;\n\n protected stack: Array = [];\n protected requestConfig: AxiosRequestConfig = {};\n protected ALLOWED_HTTP_METHODS: Array = ALLOWED_HTTP_METHODS;\n protected abortController: AbortController;\n\n /**\n * Constructor\n * @param {APIEntity|object} [parent] - Specifies a parent from which should be inherited properties\n */\n constructor(parent: APIEntity | API) {\n if (parent instanceof APIEntity) {\n this.root = parent.root;\n\n if (Array.isArray(parent.stack)) { //???\n this.push(...parent.stack);\n }\n\n if (parent.requestConfig != null) {\n this.setRequestConfig(parent.requestConfig);\n }\n } else {\n this.root = parent;\n }\n this.abortController = new AbortController();\n }\n\n abortRequest() {\n this.abortController.abort();\n this.abortController = new AbortController();\n }\n\n push(...items: Array): this {\n this.stack = this.stack.concat(items);\n return this;\n }\n\n shift(): this {\n this.stack.shift();\n return this;\n }\n\n restack(...items: Array): this {\n this.stack = items;\n return this;\n }\n\n /**\n * Get first element of the stack\n */\n get first(): string | number {\n return this.stack[0];\n }\n\n /**\n * Get last element of the stack\n */\n get last(): string | number {\n return this.stack[this.stack.length - 1];\n }\n\n /**\n * Set last element of the stack\n */\n set last(val) {\n this.stack[this.stack.length - 1] = val;\n }\n\n toUrl(absolute = false): string {\n let url = `/${this.stack.join('/')}`;\n\n if (absolute) {\n url = this.root.baseUrl + url;\n }\n\n return url;\n }\n\n setRequestConfig(requestConfig: AxiosRequestConfig): this {\n Object.deepAssign(this.requestConfig, requestConfig);\n return this;\n }\n\n removeRequestConfig(key: keyof AxiosRequestConfig): this {\n delete this.requestConfig[key];\n return this;\n }\n\n headers(headers: Record): this {\n const _headers: Record = {};\n\n // Unify/Standarize headers keys\n for (const key in headers) {\n const newKey = key.replace(/(?:^|-)([a-z])/g, (letter) => letter.toUpperCase());\n _headers[newKey] = headers[key];\n }\n\n return this.setRequestConfig({\n headers: _headers\n });\n }\n\n /**\n * Set HTTP method\n */\n method(name: Method): this {\n const NAME: Uppercase = >name.toLocaleUpperCase();\n const isAllowed: boolean = this.ALLOWED_HTTP_METHODS.indexOf(NAME) > -1;\n\n if (!isAllowed) {\n throw new Error(`Method '${NAME}' is not allowed! You can use: ${this.ALLOWED_HTTP_METHODS.join(', ')}`);\n }\n\n return this.setRequestConfig({\n method: NAME\n });\n }\n\n /**\n * Set GET as HTTP method\n */\n get(): this {\n return this.method('GET');\n }\n\n /**\n * Set POST as HTTP method\n */\n post(): this {\n return this.method('POST');\n }\n\n /**\n * Set DELETE as HTTP method\n */\n delete(): this {\n return this.method('DELETE');\n }\n\n /**\n * Set params\n */\n params(params: Pick): this {\n this.setRequestConfig({params});\n return this;\n }\n\n getParams(): Partial {\n return this.requestConfig.params == null ? {} : this.requestConfig.params;\n }\n\n removeParam(key: keyof QUERY_PARAMS): this {\n delete this.requestConfig.params[key];\n return this;\n }\n\n /**\n * Set data\n */\n data(data: DATA): this {\n this.setRequestConfig({data});\n return this;\n }\n\n /**\n * Set JSON data\n */\n jsonData(data: DATA): this {\n this.headers({\n 'Content-Type': 'application/json'\n }).data(data);\n return this;\n }\n\n /**\n * Set form data\n */\n formData(data: DATA): this {\n this.headers({\n 'Content-Type': 'multipart/form-data'\n }).data(data);\n return this;\n }\n\n /**\n * Send request\n */\n send(): Promise> {\n const requestConfig = Object.deepAssign({}, this.requestConfig, {\n url: `/${this.stack.join('/')}`,\n signal: this.abortController.signal\n });\n\n // Set default headers\n if (requestConfig.headers == null) {\n requestConfig.headers = {};\n }\n\n // Set default Content-Type\n if (requestConfig.headers['Content-Type'] == null) {\n requestConfig.headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n\n // Convert data if needed\n if (requestConfig.method === 'POST' &&\n (requestConfig.headers['Content-Type']).startsWith('application/x-www-form-urlencoded') &&\n requestConfig.data != null) {\n requestConfig.data = this.paramsSerializer(requestConfig.data);\n }\n\n if (requestConfig.params) {\n requestConfig.paramsSerializer = this.paramsSerializer;\n }\n\n // Send request\n return this.root.axios.request(requestConfig);\n }\n\n protected paramsSerializer(params: DATA | QUERY_PARAMS): string {\n return stringify(params, {\n arrayFormat: 'brackets'\n });\n }\n}\n\n\nexport default APIEntity;\n","import {AxiosResponse} from 'axios';\nimport {FilterBuilder} from '../FilterBuilder'\nimport {APIEntity} from './APIEntity'\nimport {APIOrder, CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, NoQueryParams, SimpleCollectionResponse} from './models/HTTP';\n\n\nexport const DEFAULT_LIMIT: number = 20;\nexport const DEFAULT_OFFSET: number = 0;\n\nexport class APIList\n extends APIEntity | SimpleCollectionResponse, QUERY_PARAMS, DATA> {\n\n /**\n * Shortcut for sending data POST\n */\n create(data: DATA): Promise> {\n return this.post().data(data).send();\n }\n\n /**\n * Sets sorting\n *\n * @public\n * @param {string} name - Name of the column according to which the data will be sorted\n * @param {string} [order=a] - Sorting order. Possibilities: 'a', 'd'\n */\n sort(name: string, order: APIOrder = APIOrder.asc): this {\n return this.params<'sort'>({\n sort: `${name}_${order}`\n });\n }\n\n /**\n * Sets limit\n *\n * @public\n * @param {number} [limit=DEFAULT_LIMIT] - Limit to be set\n * @returns this\n */\n limit(limit = DEFAULT_LIMIT): this {\n if (!Number.isNatural(limit)) {\n throw new Error(`Limit '${limit}' is invalid!`);\n }\n\n return this.params<'limit'>({\n limit\n });\n }\n\n /**\n * Gets limit\n *\n * @public\n * @returns number\n */\n getLimit(): number {\n const params = this.getParams();\n return params.limit == null ? DEFAULT_LIMIT : params.limit;\n }\n\n /**\n * Disables limit\n *\n * @public\n * @returns this\n */\n noLimit(): this {\n return this.limit(0);\n }\n\n /**\n * Sets offset\n *\n * @public\n * @param {number} [offset=DEFAULT_OFFSET] - Offset to be set\n * @returns this\n */\n offset(offset: number = DEFAULT_OFFSET): this {\n if (!Number.isNatural(offset)) {\n throw new Error(`Offset '${offset}' is invalid!`);\n }\n\n return this.params<'offset'>({\n offset\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE records between range\n *\n * @public\n * @param {number} from - From index\n * @param {number} to - To index\n * @returns this\n */\n between(from: number, to: number): this {\n if (!Number.isNatural(from)) {\n throw new Error(`From '${from}' is invalid!`);\n }\n\n if (!Number.isNatural(to)) {\n throw new Error(`To '${to}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: from,\n limit: 1 + (to - from)\n });\n }\n\n /**\n * Sets limit and offset so that will request from BE one record on given index\n *\n * @public\n * @param {number} idx - Index\n * @returns this\n */\n only(idx: number): this {\n if (!Number.isNatural(idx)) {\n throw new Error(`Index '${idx}' is invalid!`);\n }\n\n return this.params<'offset' | 'limit'>({\n offset: idx,\n limit: 1\n });\n }\n\n /**\n * Gets current limit and sets offset so that will request from BE one page of records\n *\n * @public\n * @param {number} [page=1] - Page number (counted from 1)\n * @returns this\n */\n page(page = 1): this {\n if (!Number.isNatural(page) || page == 0) {\n throw new Error(`Page '${page}' is invalid!`);\n }\n\n const limit = this.getLimit();\n const offset = (page - 1) * limit;\n\n return this.params<'offset' | 'limit'>({\n offset,\n limit\n });\n }\n\n /**\n * Sets search\n *\n * query param is working like SQL LIKE. BE sets wraps around query with %, and replaces every white character\n * with %. So e.g. if query='my device', then it's searching for '%my%device%' in DB.\n *\n * @public\n * @param {string} query - Query to search for\n * @returns this\n */\n search(query: string): this {\n if (typeof query !== 'string') {\n throw new Error('Search query must be a string!');\n }\n\n return this.params<'search'>({\n search: query\n });\n }\n\n /**\n * Sets filter\n *\n * @public\n * @param {FilterBuilder|string} filter - Filter\n * @returns this\n */\n filter(filter: FilterBuilder | string): this {\n const isFilterBuilder = filter instanceof FilterBuilder;\n\n if (typeof filter !== 'string' && !isFilterBuilder) {\n throw new Error('Filter must be either string or instance of FilterBuilder');\n }\n\n return this.params<'filter'>({\n filter: filter.toString()\n });\n }\n\n /**\n * Alias for 'noLimit'\n *\n * @public\n * @see noLimit\n * @returns this\n */\n all: typeof APIList.prototype.noLimit = this.noLimit;\n\n /**\n * Alias for 'between'\n *\n * @public\n * @param {number} from - From idx\n * @param {number} to - To idx\n * @returns this\n */\n cut: typeof APIList.prototype.between = this.between;\n}\n\nexport default APIList;\n","import {APIEntity} from './APIEntity'\nimport {QueryParams} from './models/HTTP';\n\n\n/**\n * APIResource\n *\n * @class\n * @extends APIEntity\n */\nexport class APIResource\n extends APIEntity {\n}\n\n\nexport default APIResource;\n","import {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {CleanupConfigurationData, SpecificCleanupConfigurationQueryParams} from './models/CleanupConfiguration';\nimport {DeviceCleanupConfiguration} from './models/Device';\nimport {CollectionQueryParams, NoData} from './models/HTTP';\n\n\nexport class APIListCleanupConfigurations extends APIList {\n\n /**\n * /cleanup-configurations\n */\n constructor(parent: APIAdminListDevices) {\n super(parent);\n this.push('cleanup-configurations');\n }\n\n // /cleanup-configurations/specific\n specific() {\n return new APIResource, NoData>(this)\n .push('specific');\n }\n\n}\n\nexport default APIListCleanupConfigurations\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIResource} from './APIResource'\nimport {CleanupConfigurationSpecificData, DeviceCleanupConfiguration} from './models/Device';\nimport {NoData} from './models/HTTP';\n\n\nexport class APIResourceCleanupConfiguration extends APIResource {\n //shuldn't it be APIAdminResourceCleanupConfiguration\n\n /**\n * admin/devices/cleanup-configurations/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('cleanup-configurations', id);\n }\n\n // admin/devices/cleanup-configurations/specific\n devices() {\n return new APIResource(this).push('devices');\n }\n\n}\n\nexport default APIResourceCleanupConfiguration\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIListCleanupConfigurations} from './APIListCleanupConfigurations';\nimport {APIResourceCleanupConfiguration} from './APIResourceCleanupConfiguration';\nimport {AdminDevice, AdminDeviceData, AdminDevicesQueryParams} from './models/AdminDevice';\n\n\nexport class APIAdminListDevices extends APIList {\n\n /**\n * /admin/devices\n */\n constructor(parent: APIAdminResource | API) {\n super(parent);\n this.push('admin', 'devices');\n }\n\n // /admin/devices/cleanup-configurations\n cleanupConfigurations() {\n return new APIListCleanupConfigurations(this);\n }\n\n // /admin/devices/cleanup-configurations/{id}\n cleanupConfiguration(id: number) {\n return new APIResourceCleanupConfiguration(this, id);\n }\n\n}\n\nexport default APIAdminListDevices;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {NotificationPlan, NotificationPlanData} from './models/NotificationPlan';\n\n\nexport class APIAdminListNotificationPlans extends APIList {\n\n /**\n * /admin/notification-plans\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'notification-plans');\n }\n\n // /notification-plans/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n // /notification-plans/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\n\nexport default APIAdminListNotificationPlans\n","import {Method} from 'axios';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource';\nimport {AdminTestRun, RunsConfigParams} from './models/AdminTestRun';\nimport {TestRunConfig} from './models/TestRun';\n\nexport class APIAdminListRuns extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /admin/runs\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'runs');\n }\n\n // /runs/config\n config() {\n const apiResource = new APIResource(this);\n apiResource.restack('runs', 'config');\n return apiResource;\n }\n\n}\n\n\nexport default APIAdminListRuns\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {AdminServicesParams, Service} from './models/Service';\n\n\nexport class APIAdminListServices extends APIList {\n\n /**\n * /admin/services\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'services');\n }\n\n active() {\n const apiList = new APIList(this);\n apiList.params<'notArchived'>({\n notArchived: true\n });\n return apiList;\n }\n\n activated() {\n const apiList = this.active();\n apiList.params<'filter' | 'limit' | 'sort'>({\n filter: 'activated_eq_true',\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n inUse() {\n const apiList = new APIList(this);\n apiList.params<'inUse' | 'limit' | 'sort'>({\n inUse: true,\n limit: 0,\n sort: 'name_a'\n })\n return apiList;\n }\n\n byPrice() {\n const apiList = new APIList(this);\n apiList.params<'sort'>({\n sort: 'centPrice_a'\n })\n return apiList;\n }\n\n}\n\nexport default APIAdminListServices;\n","import {AxiosResponse} from 'axios';\n\nexport function NonRequestable(constructor: T) {\n return class extends constructor {\n send(): Promise {\n return Promise.reject();\n }\n };\n}\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AdminDeviceSessionStatistics, AdminStatisticsParams} from './models/AdminDeviceSessionStatistics';\nimport {AdminFrameworkStatistics} from './models/AdminFrameworkStatistics';\nimport {NoData} from './models/HTTP';\n\n\n@NonRequestable\nexport class APIAdminListStatistics extends APIList {\n\n /**\n * /admin/statistics\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'statistics');\n }\n\n // /admin/statistics/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /admin/statistics/frameworks\n frameworks() {\n return new APIList(this).push('frameworks');\n }\n\n\n}\n\n\nexport default APIAdminListStatistics\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {Account} from './models/Account';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleParams} from './models/Role';\nimport {AccountService} from './models/AccountService';\nimport {AccountPreferences, AccountPreferencesData} from './models/AccountPreference';\n\n\nexport class APIAdminResourceAccount extends APIResource {\n\n /**\n * /admin/accounts/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'accounts', id);\n }\n\n // /admin/accounts/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/accounts/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n // //admin/accounts/{id}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n}\n\nexport default APIAdminResourceAccount\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {AccountService} from './models/AccountService';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIAdminResourceAccountService extends APIResource {\n\n /**\n * /admin/account-services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'account-services', id);\n }\n\n // /account-services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /account-services/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate').post();\n }\n\n}\n\nexport default APIAdminResourceAccountService\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice} from './models/AdminDevice';\nimport {Cluster, ClusterData, ClusterParams} from './models/Cluster';\n\n\nexport class APIAdminResourceCluster extends APIResource {\n\n /**\n * /clusters/{id}\n */\n constructor(parent: API | APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('clusters', id);\n }\n\n // /clusters/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n}\n\nexport default APIAdminResourceCluster\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {AdminDevice, AdminDeviceData} from './models/AdminDevice';\nimport {AdminDeviceSession} from './models/AdminDeviceSession';\nimport {\n DeviceCleanupConfiguration,\n DeviceCleanupConfigurationData,\n DeviceLabelData,\n DeviceProperty\n} from './models/Device';\nimport {NoData, NoQueryParams, QueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDevice extends APIResource {\n\n /**\n * /admin/devices/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'devices', id);\n }\n\n // /admin/devices/{id}/cleanup-configuration\n cleanupConfiguration() {\n return new APIResource(this).push('cleanup-configuration');\n }\n\n // /admin/devices/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /admin/devices/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n // /admin/devices/{id}/queue\n queue() {\n return new APIList(this).push('queue');\n }\n\n}\n\nexport default APIAdminResourceDevice\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser, DeviceBrowserData} from './models/Browser';\nimport {DeviceModel, DeviceModelData} from './models/DeviceModel';\nimport {NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceDeviceModel extends APIResource {\n\n /**\n * /admin/device-models/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'device-models', id);\n }\n\n // /admin/device-models/{id}/browsers\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIAdminResourceDeviceModel;\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {NoData} from '../models/HTTP';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\n\n\n@NonRequestable\nexport class InputFileset extends APIResource {\n\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('input-file-set');\n }\n\n /**\n * @endpoint /input-file-set/files\n */\n files() {\n return new APIList(this).push('files');\n }\n\n /**\n * @endpoint /input-file-set/files.zip\n */\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n}\n\nexport default InputFileset\n","// Create image files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const IMAGE_FILES_FILTER = new FilterBuilder();\nIMAGE_FILES_FILTER.eq('state', 'READY');\nIMAGE_FILES_FILTER.in('mimetype', [\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif'\n]);\nIMAGE_FILES_FILTER.notlike('name', 'action-%%');\n","// Create non-media files filter\nimport FilterBuilder from '../../FilterBuilder';\n\nexport const NON_MEDIA_FILES_FILTER = new FilterBuilder();\nNON_MEDIA_FILES_FILTER.eq('state', 'READY');\nNON_MEDIA_FILES_FILTER.notin('mimetype', [\n // no images\n 'image/png', 'image/jpg', 'image/jpeg', 'image/webp', 'image/gif',\n\n // no videos\n 'video/mp4', 'video/avi', 'video/webm', 'video/ogg', 'video/mpeg'\n]);\n","import {API} from '../../API';\nimport {APIEntity} from '../APIEntity';\nimport {APIList} from '../APIList'\nimport {APIResource} from '../APIResource'\nimport {NonRequestable} from '../decorators/NonRequestable';\nimport {Screenshot} from '../models/Screenshot';\nimport {UserFile} from '../models/UserFile';\nimport {FilesQueryParams} from './FilesQueryParams';\nimport {IMAGE_FILES_FILTER} from './Images.filter';\nimport {NON_MEDIA_FILES_FILTER} from './NonMedia.filter';\n\n\n@NonRequestable\nexport class OutputFileset extends APIResource {\n\n /**\n * /output-file-set\n *\n * Constructor\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('output-file-set');\n }\n\n // /output-file-set/files\n files() {\n return new APIList(this).push('files');\n }\n\n // /output-file-set/files/{id}\n file(id: number) {\n return new APIResource(this).push('files', id);\n }\n\n // /output-file-set/files.zip\n filesZip() {\n return new APIResource(this).push('files.zip');\n }\n\n // /output-file-set/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /output-file-set/screenshots/{id}\n screenshot(id: number) {\n return new APIResource(this).push('screenshots', id);\n }\n\n // /output-file-set/screenshots/{id}/file/{id}\n screenshotFile(id: number) {\n return this.screenshot(id).push('file');\n }\n\n // Filter files out by ready videos\n videos() {\n return this.files().params({\n filter: 's_state_eq_READY',\n tag: ['video']\n });\n }\n\n // Filter files out by non-media\n nonMediaFiles() {\n return this.files().filter(NON_MEDIA_FILES_FILTER);\n }\n\n performance() {\n return this.files().params({\n tag: ['performance']\n })\n }\n\n images() {\n return this.files().filter(IMAGE_FILES_FILTER);\n }\n\n}\n\nexport default OutputFileset\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource'\nimport {InputFileset} from './class/InputFileset'\nimport {OutputFileset} from './class/OutputFileset'\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\nimport {\n DeviceSession,\n DeviceSessionCommand,\n DeviceSessionStep,\n SessionQueryParams,\n SessionRunStepQueryParams,\n SessionStepQueryParams\n} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot} from './models/Screenshot';\nimport {TestCaseRun} from './models/TestCaseRun';\n\nexport class APIResourceDeviceSessionCommon extends APIResource implements DeviceSessionCommon {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/commands\n commands() {\n return new APIList(this).push('commands');\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /device-sessions/{id}/screenshots/{id}\n screenshot(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('screenshots', id);\n }\n\n // /device-sessions/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /device-sessions/{id}/steps/{id}\n step(id: number | 'current') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('steps', id);\n }\n\n // /device-sessions/{id}/steps/current\n currentStep() {\n return this.step('current');\n }\n\n // /device-sessions/{id}/test-case-runs\n testCaseRuns() {\n return new APIList(this).push('test-case-runs');\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n logs() {\n return new APIResource(this).push('logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n clusterLogs() {\n return new APIResource(this).push('cluster-logs').setRequestConfig({\n responseType: 'text'\n });\n }\n\n}\n\nexport default APIResourceDeviceSessionCommon\n","import {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {postAdminDeviceSessionChangeBillable} from './factory/postAdminDeviceSessionChangeBillable';\nimport {DeviceSessionCommon} from './interface/DeviceSessionCommon';\n\n\n/**\n * APIAdminResourceDevice\n *\n *\n * It will require more work to decouple from regular session\n */\nexport class APIAdminResourceDeviceSessionStandalone extends APIResourceDeviceSessionCommon implements DeviceSessionCommon {\n\n // /admin/device-sessions/{id}/changebillable\n changeBillable(billable: boolean) {\n return postAdminDeviceSessionChangeBillable(this, billable);\n }\n}\n\nexport default APIAdminResourceDeviceSessionStandalone;\n","import {APIResource} from '../APIResource';\nimport APIResourceDeviceSessionCommon from '../APIResourceDeviceSessionCommon';\nimport {DeviceSession} from '../models/DeviceSession';\n\nexport function postAdminDeviceSessionChangeBillable(parent: APIResourceDeviceSessionCommon, billable: boolean) {\n const apiResource = new APIResource(parent);\n const deviceSessionId = apiResource.last;\n\n return apiResource.restack('admin', 'device-sessions', deviceSessionId, 'changebillable').params({\n billable\n }).post();\n}\n\nexport default postAdminDeviceSessionChangeBillable;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {DeviceTimeCountSessionReportEntry} from './models/DeviceTimeCountSessionReportEntry';\nimport {DeviceTimeStepTimeReportEntry} from './models/DeviceTimeStepTimeReportEntry';\nimport {NoData} from './models/HTTP';\nimport {DeviceTimeParams, UserDeviceTime} from './models/UserDeviceTime';\n\nexport class APIAdminResourceDeviceTime extends APIList {\n\n /**\n * /admin/device-time\n */\n constructor(parent: APIAdminResource) {\n super(parent);\n this.push('admin', 'device-time');\n }\n\n // /device-time/count-session-report\n countSessionReport() {\n return new APIList(this).push('count-session-report');\n }\n\n // /device-time/step-time-report\n stepTimeReport() {\n return new APIList(this).push('step-time-report');\n }\n\n}\n\nexport default APIAdminResourceDeviceTime\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Framework, FrameworkConfigData, FrameworkEditData} from './models/Framework';\nimport {NoQueryParams} from './models/HTTP';\nimport {ProjectJobConfig} from './models/ProjectJobConfig';\nimport {Role} from './models/Role';\n\nexport class APIAdminResourceFramework extends APIResource {\n\n /**\n * /admin/frameworks/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'frameworks', id);\n }\n\n // /admin/frameworks/{id}/config\n config() {\n return new APIResource(this).push('config');\n }\n\n // /admin/frameworks/{id}/required-roles\n requiredRoles() {\n return new APIList(this).push('required-roles');\n }\n\n}\n\nexport default APIAdminResourceFramework\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\n\nexport class APIAdminResourceLicense extends APIResource {\n\n /**\n * /licenses/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'licenses', id);\n }\n\n // /licenses/{id}/activate\n activate() {\n return new APIResource(this).push('activate');\n }\n\n // /licenses/{id}/deactivate\n deactivate() {\n return new APIResource(this).push('deactivate');\n }\n\n // /licenses/{id}/resend\n resend() {\n return new APIResource(this).push('resend');\n }\n\n // /licenses/{id}/download\n download() {\n return new APIResource(this).push('download');\n }\n\n}\n\nexport default APIAdminResourceLicense\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Notification} from './models/Notification';\nimport {NotificationPlan, NotificationPlanEditData} from './models/NotificationPlan';\n\nexport class APIAdminResourceNotificationPlan extends APIResource {\n\n /**\n * /admin/notification-plans/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'notification-plans', id);\n }\n\n // /admin/notification-plans/{id}/check\n check() {\n return new APIList(this).push('check');\n }\n\n // /admin/notification-plans/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n // /admin/notification-plans/{id}/execute\n execute() {\n return new APIResource(this).push('execute');\n }\n\n}\n\nexport default APIAdminResourceNotificationPlan\n","import {APIEntity} from '../APIEntity';\nimport {APIResource} from '../APIResource';\nimport {BuildLogsData, BuildLogsParams} from '../models/UserFile';\n\nexport function postDeviceRunIds(parent: APIEntity, name: string, ids?: Array) {\n const a = new APIResource(parent).push(name);\n\n if (ids != null) {\n a.params<'deviceRunIds'>({\n deviceRunIds: ids\n });\n }\n\n return a.post();\n}\n\nexport default postDeviceRunIds;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun, RunChangeBillableParams, RunChangePriorityParams} from './models/AdminTestRun';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIAdminResourceRunStandalone extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/changebillable\n changeBillable(billable: boolean) {\n return new APIResource(this).push('changebillable').post().params({\n billable\n });\n }\n\n // /runs/{id}/changepriority\n changePriority(priority?: number) {\n const resource = new APIResource(this).push('changepriority');\n if (priority) {\n resource.post().data({\n priority\n });\n }\n return resource;\n }\n\n // /admin/runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n}\n\nexport default APIAdminResourceRunStandalone;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIResource} from './APIResource'\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceActivateData} from './models/Service';\n\n\nexport class APIAdminResourceService extends APIResource {\n\n /**\n * /services/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'services', id);\n }\n\n // /services/{id}/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n}\n\nexport default APIAdminResourceService\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccountService, AccountServiceData} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Role, RoleData} from './models/Role';\nimport {User, UserUpdateAccount} from './models/User';\n\n@NonRequestable\nexport class APIAdminResourceUserAccount extends APIResource {\n\n /**\n * /account\n */\n constructor(parent: APIAdminResourceUser) {\n super(parent);\n this.push('account');\n }\n\n // /account/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /account/roles/{id}\n role(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('roles', id);\n }\n\n // /account-services\n services() {\n const a = new APIList(this);\n a.last += '-services';\n return a;\n }\n\n // /update-account\n update() {\n const a = new APIResource(this);\n a.last = 'update-account';\n return a.post();\n }\n\n}\n\nexport default APIAdminResourceUserAccount\n","import {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {InputFileset} from './class/InputFileset';\nimport {OutputFileset} from './class/OutputFileset';\nimport {DeviceSessionStandalone} from './interface/DeviceSessionStandalone';\nimport {Connection, ConnectionData} from './models/Connection';\nimport {DeviceSession, DeviceSessionRelease} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {VisualTest} from './models/VisualTest';\n\nexport class APIResourceDeviceSessionStandalone extends APIResource implements DeviceSessionStandalone {\n\n /**\n * /device-sessions/{id}\n */\n constructor(parent: APIResourceUser | APIAdminResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-sessions', id);\n }\n\n // /device-sessions/{id}/connections\n connections() {\n return new APIList(this).push('connections');\n }\n\n // /device-sessions/{id}/connections/{id}\n connection(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('connections', id);\n }\n\n // /device-sessions/{id}/input-file-set\n input() {\n return new InputFileset(this);\n }\n\n // /device-sessions/{id}/output-file-set\n output() {\n return new OutputFileset(this);\n }\n\n // /device-sessions/{id}/release\n release() {\n return new APIResource(this).push('release').post();\n }\n\n // /device-sessions/{id}/visual-tests/images\n visualTestsImages() {\n return new APIList(this).push('visual-tests', 'images');\n }\n\n}\n\nexport default APIResourceDeviceSessionStandalone\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIAdminResourceUserAccount} from './APIAdminResourceUserAccount';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {License} from './models/License';\nimport {Role, RoleParams} from './models/Role';\nimport {User} from './models/User';\n\n\n@NonRequestable\nexport class APIAdminResourceUser extends APIResource {\n\n /**\n * /admin/users/{id}\n */\n constructor(parent: APIAdminResource, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('admin', 'users', id);\n }\n\n // /admin/users/{id}/disable\n disable() {\n return new APIResource(this).push('disable');\n }\n\n // /admin/users/{id}/enable\n enable() {\n return new APIResource(this).push('enable');\n }\n\n // /admin/users/{id}/licenses\n licenses() {\n return new APIList(this).push('licenses');\n }\n\n // /admin/users/{id}/resend-activation\n resendActivation() {\n return new APIResource(this).push('resend-activation').post();\n }\n\n // /admin/users/{id}/account\n account() {\n return new APIAdminResourceUserAccount(this);\n }\n\n // /admin/users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /admin/users/{id}/roles\n roles() {\n return new APIList(this).push('roles');\n }\n\n // /admin/users/{id}/roles/{id}\n role(id: number) {\n return new APIResource(this).push('roles', id);\n }\n\n}\n\nexport default APIAdminResourceUser;\n","import {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccessGroup} from './models/AccessGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {SharedResource} from './models/SharedResource';\nimport {User, UserData} from './models/User';\n\nexport class APIResourceAccessGroup extends APIResource {\n\n /**\n * /access-groups/{id}\n *\n */\n constructor(parent: APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('access-groups', id);\n }\n\n // /access-groups/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /access-groups/{id}/users/{id}\n user(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('users', id);\n }\n\n // /access-groups/{id}/resources\n resources() {\n return new APIList(this).push('resources');\n }\n\n // /access-groups/{id}/resources/{id}\n resource(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('resources', id);\n }\n\n}\n\nexport default APIResourceAccessGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport APIResourceUser from './APIResourceUser';\nimport {Device, DeviceProperty} from './models/Device';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupParams, DeviceGroupSelectorData} from './models/DeviceGroup';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {ShareData, SharedResource} from './models/SharedResource';\n\nexport class APIResourceDeviceGroup extends APIResource {\n\n /**\n * /device-groups/{id}\n */\n constructor(parent: APIAdminResource | APIResourceUser | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('device-groups', id);\n }\n\n // /device-groups/{id}/devices\n devices() {\n return new APIList(this).push('devices');\n }\n\n // /device-groups/{id}/devices/{id}\n device(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('devices', id);\n }\n\n // /device-groups/{id}/selectors\n selectors() {\n return new APIList(this).push('selectors');\n }\n\n // /device-groups/{id}/selectors/{id}\n selector(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('selectors', id);\n }\n\n // /device-groups/{id}/share\n share() {\n return new APIList(this).push('share');\n }\n\n}\n\nexport default APIResourceDeviceGroup\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData} from './models/HTTP';\nimport {Property} from './models/Property';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {FileSizeData, UserFile, UserFileTag} from './models/UserFile';\n\n\nexport class APIResourceFile extends APIResource {\n\n /**\n * /files/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('files', id);\n }\n\n // use this to download file content\n // /files/{id}/file\n file() {\n return new APIResource(this).push('file');\n }\n\n // /files/{id}/icon\n icon() {\n return new APIResource(this).push('icon');\n }\n\n // /files/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n property(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('properties', id);\n }\n\n}\n\nexport default APIResourceFile\n","import {APIResource} from './APIResource';\nimport {APIResourceDeviceSessionCommon} from './APIResourceDeviceSessionCommon';\nimport {DeviceSession} from './interface/DeviceSession';\nimport {DeviceSession as DeviceSessionModel} from './models/DeviceSession';\n\nexport class APIResourceDeviceSession extends APIResourceDeviceSessionCommon implements DeviceSession {\n\n // /device-sessions/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /device-sessions/{id}/retry\n retry() {\n return new APIResource(this).push('retry').post();\n }\n\n}\n\nexport default APIResourceDeviceSession\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {postDeviceRunIds} from './factory/postDeviceRunIds';\nimport {AdminTestRun} from './models/AdminTestRun';\nimport {DeviceSession, DeviceSessionStep, TRunDeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Screenshot, ScreenshotExtended, ScreenshotQueryParams} from './models/Screenshot';\nimport {Tag, TagsData, TagsQueryParams, TaqQueryParams, TestRunTagsData} from './models/Tag';\nimport {RunData, RunQueryParam, TestRun, TestRunData} from './models/TestRun';\nimport {TestRunDataAvailability, TestRunDataAvailabilityQueryParams} from './models/TestRunDataAvailability';\nimport {UserFile} from './models/UserFile';\n\nexport class APIResourceRunCommon extends APIResource {\n\n /**\n * /runs/{id}\n */\n constructor(parent: APIEntity | API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('runs', id);\n }\n\n // /runs/{id}/abort\n abort() {\n return new APIResource(this).push('abort').post();\n }\n\n // /runs/{id}/build-logs.zip\n buildLogsZip(ids?: Array) {\n return postDeviceRunIds(this, 'build-logs.zip', ids);\n }\n\n // /runs/{id}/data-availability\n dataAvailability() {\n return new APIResource(this).push('data-availability');\n }\n\n // /runs/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /runs/{id}/files.zip\n filesZip(ids?: Array) {\n return postDeviceRunIds(this, 'files.zip', ids);\n }\n\n // /runs/{id}/logs.zip\n logsZip(ids?: Array) {\n return postDeviceRunIds(this, 'logs.zip', ids);\n }\n\n // /runs/{id}/performance.zip\n performanceZip(ids?: Array) {\n return postDeviceRunIds(this, 'performance.zip', ids);\n }\n\n // /runs/{id}/retry\n retry(ids?: Array) {\n return postDeviceRunIds(this, 'retry', ids).setRequestConfig({\n timeout: 0\n });\n }\n\n // /runs/{id}/screenshot-names\n screenshotNames() {\n return new APIList(this).push('screenshot-names');\n }\n\n // /runs/{id}/screenshots\n screenshots() {\n return new APIList(this).push('screenshots');\n }\n\n // /runs/{id}/screenshots.zip\n screenshotsZip(ids?: Array) {\n return postDeviceRunIds(this, 'screenshots.zip', ids);\n }\n\n // /runs/{id}/steps\n steps() {\n return new APIList(this).push('steps');\n }\n\n // /runs/{id}/tags\n tags() {\n return new APIList(this).push('tags');\n }\n\n // /runs/{id}/tag\n tag(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('tags', id);\n }\n\n}\n\nexport default APIResourceRunCommon\n","import {APIResourceDeviceSession} from './APIResourceDeviceSession'\nimport {APIResourceRunCommon} from './APIResourceRunCommon'\n\nexport class APIResourceRun extends APIResourceRunCommon {\n\n // /runs/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n}\n\nexport default APIResourceRun\n","import {API} from '../API';\nimport {APIAdminResource} from './APIAdminResource';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceRun} from './APIResourceRun'\nimport {APIResourceUser} from './APIResourceUser';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Project} from './models/Project';\nimport {ShareData, SharedResource} from './models/SharedResource';\nimport {TestRun} from './models/TestRun';\n\nexport class APIResourceProject extends APIResource {\n\n /**\n * /projects/{id}\n */\n constructor(parent: API | APIAdminResource | APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('projects', id);\n }\n\n // /projects/{id}/runs\n runs() {\n return new APIList(this).push('runs');\n }\n\n // /projects/{id}/runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n share() {\n return new APIList(this).push('share');\n }\n\n // /unarchive\n unarchive() {\n return new APIResource(this).push('unarchive');\n }\n\n}\n\nexport default APIResourceProject\n","import {API} from '../API';\nimport {APIAdminListDevices} from './APIAdminListDevices';\nimport {APIAdminListNotificationPlans} from './APIAdminListNotificationPlans';\nimport {APIAdminListRuns} from './APIAdminListRuns';\nimport {APIAdminListServices} from './APIAdminListServices';\nimport {APIAdminListStatistics} from './APIAdminListStatistics';\nimport APIAdminResourceAccount from './APIAdminResourceAccount';\nimport {APIAdminResourceAccountService} from './APIAdminResourceAccountService';\nimport {APIAdminResourceCluster} from './APIAdminResourceCluster';\nimport {APIAdminResourceDevice} from './APIAdminResourceDevice';\nimport {APIAdminResourceDeviceModel} from './APIAdminResourceDeviceModel';\nimport {APIAdminResourceDeviceSessionStandalone} from './APIAdminResourceDeviceSessionStandalone';\nimport {APIAdminResourceDeviceTime} from './APIAdminResourceDeviceTime';\nimport {APIAdminResourceFramework} from './APIAdminResourceFramework';\nimport {APIAdminResourceLicense} from './APIAdminResourceLicense';\nimport {APIAdminResourceNotificationPlan} from './APIAdminResourceNotificationPlan';\nimport {APIAdminResourceRunStandalone} from './APIAdminResourceRunStandalone';\nimport {APIAdminResourceService} from './APIAdminResourceService';\nimport {APIAdminResourceUser} from './APIAdminResourceUser';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceFile} from './APIResourceFile'\nimport {APIResourceProject} from './APIResourceProject';\nimport {NonRequestable} from './decorators/NonRequestable';\nimport {AccessGroup, AccessGroupData} from './models/AccessGroup';\nimport {Account} from './models/Account';\nimport {AccountService} from './models/AccountService';\nimport {Activity} from './models/Activity';\nimport {AdminDeviceSession, AdminInteractiveDeviceSession} from './models/AdminDeviceSession';\nimport {AdminDeviceType, DeviceTypeData} from './models/AdminDeviceType';\nimport {AdminEmail} from './models/AdminEmail';\nimport {AdminError} from './models/AdminError';\nimport {Administrator} from './models/Administrator';\nimport {AdminOverview} from './models/AdminOverview';\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {Browser, BrowserData} from './models/Browser';\nimport {CountryVatRate, CountryVatRateData} from './models/CountryVatRate';\nimport {DeviceModelCriterion, DeviceModelCriterionData} from './models/DeviceModelCriterion';\nimport {DeviceModelPool, DeviceModelPoolData} from './models/DeviceModelPool';\nimport {Framework, FrameworkData} from './models/Framework';\nimport {License, LicenseData} from './models/License';\nimport {Maintenance, MaintenanceData} from './models/Maintenance';\nimport {Project} from './models/Project';\nimport {Role, RoleParams} from './models/Role';\nimport {Settings, SettingsParams} from './models/Settings';\nimport {User, UserData, UserParams} from './models/User';\nimport {DeviceTimeSummaryParams, UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {UserFile, UserFileData, UserFileParams} from './models/UserFile';\nimport {Cluster} from './models/Cluster';\nimport {DeviceProperty} from './models/Device';\nimport {DeviceGroup} from './models/DeviceGroup';\nimport {DeviceModel} from './models/DeviceModel';\nimport {DeviceProblem} from './models/DeviceProblem';\nimport {DeviceStatus} from './models/DeviceStatus';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n@NonRequestable\nexport class APIAdminResource extends APIResource {\n\n /**\n * /admin\n */\n constructor(parent: API) {\n super(parent);\n }\n\n // /access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /admin/accounts\n accounts() {\n return new APIList(this).push('admin', 'accounts');\n }\n\n // /admin/accounts/{id}\n account(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIAdminResourceAccount(this, id);\n }\n\n // /admin/account-services\n accountServices() {\n return new APIList(this).push('admin', 'account-services');\n }\n\n // /admin/account-services/{id}\n accountService(id: number) {\n return new APIAdminResourceAccountService(this, id);\n }\n\n // activities\n activities() {\n return new APIList(this).push('admin', 'activities');\n }\n\n // admin/administrators\n administrators() {\n return new APIList(this).push('admin', 'administrators');\n }\n\n // /admin/billing-periods\n billingPeriods() {\n return new APIList(this).push('admin', 'billing-periods');\n }\n\n // /admin/billing-periods/{id}\n billingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'billing-periods', id);\n }\n\n // /admin/browsers\n browsers() {\n return new APIList(this).push('admin', 'browsers');\n }\n\n // /admin/browsers/{id}\n browser(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'browsers', id);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /admin/country-vat-rates\n countryVatRates() {\n return new APIList(this).push('admin', 'country-vat-rates');\n }\n\n // /admin/country-vat-rates/{id}\n countryVatRate(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource>(this).push('admin', 'country-vat-rates', id);\n }\n\n // /admin/devices\n devices() {\n return new APIAdminListDevices(this);\n }\n\n // /admin/devices/{id}\n device(id: number) {\n return new APIAdminResourceDevice(this, id);\n }\n\n devicesForModel(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n const apiList = this.devices();\n apiList.params({\n filter: 'deviceModelId_eq_' + id\n });\n return apiList;\n }\n\n // /admin/device/statuses\n deviceStatuses() {\n return new APIList(this).push('admin', 'device', 'statuses');\n }\n\n // /admin/device-models\n deviceModels() {\n return new APIList(this).push('admin', 'device-models');\n }\n\n // /admin/device-models/{id}\n deviceModel(id: number) {\n return new APIAdminResourceDeviceModel(this, id);\n }\n\n // /admin/device-problems\n deviceProblems() {\n return new APIList(this).push('admin', 'device-problems');\n }\n\n // /admin/device-model-criteria\n deviceModelCriterias() {\n return new APIList(this).push('admin', 'device-model-criteria');\n }\n\n // /admin/device-model-criteria/{id}\n deviceModelCriteria(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('admin', 'device-model-criteria', id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('admin', 'device-sessions');\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIAdminResourceDeviceSessionStandalone(this, id);\n }\n\n // /device-time\n deviceTime() {\n return new APIAdminResourceDeviceTime(this);\n }\n\n // /device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('admin', 'device-time-summary');\n }\n\n // /device-types\n deviceTypes() {\n return new APIList(this).push('admin', 'device-types');\n }\n\n // /device-types/{id}\n deviceType(id: number) {\n return new APIResource(this).push('admin', 'device-types', id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /admin/emails\n emails() {\n return new APIList(this).push('admin', 'emails');\n }\n\n // /admin/emails/{id}/resend\n resendEmail(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'emails', id, 'resend').post();\n }\n\n // /admin/errors\n errors() {\n return new APIList(this).push('admin', 'errors');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /admin/frameworks\n frameworks() {\n return new APIList(this).push('admin', 'frameworks');\n }\n\n // /admin/frameworks/{id}\n framework(id: number) {\n return new APIAdminResourceFramework(this, id);\n }\n\n // /admin/frameworks/available-labels\n frameworkAvailableLabels() {\n const apiList = this.frameworks();\n apiList.push('available-labels');\n return apiList;\n }\n\n // /admin/interactive-queue\n interactiveQueue() {\n return new APIList(this).push('admin', 'interactive-queue');\n }\n\n // /admin/licenses\n licenses() {\n return new APIList(this).push('admin', 'licenses');\n }\n\n // /admin/licenses/{id}\n license(id: number) {\n return new APIAdminResourceLicense(this, id);\n }\n\n // /admin/maintenance\n maintenance() {\n return new APIResource(this).push('admin', 'maintenance');\n }\n\n // /admin/notification-plans\n notificationPlans() {\n return new APIAdminListNotificationPlans(this);\n }\n\n // /admin/notification-plans/{id}\n notificationPlan(id: number) {\n return new APIAdminResourceNotificationPlan(this, id);\n }\n\n // /admin/overview\n overview() {\n return new APIResource(this).push('admin', 'overview');\n }\n\n pools() {\n return new APIList(this).push('admin', 'pools');\n }\n\n pool(id: number) {\n return new APIResource(this).push('admin', 'pools', id);\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /admin/roles\n roles() {\n return new APIList(this).push('admin', 'roles');\n }\n\n // /admin/runs\n runs() {\n return new APIAdminListRuns(this);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIAdminResourceRunStandalone(this, id);\n }\n\n // /admin/samples\n samples() {\n return new APIList>(this).push('admin', 'samples');\n }\n\n // /admin/samples/{id}\n sample(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n return new APIResource(this).push('admin', 'samples', id);\n }\n\n // /admin/services\n services() {\n return new APIAdminListServices(this);\n }\n\n // /admin/services/{id}\n service(id: number) {\n return new APIAdminResourceService(this, id);\n }\n\n // /admin/settings\n settings() {\n return new APIResource(this).push('admin', 'settings');\n }\n\n // /admin/statistics\n statistics() {\n return new APIAdminListStatistics(this);\n }\n\n // /users\n users() {\n return new APIList(this).push('users');\n }\n\n // /admin/users\n createUser() {\n return new APIList(this).push('admin', 'users').post();\n }\n\n // /users/{id}\n user(id: number) {\n return new APIAdminResourceUser(this, id);\n }\n\n}\n\nexport default APIAdminResource;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {DesktopBrowserCapabilities} from './models/DesktopBrowserCapabilities';\nimport {Device, DevicesQueryParams} from './models/Device';\nimport {DevicePicker} from './models/DeviceFilter';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\n\n\nexport class APIListDevices extends APIList {\n\n /**\n * /devices\n */\n constructor(parent: API) {\n super(parent);\n this.push('devices');\n }\n\n // /devices/filters\n filters() {\n return new APIResource>(this).push('filters');\n }\n\n // /devices/desktop-browser-capabilities\n desktopBrowserCapabilities() {\n return new APIResource(this).push('desktop-browser-capabilities');\n }\n\n}\n\nexport default APIListDevices;\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {CollectionQueryParams} from './models/HTTP';\nimport {Property, PropertyData} from './models/Property';\n\n\nexport class APIListProperties extends APIList {\n\n /**\n * /properties\n */\n constructor(parent: API) {\n super(parent);\n this.push('properties');\n }\n\n maintenance() {\n return new APIList(this).params({\n filter: 'name_eq_CLOUD_HEADER_ANNOUNCEMENT',\n limit: 1,\n sort: 'updateTime_d'\n });\n }\n\n}\n\nexport default APIListProperties\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {AccountService, ServicePaymentStatus} from './models/AccountService';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Service, ServiceData} from './models/Service';\n\n\nexport class APIListServices extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['POST'];\n\n /**\n * /services\n */\n constructor(parent: API | APIResourceUser) {\n super(parent);\n this.push('services');\n }\n\n // /services/available\n available() {\n return new APIList(this).push('available');\n }\n\n active() {\n const apiList = new APIList(this);\n if (this.first === 'me') {\n apiList.push('active');\n } else {\n apiList.params({\n notArchived: true\n });\n }\n return apiList;\n }\n\n byPrice() {\n return new APIList(this).sort('centPrice');\n }\n\n availableByPrice() {\n return new APIList(this).push('available').sort('centPrice');\n }\n\n}\n\nexport default APIListServices\n","import {Method} from 'axios';\nimport {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {\n User,\n UserActivateData,\n UserData,\n UserPasswordData,\n UserRecoveryQueryParams,\n} from './models/User';\n\n\nexport class APIListUsers extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET', 'POST'];\n\n /**\n * /users\n */\n constructor(parent: API) {\n super(parent);\n this.push('users');\n }\n\n // /users/activate\n activate() {\n return new APIResource(this).push('activate').post();\n }\n\n // /users/recoveries\n recoveries() {\n return new APIResource(this).push('recoveries');\n }\n\n // /users/passwordRecovery\n passwordRecovery() {\n return new APIResource(this).push('password-recovery');\n }\n\n}\n\nexport default APIListUsers;\n","import {APIResource} from './APIResource'\nimport {BillingPeriod} from './models/BillingPeriod';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {APIResourceAccount} from './APIResourceAccount';\n\n\n\n\nexport class APIResourceBillingPeriod extends APIResource {\n\n /**\n * /billing-periods/{id}\n */\n constructor(parent: APIResourceAccount, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('billing-periods', id);\n }\n\n // /billing-periods/{id}/receipt\n receipt() {\n return new APIResource(this).push('receipt').setRequestConfig({\n responseType: 'arraybuffer'\n });\n }\n\n}\n\nexport default APIResourceBillingPeriod\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceBillingPeriod} from './APIResourceBillingPeriod';\nimport {Account, AccountData} from './models/Account';\nimport {AccountConcurrencyStatusMap} from './models/AccountConcurrencyStatusMap';\nimport {AccountPreferences} from './models/AccountPreference';\nimport {AccountService} from './models/AccountService';\nimport {AccountServicePayment} from './models/AccountServicePayment';\nimport {BillingPeriod, BillingPeriodQueryParams} from './models/BillingPeriod';\nimport {DeviceTimeSummaryQueryParams} from './models/Device';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams, QueryParams, SimpleCollectionResponse} from './models/HTTP';\nimport {User, UserData} from './models/User';\nimport {DeviceTimeQueryParams, UserDeviceTime} from './models/UserDeviceTime';\nimport {UserDeviceTimeSummary} from './models/UserDeviceTimeSummary';\nimport {VisualTestAccess} from './models/VisualTest';\n\n\nexport class APIResourceAccount extends APIResource {\n\n /**\n * /accounts/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('accounts', id);\n }\n\n // /accounts/{id}/concurrency-status\n concurrencyStatus() {\n return new APIResource(this).push('concurrency-status');\n }\n\n // /accounts/{id}/device-time\n deviceTime() {\n return new APIList(this).push('device-time');\n }\n\n // /accounts/{id}/device-time-summary\n deviceTimeSummary() {\n return new APIList(this).push('device-time-summary');\n }\n\n // /accounts/{id}/preferences\n preferences() {\n return new APIResource>(this).push('preferences');\n }\n\n // /accounts/{id}/users\n users() {\n return new APIList(this).push('users');\n }\n\n // /accounts/{accountId}/users/{userId}\n removeUser(id: number) {\n return new APIResource(this).push('users', id);\n }\n\n // /accounts/{accountId}/users/{userId}/disable\n disableUser(id: number) {\n return new APIResource(this).push('users', id, 'disable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/enable\n enableUser(id: number) {\n return new APIResource(this).push('users', id, 'enable').post();\n }\n\n // /accounts/{accountId}/users/{userId}/resend-activation\n resendActivation(id: number) {\n return new APIResource(this).push('users', id, 'resend-activation').post();\n }\n\n // /accounts/{accountId}/billing-periods\n billingPeriods() {\n return new APIList(this).push('billing-periods');\n }\n\n // /accounts/{accountId}/billing-periods/{id}\n billingPeriod(id: number) {\n return new APIResourceBillingPeriod(this, id);\n }\n\n // /account-services/{id}/billing-period\n serviceBillingPeriod(id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n return new APIResource(this).push('account-services', id, 'billing-period');\n }\n\n // /account/{accountId}/visual-test/access\n visualTestAccess() {\n return new APIResource(this).push('visual-tests', 'access');\n }\n\n // /account/{accountId}/account-services\n accountServices() {\n return new APIList(this).push('account-services');\n }\n\n // /account/{accountId}/account-services/{id}\n accountService(id: number) {\n return new APIList(this).push('account-services', id);\n }\n\n}\n\nexport default APIResourceAccount;\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Broker} from './models/Broker';\nimport {NoData, NoQueryParams} from './models/HTTP';\n\nexport class APIResourceBroker extends APIResource {\n\n /**\n * /broker\n */\n constructor(parent: API) {\n\n super(parent);\n this.push('broker');\n }\n\n // /broker/hubs\n hubs() {\n return new APIList(this).push('hubs');\n }\n\n}\n\nexport default APIResourceBroker\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {Browser} from './models/Browser';\nimport {Device, DeviceProperiesData, DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams} from './models/HTTP';\n\n\nexport class APIResourceDevice extends APIResource {\n\n /**\n * /devices/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('devices', id);\n }\n\n // /devices/{id}/properties\n properties() {\n return new APIList(this).push('properties');\n }\n\n browsers() {\n return new APIList(this).push('browsers');\n }\n\n}\n\nexport default APIResourceDevice\n","import {API} from '../API';\nimport {APIList} from './APIList'\nimport {APIResource} from './APIResource'\nimport {DeviceProperty} from './models/Device';\nimport {CollectionBasicQueryParams, NoQueryParams} from './models/HTTP';\nimport {LabelData, LabelGroup} from './models/LabelGroup';\n\nexport class APIResourceLabelGroup extends APIResource {\n\n /**\n * /label-groups/{id}\n */\n constructor(parent: API, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('label-groups', id);\n }\n\n // /label-groups/{id}/labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /label-groups/{id}/labels/{id}\n label(id: number) {\n return new APIResource(this).push('labels', id);\n }\n\n}\n\nexport default APIResourceLabelGroup\n","import {API} from '../API';\nimport {APIEntity} from './APIEntity';\nimport {APIList} from './APIList';\nimport {FilesQueryParams} from './class/FilesQueryParams';\nimport {FileData, UploadObj, UserFile} from './models/UserFile';\n\n\nexport class APIListFiles extends APIList {\n\n /**\n * /files\n */\n constructor(parent: APIEntity | API) {\n super(parent);\n this.push('files');\n }\n\n /**\n * Simplifies process of uploading\n * /files\n */\n upload(obj: UploadObj): this {\n // For NodeJS\n // @ts-ignore\n if (global.isNodeJs) {\n return this.nodeUpload(obj);\n } else {\n /**\n * Browser\n * @todo\n */\n throw new Error('Not supported yet!');\n }\n }\n\n private nodeUpload(file: UploadObj): this {\n const fs = require('fs');\n const FormData = require('form-data');\n const form = new FormData();\n form.append('file', fs.createReadStream(file.dir + '/' + file.filename), {\n filename: file.filename\n });\n return this.post().headers(form.getHeaders()).data(form);\n }\n\n}\n\nexport default APIListFiles\n","import {APIList} from './APIList'\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIResource} from './APIResource'\n\n\nexport class APIResourceChannel extends APIResource {\n\n /**\n * /users/{id}/notifications/channels/{type}\n */\n constructor(parent: APIListNotifications, type: string) {\n if (type == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('channels', type);\n }\n\n // /channels/{type}/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n}\n\nexport default APIResourceChannel;\n","import {APIList} from './APIList';\nimport {APIResourceChannel} from './APIResourceChannel';\nimport {APIResourceUser} from './APIResourceUser';\nimport {Enum} from './models/Enum';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {Notification, NotificationsData} from './models/Notification';\n\n\nexport class APIListNotifications extends APIList {\n\n /**\n * /notifications\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('notifications');\n }\n\n // /notifications/scopes\n scopes() {\n return new APIList(this).push('scopes');\n }\n\n // /notifications/channels\n channels() {\n return new APIList(this).push('channels');\n }\n\n channel(type: string) {\n return new APIResourceChannel(this, type);\n }\n\n}\n\nexport default APIListNotifications\n","import {APIList} from './APIList';\nimport {APIResource} from './APIResource';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoQueryParams} from './models/HTTP';\nimport {TestRun, TestRunConfig, TestRunsConfigData, TestRunsData, TestRunsQueryParams} from './models/TestRun';\n\n\nexport class APIListRuns extends APIList {\n\n /**\n * /runs\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('runs');\n }\n\n // /runs/config\n config() {\n return new APIResource(this).push('config');\n }\n\n}\n\nexport default APIListRuns\n","import {Method} from 'axios';\nimport {APIList} from './APIList';\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData} from './models/HTTP';\nimport {SmartbearTunnel, TunnelQueryParams} from './models/SmartbearTunnel';\n\n\nexport class APIListSmartbearTunnels extends APIList {\n\n protected ALLOWED_HTTP_METHODS: Array = ['GET'];\n\n /**\n * /tunnels\n */\n constructor(parent: APIResourceUser) {\n super(parent);\n this.push('tunnels');\n }\n\n /**\n * Sets tunnel activity parameter\n */\n active(active: boolean): this {\n return this.params({active: active});\n }\n}\n\nexport default APIListSmartbearTunnels;\n","\nimport {APIResource} from './APIResource'\nimport {APIResourceUser} from './APIResourceUser';\nimport {NoData, NoQueryParams} from './models/HTTP';\nimport {Message} from './models/Message';\nimport {Notification, NotificationData} from './models/Notification';\n\nexport class APIResourceNotification extends APIResource {\n\n /**\n * /notifications/{id}\n */\n constructor(parent: APIResourceUser, id: number) {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n this.push('notifications', id);\n }\n\n // /notifications/{id}/test\n test() {\n return new APIResource(this).push('test');\n }\n\n}\n\nexport default APIResourceNotification\n","import {API} from '../API';\nimport {APIList} from './APIList';\nimport {APIListFiles} from './APIListFiles';\nimport {APIListNotifications} from './APIListNotifications';\nimport {APIListRuns} from './APIListRuns';\nimport {APIListServices} from './APIListServices';\nimport {APIListSmartbearTunnels} from './APIListSmartbearTunnels';\nimport {APIResource} from './APIResource';\nimport {APIResourceAccessGroup} from './APIResourceAccessGroup';\nimport {APIResourceDeviceGroup} from './APIResourceDeviceGroup';\nimport {APIResourceDeviceSessionStandalone} from './APIResourceDeviceSessionStandalone';\nimport {APIResourceFile} from './APIResourceFile';\nimport {APIResourceNotification} from './APIResourceNotification';\nimport {APIResourceProject} from './APIResourceProject';\nimport {AccessGroup, AccessGroupsData} from './models/AccessGroup';\nimport {DeviceGroup, DeviceGroupData, DeviceGroupIdsData, DeviceGroupWithPublicParams} from './models/DeviceGroup';\nimport {DeviceStatistics} from './models/DeviceStatistics';\nimport {DeviceUsage} from './models/DeviceUsage';\nimport {Framework} from './models/Framework';\nimport {Project, UserProjectData, UserProjectQueryParams} from './models/Project';\nimport {User, UserDeleteData} from './models/User';\nimport {UiPreferencesData, UserPreference, UserPreferenceData} from './models/UserPreference';\nimport {StatisticQueryParams, UserStatistics} from './models/UserStatistics';\nimport {DeviceSession, DeviceSessionData, DeviceSessionQueryParams} from './models/DeviceSession';\nimport {CollectionBasicQueryParams, NoData, NoQueryParams} from './models/HTTP';\nimport {DeviceStatisticQueryParam, DeviceUsageQueryParams} from './models/Device';\n\nexport class APIResourceUser extends APIResource {\n\n /**\n * /users/{id} | /me\n */\n constructor(parent: API, id: number | 'me') {\n if (id == null) {\n throw new Error('Resource ID cannot be null!');\n }\n\n super(parent);\n\n if (id === 'me') {\n this.push('me');\n } else if (typeof id === 'number') {\n this.push('users', id);\n } else {\n throw new TypeError('id is not a number');\n }\n }\n\n // /users/{id}/services\n services() {\n return new APIListServices(this);\n }\n\n // /users/{id}/device-groups\n deviceGroups() {\n return new APIList>(this).push('device-groups');\n }\n\n // /users/{id}/device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /users/{id}/device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /users/{id}/device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSessionStandalone(this, id);\n }\n\n // /users/{id}/mark-account-owner\n markAccountOwner() {\n return new APIResource(this).push('mark-account-owner').post();\n }\n\n // /users/{id}/projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /users/{id}/projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /users/{id}/files\n files() {\n return new APIListFiles(this);\n }\n\n // /users/{id}/files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /users/{id}/runs\n runs() {\n return new APIListRuns(this);\n }\n\n // /users/{id}/available-frameworks\n availableFrameworks() {\n return new APIList(this).push('available-frameworks');\n }\n\n /**\n * /users/{id}/reset-api-key\n */\n resetApiKey() {\n return new APIResource(this).push('reset-api-key');\n }\n\n // /users/{id}/restore\n restore() {\n return new APIResource(this).push('restore');\n }\n\n // /users/{id}/feedback\n feedback() {\n return new APIResource(this).push('feedback');\n }\n\n // /users/{id}/notifications\n notifications() {\n return new APIListNotifications(this);\n }\n\n // /users/{id}/notifications/{id}\n notification(id: number) {\n return new APIResourceNotification(this, id);\n }\n\n // /users/{id}/preferences\n preferences() {\n return new APIResource(this).push('preferences');\n }\n\n // /users/{id}/ui-preferences\n uiPreferences() {\n return new APIResource(this).push('ui-preferences');\n }\n\n // /users/{id}/device-usage\n deviceUsage() {\n return new APIList(this).push('device-usage');\n }\n\n // /users/{id}/statistics\n statistics() {\n return new APIResource(this).push('statistics');\n }\n\n // /users/{id}/device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /users/{id}/access-groups\n accessGroups() {\n return new APIList(this).push('access-groups');\n }\n\n // /users/{id}/access-groups/{id}\n accessGroup(id: number) {\n return new APIResourceAccessGroup(this, id);\n }\n\n // /users/{id}/tunnels/{id}\n smartbearTunnel(id: number) {\n return new APIResource(this).push('tunnels', id);\n }\n\n // /users/{id}/tunnels\n smartbearTunnels() {\n return new APIListSmartbearTunnels(this);\n }\n\n deleteAccount() {\n return new APIResource(this).push('delete');\n }\n}\n\nexport default APIResourceUser\n","import {API} from '../API';\nimport {APIResource} from './APIResource'\nimport {NoQueryParams} from './models/HTTP';\nimport {LoginData, User} from './models/User';\n\nexport class APIResourceUserSession extends APIResource {\n\n // /user-sessions\n constructor(parent: API) {\n super(parent);\n this.push('user-sessions');\n }\n\n // /user-sessions/login\n login(data: LoginData) {\n return new APIResource(this).push('login').post().data(data);\n }\n\n // /user-sessions/logout\n logout() {\n return new APIResource(this).push('logout').post();\n }\n\n // /user-sessions/oauth/authorize/{name}-login\n sso(name: string) {\n return new APIResource(this).push('oauth', 'authorize', name + '-login');\n }\n\n // /user-sessions/portal-login\n portalLogin() {\n return new APIResource(this).push('portal-login').post();\n }\n\n // /user-sessions/oauth/authorize/sbid-login\n sbidCallbackUrl() {\n return new APIResource(this).push('oauth', 'authorize', 'sbid-login').toUrl(true);\n }\n\n}\n\nexport default APIResourceUserSession\n","import axios, {AxiosInstance} from 'axios';\n// @ts-ignore\nimport {version} from '../package.json';\nimport {APIAdminResource} from './api/APIAdminResource';\nimport {APIAdminResourceCluster} from './api/APIAdminResourceCluster';\nimport {APIList} from './api/APIList';\nimport {APIListDevices} from './api/APIListDevices';\nimport {APIListProperties} from './api/APIListProperties';\nimport {APIListServices} from './api/APIListServices';\nimport {APIListUsers} from './api/APIListUsers';\nimport {APIResource} from './api/APIResource';\nimport {APIResourceAccount} from './api/APIResourceAccount';\nimport {APIResourceBroker} from './api/APIResourceBroker';\nimport {APIResourceDevice} from './api/APIResourceDevice';\nimport {APIResourceDeviceGroup} from './api/APIResourceDeviceGroup';\nimport {APIResourceDeviceSession} from './api/APIResourceDeviceSession';\nimport {APIResourceFile} from './api/APIResourceFile';\nimport {APIResourceLabelGroup} from './api/APIResourceLabelGroup';\nimport {APIResourceProject} from './api/APIResourceProject';\nimport {APIResourceRun} from './api/APIResourceRun';\nimport {APIResourceUser} from './api/APIResourceUser';\nimport {APIResourceUserSession} from './api/APIResourceUserSession';\nimport {Cluster} from './api/models/Cluster';\nimport {CollectionQueryParams, NoData, NoQueryParams} from './api/models/HTTP';\nimport {License} from './api/models/License';\nimport {Project} from './api/models/Project';\nimport {Property} from './api/models/Property';\nimport {UserFile, UserFileData, UserFileParams} from './api/models/UserFile';\nimport {ApiConfig} from './ApiConfig';\nimport './finka';\nimport {LabelGroup} from './api/models/LabelGroup';\n\n// @ts-ignore\nif (globalThis.isNodeJs) {\n // Set User-Agent\n axios.defaults.headers.common['User-Agent'] = `Bitbar Cloud API Client for JavaScript v${version}`;\n}\n\n// Disable max content length\naxios.defaults.maxContentLength = 1073741824; // 1GB\n\n\n/**\n * API\n * Root for other API resources\n */\nexport class API {\n axios: AxiosInstance;\n\n private axiosConfig: ApiConfig = {};\n\n get baseUrl(): string {\n return this.axiosConfig.baseURL;\n }\n\n\n constructor(private config: ApiConfig) {\n if (config == null) {\n throw new Error('config cannot be empty');\n } else if (this.config.cloudUrl == null) {\n throw new TypeError('cloudUrl cannot be empty');\n } else if (typeof this.config.cloudUrl !== 'string') {\n throw new TypeError('cloudUrl must be a string');\n } else if (!/^https?:\\/\\/.{2,}/.test(this.config.cloudUrl)) {\n throw new Error(`cloudUrl doesn't look like a URL`);\n }\n\n // Validate and correct cloudUrl if needed\n this.axiosConfig.baseURL = this.config.cloudUrl.replace(/\\/+$/, '') + '/api'\n\n // Check v2\n this.config.v2 = !!this.config.v2;\n if (this.config.v2) {\n this.axiosConfig.baseURL += '/v2';\n }\n\n // Check if apiKey is set\n if (this.config.apiKey) {\n if (typeof this.config.apiKey !== 'string') {\n throw new TypeError('apiKey must be a string');\n } else if (!/^[A-Za-z0-9]{32}$/.test(this.config.apiKey)) {\n throw new Error('apiKey is in the wrong format');\n }\n\n this.axiosConfig.auth = {\n username: this.config.apiKey,\n password: ''\n };\n }\n\n // With credentials\n this.axiosConfig.withCredentials = config.withCredentials == null ? false : config.withCredentials;\n\n // Create axios instance\n this.axios = axios.create(this.axiosConfig);\n }\n\n\n // --- Resources starts here --- //\n\n // /account/{id}\n account(id: number) {\n return new APIResourceAccount(this, id);\n }\n\n // /admin\n admin() {\n return new APIAdminResource(this);\n }\n\n // /broker\n broker() {\n return new APIResourceBroker(this);\n }\n\n // /clusters\n clusters() {\n return new APIList(this).push('clusters');\n }\n\n // /clusters/{id}\n cluster(id: number) {\n return new APIAdminResourceCluster(this, id);\n }\n\n // /devices/{id}\n device(id: number) {\n return new APIResourceDevice(this, id);\n }\n\n // /device-groups/{id}\n deviceGroup(id: number) {\n return new APIResourceDeviceGroup(this, id);\n }\n\n // /device-groups\n deviceGroups() {\n return new APIList(this).push('device-groups');\n }\n\n // /devices\n devices() {\n return new APIListDevices(this);\n }\n\n // /device-sessions/{id}\n deviceSession(id: number) {\n return new APIResourceDeviceSession(this, id);\n }\n\n // /device-sessions\n deviceSessions() {\n return new APIList(this).push('device-sessions');\n }\n\n // /device-statistics\n deviceStatistics() {\n return new APIList(this).push('device-statistics');\n }\n\n // /enums\n enums() {\n return new APIResource(this).push('enums');\n }\n\n // /files\n files() {\n return new APIList(this).push('files');\n }\n\n // /files/{id}\n file(id: number) {\n return new APIResourceFile(this, id);\n }\n\n // /label-groups\n labelGroups() {\n return new APIList(this).push('label-groups');\n }\n\n // /label-groups/{id}\n labelGroup(id: number) {\n return new APIResourceLabelGroup(this, id);\n }\n\n // /labels\n labels() {\n return new APIList(this).push('labels');\n }\n\n // /licenses\n licenses() {\n return new APIResource(this).push('licenses');\n }\n\n // /license\n license() {\n return new APIResource(this).push('license');\n }\n\n /*\n /me or /admin\n Requires prototype extension covering ACL check\n */\n ma(): APIAdminResource | APIResourceUser {\n throw new Error('Requires prototype extension covering ACL check');\n }\n\n // /me\n me() {\n return this.user('me');\n }\n\n // /projects\n projects() {\n return new APIList(this).push('projects');\n }\n\n // /projects/{id}\n project(id: number) {\n return new APIResourceProject(this, id);\n }\n\n // /properties\n properties() {\n return new APIListProperties(this);\n }\n\n // /properties/{id}\n property(id: number) {\n return new APIResource(this).push('properties', id);\n }\n\n // /runs/{id}\n run(id: number) {\n return new APIResourceRun(this, id);\n }\n\n // /services\n services() {\n return new APIListServices(this);\n }\n\n // /user/{id}\n user(id: number | 'me') {\n return new APIResourceUser(this, id);\n }\n\n // /users\n users() {\n return new APIListUsers(this);\n }\n\n // /user-sessions\n userSession() {\n return new APIResourceUserSession(this);\n }\n\n}\n\n\nexport default API;\n","/* istanbul ignore file */\n\nimport {API} from './API';\nimport {FilterBuilder} from './FilterBuilder';\n\nexport {API} from './API';\nexport {FilterBuilder} from './FilterBuilder';\n\n/**\n * Cloud API Client\n */\nexport const CloudAPIClient = {\n API,\n FilterBuilder\n}\n\nexport default CloudAPIClient;\n","export enum AccessGroupScope {\n USER = 'USER',\n ACCOUNT = 'ACCOUNT',\n GLOBAL = 'GLOBAL'\n}\n\nexport type AccessGroup = {\n id: number;\n name: string;\n scope: AccessGroupScope;\n userEmail: string;\n userId: number;\n}\n\nexport type AccessGroupData = Pick;\n\nexport type AccessGroupsData = Omit;\n","import {ServiceUnit} from './Service';\n\nexport enum PaymentStatus {\n SUCCEEDED = 'SUCCEEDED',\n FAILED = 'FAILED',\n REDIRECTED = 'REDIRECTED'\n}\n\nexport enum PaymentMethod {\n PAYPAL = 'PAYPAL',\n BRAINTREE = 'BRAINTREE',\n STRIPE = 'STRIPE',\n INVOICE = 'INVOICE',\n PROMOTION = 'PROMOTION',\n AWS = 'AWS'\n}\n\nexport enum ChargeType {\n USAGE_MOBILE = 'USAGE_MOBILE',\n CONCURRENCY_MOBILE = 'CONCURRENCY_MOBILE',\n CONCURRENCY_DESKTOP = 'CONCURRENCY_DESKTOP'\n}\n\nexport enum DeactivateReason {\n INITIAL_FAILURE = 'INITIAL_FAILURE',\n SCA_FAILURE = 'SCA_FAILURE',\n CHARGE_FAILURE = 'CHARGE_FAILURE',\n CANCEL = 'CANCEL',\n SUSPENDED = 'SUSPENDED',\n ANOTHER_PURCHASE = 'ANOTHER_PURCHASE'\n}\n\nexport type ServicePaymentStatus = {\n accountService: AccountService;\n message: string;\n redirectUrl: string;\n status: PaymentStatus;\n}\n\nexport type AccountService = {\n accountId: number;\n accountName: string;\n activatedById: number;\n activatedByName: string;\n active: boolean;\n braintreeId: string;\n chargeType: ChargeType;\n createTime: number;\n deactivateReason: DeactivateReason;\n deactivatedById: number;\n deactivatedByName: string;\n endTime: number;\n finished: boolean;\n id: number;\n lastPaymentTime: number;\n paymentMethod: PaymentMethod;\n price: number;\n serviceCount: number;\n serviceId: number;\n serviceName: string;\n startTime: number;\n subscriptionManagementURL: string;\n total: number;\n unit: ServiceUnit;\n unitCount: number;\n userId: number;\n vatRate: number;\n}\n\nexport type AccountServiceData = Pick & {count: number};\n","import {DevicesQueryParams, Platform, SoftwareVersion} from './Device';\nimport {OsType} from './Enum';\nimport {CollectionQueryParams} from './HTTP';\n\n\nexport enum InitStep {\n SKIP = 'SKIP',\n REBOOT = 'REBOOT',\n REBOOT_WITH_UNLOCK = 'REBOOT_WITH_UNLOCK',\n UNLOCK_ONLY = 'UNLOCK_ONLY'\n}\n\nexport enum DeviceState {\n OFFLINE_CLEANING = 'OFFLINE_CLEANING',\n OFFLINE_DIRTY = 'OFFLINE_DIRTY',\n OFFLINE_FREE = 'OFFLINE_FREE',\n OFFLINE_TESTING = 'OFFLINE_TESTING',\n ONLINE_CLEANING = 'ONLINE_CLEANING',\n ONLINE_DIRTY = 'ONLINE_DIRTY',\n ONLINE_FREE = 'ONLINE_FREE',\n ONLINE_TESTING = 'ONLINE_TESTING'\n}\n\nexport type AdminDevice = {\n accountId: number;\n accountName: string;\n cluster: unknown;\n comment: string;\n dedicationEndTime: number;\n deviceModelId: number;\n deviceModelName: string;\n enabled: boolean;\n fingerprint: string;\n id: number;\n initStep: InitStep;\n ipAddress: string;\n lastOnlineTime: number;\n location: string;\n locked: boolean;\n manufacturer: string;\n name: string;\n osType: OsType;\n platform: Platform;\n serialId: string;\n softwareVersion: SoftwareVersion;\n state: DeviceState;\n stateChangeTime: number;\n stateTime: number;\n testTimeLimit: number;\n unlockGesture: string;\n}\n\nexport type AdminDevicesQueryParams = Pick & CollectionQueryParams;\n\nexport type AdminDeviceData = Pick & {apiLevel: number; releaseVersion: string};\n","export enum AdminErrorType {\n ABORT_REQUEST = 'ABORT_REQUEST',\n ADB_COMMAND_REJECTED = 'ADB_COMMAND_REJECTED',\n ADB_SHELL_COMMAND_FAILED = 'ADB_SHELL_COMMAND_FAILED',\n APP_LOCK_NOT_INSTALLED = 'APP_LOCK_NOT_INSTALLED',\n DEVICE_OFFLINE = 'DEVICE_OFFLINE',\n DEVICE_OUTPUT_NULL = 'DEVICE_OUTPUT_NULL',\n GAMEBENCH_ERROR = 'GAMEBENCH_ERROR',\n GAMEBENCH_NOT_SUPPORTED = 'GAMEBENCH_NOT_SUPPORTED',\n GRANT_FAILED = 'GRANT_FAILED',\n INSTALL_FAILED = 'INSTALL_FAILED',\n INTERACTIVE_SETUP_FAILED = 'INTERACTIVE_SETUP_FAILED',\n INTERNAL_INSTALL_FAILED = 'INTERNAL_INSTALL_FAILED',\n INVALID_TEST_SESSION_FILE = 'INVALID_TEST_SESSION_FILE',\n LOCK_EXPIRED = 'LOCK_EXPIRED',\n LOCK_TIMEOUT = 'LOCK_TIMEOUT',\n NO_NETWORK_CONNECTION = 'NO_NETWORK_CONNECTION',\n OTHER = 'OTHER',\n REBOOTING_TIMEOUT = 'REBOOTING_TIMEOUT',\n REPACKAGING = 'REPACKAGING',\n RESULTS_PREPARING = 'RESULTS_PREPARING',\n RESULTS_PROCESSING = 'RESULTS_PROCESSING',\n RESULTS_SENDING = 'RESULTS_SENDING',\n STEP_TIMEOUT = 'STEP_TIMEOUT',\n SYSTEM_FAILURE = 'SYSTEM_FAILURE',\n TEST_RUN_FAILED = 'TEST_RUN_FAILED',\n TEST_RUN_INTERRUPTED = 'TEST_RUN_INTERRUPTED',\n TEST_RUN_TIMEOUT = 'TEST_RUN_TIMEOUT',\n TEST_RUN_WARNED = 'TEST_RUN_WARNED',\n TEST_TIMEOUT = 'TEST_TIMEOUT',\n VNC_CONNECTION_SETUP_FAILED = 'VNC_CONNECTION_SETUP_FAILED',\n XCRUN_INSTRUMENTS_COMMAND_FAILED = 'XCRUN_INSTRUMENTS_COMMAND_FAILED',\n XCRUN_INSTRUMENTS_JS_ERROR = 'XCRUN_INSTRUMENTS_JS_ERROR'\n}\n\nexport type AdminError = {\n id: number;\n quantity: number;\n type: AdminErrorType;\n}\n","import {DeviceSessionState} from './DeviceSession';\nimport {OsType} from './Enum';\n\nexport enum FrameworkType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport type AdminFrameworkStatistics = {\n cloudName: string;\n count: number;\n day: number;\n deviceModelId: number;\n deviceModelName: string;\n frameworkId: number;\n frameworkName: string;\n id: number;\n osType: OsType;\n releaseVersion: string;\n state: DeviceSessionState;\n type: FrameworkType;\n userEmail: string;\n userId: number;\n}\n","import {PaymentMethod} from './AccountService';\nimport {DeviceSessionType} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {QueryParams} from './HTTP';\n\nexport enum BillingType {\n BUY = 'BUY',\n CHARGE = 'CHARGE',\n CANCEL = 'CANCEL'\n}\n\nexport type BillingPeriod = {\n accountServiceId: number;\n additionalHours: number;\n additionalHoursPrice: number;\n apiBillingPeriodType: BillingType;\n createTime: number;\n endBillingPeriod: number;\n id: number;\n lastPaymentDate: number;\n paid: boolean;\n paymentMethod: PaymentMethod;\n plan: string;\n servicePrice: number;\n startBillingPeriod: number;\n subscriptionEnd: number;\n subscriptionStart: number;\n totalPrice: number;\n usages: Array;\n}\n\nexport type BillingPeriodUsage = {\n billableSeconds: number;\n id: number;\n nonBillableSeconds: number;\n osType: OsType;\n type: DeviceSessionType;\n}\n\nexport interface BillingPeriodQueryParams extends QueryParams {\n onDate: number;\n}\n","export enum BrokerType {\n MOBILE = 'MOBILE',\n DESKTOP = 'DESKTOP'\n}\n\nexport type Broker = {\n id: number;\n location: string;\n type: BrokerType;\n url: string;\n}\n","\nimport {AdminDevice} from './AdminDevice';\nimport {CollectionResponse, QueryParams} from './HTTP';\n\nexport type Cluster = {\n devices: CollectionResponse;\n enabled: boolean;\n id: number;\n ipAddress: string;\n jenkinsUrl: string;\n location: string;\n name: string;\n pluginVersion: string;\n region: string;\n state: ClusterState;\n stateChangeTime: number;\n stateTime: number;\n url: string;\n}\n\nexport enum ClusterState {\n 'OFFLINE',\n ONLINE = 'ONLINE',\n RESTARTING = 'RESTARTING',\n QUIET_DOWN = 'QUIET_DOWN',\n MAINTENANCE = 'MAINTENANCE'\n}\n\nexport interface ClusterParams extends QueryParams {\n withDevices: boolean;\n}\n\nexport type ClusterData = Pick & {\n quietDown: boolean;\n restart: boolean;\n turnMaintenance: boolean;\n}\n","import {Browser} from './Browser';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, CollectionQueryParams, CollectionResponse, QueryParams} from './HTTP';\nimport {TestRunsQueryParams} from './TestRun';\n\n\nexport enum DeviceGroupOrigin {\n STATIC = 'STATIC',\n DYNAMIC = 'DYNAMIC',\n HYBRID = 'HYBRID'\n}\n\nexport enum Platform {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n WINDOWS = 'WINDOWS',\n MAC = 'MAC',\n LINUX = 'LINUX',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport enum SupportedCreators {\n MANUAL = 'MANUAL',\n ROBOT = 'ROBOT',\n AUTOMATIC = 'AUTOMATIC'\n}\n\nexport type DeviceProperty = {\n displayName: string;\n id: number;\n labelGroupName: string;\n name: string;\n propertyGroupId: number;\n propertyGroupName: string;\n}\n\nexport type SoftwareVersion = {\n apiLevel: number;\n id: number;\n releaseVersion: string;\n}\n\nexport type Device = {\n accountId: number;\n accountName: string;\n available: boolean;\n browsers: CollectionResponse;\n creditsPrice: number;\n deviceGroupOrigin: DeviceGroupOrigin;\n displayName: string;\n enabled: boolean;\n frame100Url: string;\n frame160Url: string;\n frame400Url: string;\n frame80Url: string;\n frameExtraWidth: number;\n id: number;\n imageHeight: number;\n imageLeft: number;\n imagePrefix: string;\n imageTop: number;\n imageWidth: number;\n locked: boolean;\n manufacturer: string;\n online: boolean;\n osType: OsType;\n platform: Platform;\n properties: CollectionResponse;\n softwareVersion: SoftwareVersion;\n supportedCreators: Array;\n}\n\nexport type DeviceCleanupConfiguration = {\n content: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n discriminator: string;\n enabled: boolean;\n global: boolean;\n example: true;\n id: number;\n lastModificationTime: number;\n osType: OsType;\n}\n\nexport type DeviceCleanupConfigurationData = {\n deviceCleanupConfigurationId: number;\n}\n\nexport type DeviceLabelData = {\n labelId: number;\n}\n\nexport interface DeviceProperiesData extends QueryParams {\n labelId: number;\n}\n\nexport interface CleanupConfigurationSpecificData extends QueryParams {\n serialId: string;\n}\n\nexport interface DeviceTimeSummaryQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n}\nexport interface DeviceUsageQueryParams extends TestRunsQueryParams {\n startTime: number;\n}\n\nexport interface DeviceStatisticQueryParam extends TestRunsQueryParams {\n mode: string;\n}\n\nexport interface DevicesQueryParams extends CollectionQueryParams {\n labelIds: Array;\n liveTestingOnly: boolean;\n withBrowsers: boolean;\n withDedicated: boolean;\n withDisabled: boolean;\n withProperties: boolean;\n withSupportedCreators: boolean;\n}\n","export enum CriterionField {\n NAME = 'NAME',\n FINGERPRINT = 'FINGERPRINT',\n SERIAL_ID = 'SERIAL_ID',\n UNLOCK_GESTURE = 'UNLOCK_GESTURE',\n SOFTWARE_VERSION = 'SOFTWARE_VERSION',\n INIT_STEP = 'INIT_STEP',\n ACCOUNT = 'ACCOUNT',\n BROWSERS = 'BROWSERS'\n}\n\nexport type DeviceModelCriterion = {\n createTime: number;\n field: CriterionField;\n id: number;\n labelGroupDisplayName: string;\n labelGroupId: number;\n labelGroupName: string;\n}\n\nexport type DeviceModelCriterionData = Pick;\n","export enum RetentionStrategy {\n CLUSTER_ON_OFF = 'CLUSTER_ON_OFF',\n MIN_FREE_MAX_TOTAL = 'MIN_FREE_MAX_TOTAL',\n POOL_MANAGER_AWARE = 'POOL_MANAGER_AWARE'\n}\n\nexport type DeviceModelPool = {\n createTime: number;\n enabled: boolean;\n id: number;\n location: string;\n maxTotal: number;\n minAvailable: number;\n name: string;\n numberOfBrowsers: number;\n osVersion: string;\n retentionStrategy: RetentionStrategy;\n running: number;\n}\n\nexport type DeviceModelPoolData = Pick;\n","export enum ProblemType {\n CLEANING = 'CLEANING',\n DIRTY = 'DIRTY',\n OFFLINE = 'OFFLINE',\n LOW_BATTERY = 'LOW_BATTERY',\n HIGH_FAIL_RATE = 'HIGH_FAIL_RATE',\n NO_INTERNET_CONNECTION = 'NO_INTERNET_CONNECTION'\n}\n\nexport type DeviceProblem = {\n clusterId: number;\n clusterName: string;\n deviceId: number;\n deviceModelId: number;\n deviceModelName: string;\n deviceName: string;\n id: number;\n problems: Array;\n}\n\nexport type DeviceProblemPair = {\n id: number;\n type: ProblemType;\n value: any;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport type TunnelSettings = {\n domain: string;\n email: string;\n}\n\nexport enum DeviceSessionType {\n AUTOMATIC = 'AUTOMATIC',\n MANUAL = 'MANUAL',\n MANUAL_APP = 'MANUAL_APP',\n MANUAL_WEB = 'MANUAL_WEB',\n REMOTE = 'REMOTE'\n}\n\nexport enum RetryState {\n NONE = 'NONE',\n MANUAL = 'MANUAL',\n AUTO = 'AUTO'\n}\n\nexport enum DeviceSessionState {\n ABORTED = 'ABORTED',\n EXCLUDED = 'EXCLUDED',\n FAILED = 'FAILED',\n RUNNING = 'RUNNING',\n SUCCEEDED = 'SUCCEEDED',\n TIMEOUT = 'TIMEOUT',\n WAITING = 'WAITING',\n WARNING = 'WARNING'\n}\n\nexport enum DeviceSessionStepType {\n WAITING = 'WAITING',\n PREPARING = 'PREPARING',\n UNINSTALL = 'UNINSTALL',\n INSTALL = 'INSTALL',\n RUNNING = 'RUNNING',\n SENDING_RESULTS = 'SENDING_RESULTS',\n PROCESSING_RESULTS = 'PROCESSING_RESULTS'\n}\n\nexport type DeviceSessionConfig = {\n adbVersion: string;\n browserName: string;\n browserVersion: string;\n deviceModelId: number;\n id: number;\n screenResolution: string;\n tunnelSettings: TunnelSettings;\n type: DeviceSessionConfig;\n url: string;\n}\n\nexport type DeviceSession = {\n accountId: number;\n autoRetriesLeftCount: number;\n billable: boolean;\n config: DeviceSessionConfig;\n createTime: number;\n clientSideId: string;\n device: Device;\n deviceInstanceId: number;\n deviceLogFirstTimestamp: number;\n deviceRunId: number;\n deviceTime: number;\n duration: number;\n endTime: number;\n excludeReason: string;\n externalId: string;\n id: number;\n installTime: number;\n name: string;\n projectId: number;\n projectName: string;\n retryState: RetryState;\n rowIndex: number;\n startTime: number;\n state: DeviceSessionState;\n successRatio: number;\n testCaseAllCount: number;\n testCaseFailedCount: number;\n testCasePassedCount: number;\n testCaseSkippedCount: number;\n testCaseSuccessCount: number;\n testRunId: number;\n testRunName: string;\n timeLimit: number;\n type: DeviceSessionType;\n userEmail: string;\n userId: number;\n}\n\nexport type DeviceSessionCommand = {\n duration: number;\n httpMethod: string;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n\nexport type DeviceSessionStep = {\n deviceSessionId: number;\n excludeReason: string;\n failReason: string;\n finishTimeMS: number;\n id: number;\n startTimeMS: number;\n type: DeviceSessionStepType;\n}\n\nexport type DeviceSessionConnection = {\n createTime: number;\n deviceSessionId: number;\n endTime: number;\n externalId: string;\n host: string;\n id: number;\n password: string;\n path: string;\n port: number;\n type: string;\n url: string;\n urlSchema: string;\n}\n\nexport type DeviceSessionData = Omit & {configuration: DeviceSessionConfig};\n\nexport interface DeviceSessionQueryParams extends CollectionBasicQueryParams {\n withProperties: boolean;\n}\n\nexport interface SessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n testRunId: number;\n}\n\nexport interface SessionRunStepQueryParams extends CollectionBasicQueryParams {\n runId: number;\n}\n\nexport interface SessionStepQueryParams extends SessionRunStepQueryParams {\n projectId: number;\n}\n\nexport interface TRunDeviceSessionQueryParams extends CollectionBasicQueryParams {\n projectId: number;\n}\n\nexport enum SessionReleaseReason {\n INACTIVITY = 'INACTIVITY',\n TIMEOUT = 'TIMEOUT',\n USER_ACTION = 'USER_ACTION',\n CHANGE_DEVICE = 'CHANGE_DEVICE',\n WEBSOCKET_CLOSED = 'WEBSOCKET_CLOSED'\n}\n\nexport type DeviceSessionRelease = {\n reason: SessionReleaseReason;\n}\n","export enum OsType {\n IOS = 'IOS',\n ANDROID = 'ANDROID',\n DESKTOP = 'DESKTOP',\n UNDEFINED = 'UNDEFINED'\n}\n\nexport type Enum = {\n id: number;\n value: string;\n}\n","export enum LicenseStatus {\n ACTIVE = 'ACTIVE',\n EXPIRED = 'EXPIRED',\n INACTIVE = 'INACTIVE',\n CLOSED = 'CLOSED'\n}\n\nexport type BaseLicense = {\n enabled: boolean;\n};\n\nexport type FeatureLicense = {\n deviceLimit: number;\n deviceLimited: boolean;\n projectLimit: number;\n projectLimited: boolean;\n};\n\nexport type AndroidLicense = BaseLicense & FeatureLicense & {\n cts: CTSLicense;\n uiAutomator: UIAutomatorLicense;\n};\n\nexport type BuildLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type DesktopLicense = BaseLicense & FeatureLicense;\n\nexport type GlobalLicense = FeatureLicense;\n\nexport type InspectorLicense = BaseLicense;\n\nexport type IOSLicense = BaseLicense & FeatureLicense;\n\nexport type RecorderLicense = BaseLicense & {\n limit: number;\n limited: boolean;\n};\n\nexport type ServerLicense = BaseLicense & {\n androidEnabled: boolean;\n iosEnabled: boolean;\n};\n\nexport type CTSLicense = BaseLicense;\n\nexport type UIAutomatorLicense = BaseLicense;\n\nexport type License = {\n activateTime: number;\n android: AndroidLicense;\n build: BuildLicense;\n closeTime: number;\n desktop: DesktopLicense;\n expireTime: number;\n global: GlobalLicense;\n id: number;\n inspector: InspectorLicense;\n ios: IOSLicense;\n privateInstance: boolean;\n recorder: RecorderLicense;\n server: ServerLicense;\n status: LicenseStatus;\n userEmail: string;\n userId: number;\n}\n\nexport type LicenseData = Pick & {\n androidDeviceLimit: number;\n androidEnabled: boolean;\n androidProjectLimit: number;\n buildEnabled: boolean;\n buildLimit: number;\n desktopDeviceLimit: number;\n desktopEnabled: boolean;\n desktopProjectLimit: number;\n globalDeviceLimit: number;\n globalProjectLimit: number;\n inspectorEnabled: boolean;\n iosDeviceLimit: number;\n iosEnabled: boolean;\n iosProjectLimit: number;\n privateInstance: boolean;\n unit: string;\n unitCount: number;\n}\n","export type Maintenance = {\n enabled: boolean;\n id: number;\n}\n\nexport enum MaintenanceType {\n BARE_METAL = 'BARE_METAL',\n EC2 = 'EC2',\n VM = 'VM'\n}\n\nexport type MaintenanceData = {\n enabled: boolean;\n type: MaintenanceType;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum NotificationChannel {\n SLACK = 'SLACK',\n EMAIL = 'EMAIL',\n WEBHOOK = 'WEBHOOK'\n}\n\nexport enum NotificationScope {\n ALL = 'ALL',\n TEST_RUN = 'TEST_RUN',\n TEST_RUN_FAILURE = 'TEST_RUN_FAILURE',\n TEST_RUN_SUCCEEDED = 'TEST_RUN_SUCCEEDED',\n MAINTENANCE = 'MAINTENANCE',\n MAINTENANCE_RELEASE = 'MAINTENANCE_RELEASE',\n CUSTOM = 'CUSTOM',\n NEWS = 'NEWS',\n SYSTEM = 'SYSTEM',\n CHECK = 'CHECK',\n PLAN_LIMIT_REACHED = 'PLAN_LIMIT_REACHED',\n PLAN_INVOICE = 'PLAN_INVOICE'\n}\n\nexport type Notification = {\n channel: NotificationChannel;\n destination: string;\n id: number;\n projectId?: number;\n projectName?: string;\n scope: NotificationScope;\n userEmail: string;\n userId: number;\n}\n\nexport interface NotificationData extends QueryParams {\n scope: NotificationScope;\n}\n\nexport type NotificationsData = Pick;\n","import {OsType} from './Enum';\nimport {TestRunsQueryParams} from './TestRun';\n\nexport enum ArchivingStrategy {\n NEVER = 'NEVER',\n DAYS = 'DAYS',\n RUNS = 'RUNS'\n}\n\nexport type Project = {\n archiveTime: number;\n archivingItemCount: number;\n archivingStrategy: ArchivingStrategy;\n common: boolean;\n createTime: number;\n description: string;\n id: number;\n name: string;\n osType: OsType;\n readOnly: boolean;\n rowIndex: number;\n shared: boolean;\n sharedByEmail: string;\n sharedById: number;\n sharedWithCaller: boolean;\n successRatio: number;\n userEmail: string;\n userId: number;\n}\n\nexport type UserProjectData = Pick;\n\nexport interface UserProjectQueryParams extends TestRunsQueryParams {\n showStatistics: boolean;\n}\n","import {Device} from './Device';\nimport {CollectionBasicQueryParams} from './HTTP';\n\nexport enum ScreenshotType {\n LANDSCAPE = 'LANDSCAPE',\n PORTRAIT = 'PORTRAIT'\n}\n\nexport type Screenshot = {\n fail: boolean;\n id: number;\n originalName: string;\n takeTimestamp: number;\n type: ScreenshotType;\n}\n\nexport type ScreenshotExtended = Screenshot & {\n device: Device;\n deviceRunId: number;\n projectId: number;\n testRunId: number;\n}\n\nexport interface ScreenshotQueryParams extends CollectionBasicQueryParams {\n name: string;\n}\n","import {ChargeType, PaymentMethod} from './AccountService';\nimport {CollectionQueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport type Service = {\n activateTime: number;\n activated: boolean;\n archiveTime: number;\n centPrice: number;\n chargeType: ChargeType;\n commonId: string;\n customPlan: boolean;\n defaultConcurrences: Array;\n description: string;\n externalId: string;\n features: string;\n id: number;\n includedHours: number;\n name: string;\n pricePerHour: number;\n priceString: string;\n roles: Array;\n unit: ServiceUnit;\n}\n\nexport enum ServiceUnit {\n DAY = 'DAY',\n HOUR = 'HOUR',\n MONTH = 'MONTH',\n PROJECT = 'PROJECT',\n RUN = 'RUN',\n YEAR = 'YEAR'\n}\n\nexport interface AdminServicesParams extends CollectionQueryParams {\n activeOnly: boolean;\n inUse: boolean;\n notArchive: boolean;\n}\n\nexport type ServiceActivateData = {\n activateTime: number;\n}\n\nexport interface ServiceData {\n address?: string;\n braintreeNonce?: string;\n cardNumber?: string;\n city?: string;\n count?: number;\n country?: string;\n cvv?: string;\n email?: string;\n expirationDate?: string;\n firstName?: string;\n lastName?: string;\n organization?: string;\n paymentMethod: PaymentMethod;\n phone?: string;\n serviceId: number;\n state?: string;\n stripeToken?: string;\n vatId?: string;\n zip?: string;\n}\n","import {QueryParams} from './HTTP';\n\n\nexport enum SharedResourceType {\n DEVICE_GROUP = 'DEVICE_GROUP',\n FILE = 'FILE',\n PROJECT = 'PROJECT',\n}\n\nexport type SharedResource = {\n id: number;\n name: string;\n resourceId: number;\n type: SharedResourceType;\n}\n\nexport interface ShareData extends QueryParams {\n accessGroupId: number;\n email: string;\n}\n","import {Method} from 'axios';\nimport {CollectionResponse} from './HTTP';\n\n\nexport enum TestResult {\n PASSED = 'PASSED',\n FAILED = 'FAILED',\n SKIPPED = 'SKIPPED',\n NOT_AVAILABLE = 'NOT_AVAILABLE'\n}\n\nexport type TestCaseRun = {\n className: string;\n createTime: number;\n duration: number;\n errorMessage: string;\n id: number;\n methodName: string;\n result: TestResult;\n stacktrace: string;\n steps: CollectionResponse;\n suiteName: string;\n}\n\nexport type TestCaseRunStep = {\n duration: number;\n httpMethod: Uppercase;\n id: number;\n requestBody: string;\n responseBody: string;\n responseCode: number;\n timestamp: number;\n uri: string;\n}\n","import {Device} from './Device';\nimport {TunnelSettings} from './DeviceSession';\nimport {OsType} from './Enum';\nimport {CollectionBasicQueryParams, QueryParams} from './HTTP';\nimport {Tag} from './Tag';\n\n\nexport enum LimitationType {\n PACKAGE = 'PACKAGE',\n CLASS = 'CLASS'\n}\n\nexport enum TestScheduler {\n PARALLEL = 'PARALLEL',\n SERIAL = 'SERIAL',\n SINGLE = 'SINGLE',\n ALL_INSTANCES = 'ALL_INSTANCES'\n}\n\nexport enum TestState {\n WAITING = 'WAITING',\n RUNNING = 'RUNNING',\n FINISHED = 'FINISHED'\n}\n\n\nexport type TestRun = {\n abortedDeviceCount: number;\n billable: boolean;\n config: TestRunConfig;\n createTime: number;\n deviceCount: number;\n displayName: string;\n errorsDeviceCount: number;\n excludedDeviceCount: number;\n executedTestCaseCount: number;\n executionRatio: number;\n failedTestCaseCount: number;\n finishedDeviceCount: number;\n frameworkId: number;\n frameworkName: string;\n id: number;\n logsFileId: number;\n message: string;\n 'number': number;\n projectId: number;\n projectName: string;\n rowIndex: number;\n runningDeviceCount: number;\n screenshotsFileId: number;\n startTime: number;\n startedByDisplayName: string;\n startedById: number;\n state: TestState;\n succeededDeviceCount: number;\n successRatio: number;\n successfulTestCaseCount: number;\n tags: Array;\n testCaseCount: number;\n timeoutedDeviceCount: number;\n totalDeviceCount: number;\n uiLink: string;\n userId: number;\n waitingDeviceCount: number;\n warningDeviceCount: number;\n}\n\nexport type TestRunConfig = {\n appCrawlerRun: boolean;\n appiumBrokerAddress: string;\n applicationPassword: string;\n applicationUsername: string;\n availableDeviceGroups: any;\n availableDevices: Array;\n availableFrameworks: any;\n availableOsTypes: Array;\n clientSideTestConfig: any;\n computedDevices: Array;\n creditsPrice: number;\n deviceGroupId: number;\n deviceIds: any;\n deviceLanguageCode: string;\n deviceNamePattern: string;\n disableResigning: boolean;\n files: any;\n frameworkId: number;\n hookURL: string;\n id: number;\n instrumentationRunner: string;\n limitationType: LimitationType;\n limitationValue: string;\n loadedPrevious: boolean;\n example: true;\n maxAutoRetriesCount: number;\n maxTestTimeout: any;\n osType: OsType;\n projectId: number;\n projectName: string;\n resignFiles: boolean;\n runAvailable: boolean;\n scheduler: TestScheduler;\n screenshotDir: string;\n status: string;\n statusCode: number;\n testRunId: number;\n testRunName: string;\n testRunNameGrouping: string;\n testRunParameters: any;\n timeout: number;\n tunnelSettings: TunnelSettings;\n useSamples: boolean;\n usedDeviceGroupId: number;\n usedDeviceGroupName: string;\n videoRecordingEnabled: boolean;\n withAnnotation: string;\n withoutAnnotation: string;\n}\n\nexport interface TestRunData extends QueryParams {\n displayName: string;\n}\n\nexport interface RunData extends TestRunData {\n projectId: number;\n}\n\nexport interface RunQueryParam extends QueryParams {\n projectId: number;\n}\n\nexport interface TestRunsData {\n configuration: TestRunConfig;\n}\n\nexport interface TestRunsConfigData extends TestRunsData {\n includeDeviceGroups: boolean;\n includeDevices: boolean;\n includeFrameworks: boolean;\n}\n\n// for users/{userid}/runs\nexport interface TestRunsQueryParams extends CollectionBasicQueryParams {\n forWholeAccount: boolean;\n skipCommonProject: boolean;\n skipShared: boolean;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\nimport {Role} from './Role';\n\n\nexport enum MfaStatus {\n VERIFICATION_NEED = 'VERIFICATION_NEED',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport enum UserStatus {\n INACTIVE = 'INACTIVE',\n DISABLED = 'DISABLED',\n ENABLED = 'ENABLED'\n}\n\nexport type User = {\n accountId: number;\n accountName: string;\n userAccountName: string;\n accountOwners: Array;\n accountServiceIds: Array;\n address: string;\n apiKey: string;\n city: string;\n code: string;\n country: string;\n createTime: number;\n createdByEmail: string;\n createdById: number;\n deleteTime: number;\n email: string;\n enabled: boolean;\n firstName: string;\n id: number;\n isAccountOwner: boolean;\n lastLaunchedTestTime: number;\n lastLoginTime: number;\n lastName: string;\n mfaQRCodeUrl: string;\n mfaStatus: MfaStatus;\n organization: string;\n phone: string;\n registrationIP: string;\n roles: Array;\n serviceIds: Array;\n state: string;\n status: UserStatus;\n timeZone: string;\n vatId: string;\n}\n\nexport type UserData = Pick;\n\nexport interface UserParams extends CollectionQueryParams {\n WITH_ADDRESS: boolean;\n WITH_USER_INFO: boolean;\n onlyMainUsers: boolean;\n onlyWithDisabledServices: boolean;\n withRole: string;\n withRoles: boolean;\n}\n\nexport type UserUpdateAccount = Pick;\n\nexport type UserDeleteData = {\n password: string;\n}\n\nexport interface LoginData {\n username: string;\n password: string;\n}\n\n\nexport type UserPasswordData = {\n key: string;\n password: string;\n};\nexport type UserActivateData = {\n zip: string;\n} & UserPasswordData\n & Pick;\n\nexport interface UserRecoveryQueryParams extends QueryParams {\n recoveryKey: string;\n}\n\nexport interface ValidateVatQueryParams extends QueryParams {\n countryCode: string;\n vatId: string;\n}\n","import {CollectionQueryParams, QueryParams} from './HTTP';\n\n\nexport enum FileDirection {\n INPUT = 'INPUT',\n OUTPUT = 'OUTPUT'\n}\n\nexport enum FileInputType {\n APPLICATION = 'APPLICATION',\n TEST = 'TEST',\n DATA = 'DATA'\n}\n\nexport enum FileState {\n PREPARING = 'PREPARING',\n READY = 'READY'\n}\n\nexport type FileProperty = {\n id: number;\n key: string;\n value: string;\n};\n\nexport type UserFileTag = {\n id: number;\n name: string;\n}\n\nexport type UserFile = {\n createTime: number;\n directUrl: string;\n direction: FileDirection;\n duplicate: boolean;\n fileProperties: Array;\n iconDirectUrl: string;\n id: number;\n inputType: FileInputType;\n mimetype: string;\n name: string;\n shared: boolean;\n size: number;\n state: FileState;\n userEmail: string;\n userId: number;\n};\n\nexport interface UserFileParams extends CollectionQueryParams {\n tag: Array;\n}\n\nexport type UserFileData = {\n file: FormData;\n global: boolean;\n}\n\nexport type BuildLogsData = {\n deviceRunIds: Array;\n projectId: number;\n userId: number;\n}\n\nexport type BuildLogsParams = BuildLogsData;\n\nexport interface FileSizeData extends QueryParams {\n height: number;\n width: number;\n}\n\nexport type UploadObj = {\n dir: string;\n filename: string;\n}\n\nexport interface FileData {\n file: Blob;\n global: boolean;\n}\n","export enum VisualTestImageType {\n FULL_PAGE = 'FULL_PAGE',\n VIEWPORT = 'VIEWPORT',\n ELEMENT_SCREENSHOT = 'ELEMENT_SCREENSHOT'\n}\n\nexport type VisualTestAccess = {\n enabled: boolean;\n apiKey: string | null;\n}\n\nexport type VisualTest = {\n comparisonStatus:\tstring;\n appUrl:\tstring;\n createdAt:\tstring;\n id: number;\n imageName:\tstring;\n imageThumbnailUrl:\tstring;\n imageType:\tVisualTestImageType;\n imageUrl:\tstring;\n sessionId:\tstring;\n testUrl:\tstring;\n}\n"],"names":["Filter","constructor","name","value","operand","this","finka","FilterBuilder","filters","gt","add","lt","after","afterorequal","before","beforeorequal","on","eq","contains","like","notlike","isnull","undefined","isnotnull","in","notin","raw","filter","Array","wrap","isFilterPart","SyntaxError","push","str","test","toString","parts","part","val","length","join","checkNull","_value","i","v","Date","getTime","isNull","item","endsWith","ALLOWED_HTTP_METHODS","APIOrder","exports","APIEntity","parent","stack","requestConfig","root","isArray","setRequestConfig","abortController","AbortController","abortRequest","abort","items","concat","shift","restack","first","last","toUrl","absolute","url","baseUrl","Object","deepAssign","removeRequestConfig","key","headers","_headers","replace","letter","toUpperCase","method","NAME","toLocaleUpperCase","indexOf","Error","get","post","delete","params","getParams","removeParam","data","jsonData","formData","send","signal","startsWith","paramsSerializer","axios","request","stringify","arrayFormat","APIList","all","noLimit","cut","between","create","sort","order","asc","limit","Number","isNatural","getLimit","offset","from","to","only","idx","page","search","query","APIResource","APIListCleanupConfigurations","super","specific","APIResourceCleanupConfiguration","id","devices","APIAdminListDevices","cleanupConfigurations","cleanupConfiguration","APIAdminListNotificationPlans","channels","scopes","APIAdminListRuns","config","apiResource","APIAdminListServices","active","apiList","notArchived","activated","inUse","byPrice","NonRequestable","Promise","reject","APIAdminListStatistics","deviceSessions","frameworks","__decorate","APIAdminResourceAccount","roles","role","accountServices","preferences","APIAdminResourceAccountService","activate","deactivate","APIAdminResourceCluster","APIAdminResourceDevice","labels","label","queue","APIAdminResourceDeviceModel","browsers","InputFileset","files","filesZip","IMAGE_FILES_FILTER","NON_MEDIA_FILES_FILTER","OutputFileset","file","screenshots","screenshot","screenshotFile","videos","tag","nonMediaFiles","performance","images","APIResourceDeviceSessionCommon","commands","input","output","release","steps","step","currentStep","testCaseRuns","connections","logs","responseType","clusterLogs","APIAdminResourceDeviceSessionStandalone","changeBillable","billable","deviceSessionId","postAdminDeviceSessionChangeBillable","APIAdminResourceDeviceTime","countSessionReport","stepTimeReport","APIAdminResourceFramework","requiredRoles","APIAdminResourceLicense","resend","download","APIAdminResourceNotificationPlan","check","execute","postDeviceRunIds","ids","a","deviceRunIds","APIAdminResourceRunStandalone","changePriority","priority","resource","retry","timeout","APIAdminResourceService","APIAdminResourceUserAccount","services","update","APIResourceDeviceSessionStandalone","connection","visualTestsImages","APIAdminResourceUser","disable","enable","licenses","resendActivation","account","deviceSession","APIResourceAccessGroup","users","user","resources","APIResourceDeviceGroup","device","selectors","selector","share","APIResourceFile","icon","tags","property","APIResourceDeviceSession","APIResourceRunCommon","buildLogsZip","dataAvailability","logsZip","performanceZip","screenshotNames","screenshotsZip","APIResourceRun","APIResourceProject","runs","run","unarchive","APIAdminResource","accessGroups","accessGroup","accounts","accountService","activities","administrators","billingPeriods","billingPeriod","browser","clusters","cluster","countryVatRates","countryVatRate","devicesForModel","deviceStatuses","deviceModels","deviceModel","deviceProblems","deviceModelCriterias","deviceModelCriteria","deviceTime","deviceTimeSummary","deviceTypes","deviceType","deviceGroups","deviceGroup","emails","resendEmail","errors","framework","frameworkAvailableLabels","interactiveQueue","license","maintenance","notificationPlans","notificationPlan","overview","pools","pool","projects","project","samples","sample","service","settings","statistics","createUser","APIListDevices","desktopBrowserCapabilities","APIListProperties","APIListServices","available","availableByPrice","APIListUsers","recoveries","passwordRecovery","APIResourceBillingPeriod","receipt","APIResourceAccount","concurrencyStatus","removeUser","disableUser","enableUser","serviceBillingPeriod","visualTestAccess","APIResourceBroker","hubs","APIResourceDevice","properties","APIResourceLabelGroup","APIListFiles","upload","obj","global","isNodeJs","nodeUpload","fs","require","form","append","createReadStream","dir","filename","getHeaders","APIResourceChannel","type","APIListNotifications","channel","APIListRuns","APIListSmartbearTunnels","APIResourceNotification","APIResourceUser","TypeError","markAccountOwner","availableFrameworks","resetApiKey","restore","feedback","notifications","notification","uiPreferences","deviceUsage","deviceStatistics","smartbearTunnel","smartbearTunnels","deleteAccount","APIResourceUserSession","login","logout","sso","portalLogin","sbidCallbackUrl","globalThis","defaults","common","maxContentLength","API","axiosConfig","cloudUrl","baseURL","v2","apiKey","auth","username","password","withCredentials","admin","broker","enums","labelGroups","labelGroup","ma","me","userSession","CloudAPIClient","AccessGroupScope","PaymentStatus","PaymentMethod","ChargeType","DeactivateReason","InitStep","DeviceState","AdminErrorType","FrameworkType","BillingType","BrokerType","ClusterState","DeviceGroupOrigin","Platform","SupportedCreators","CriterionField","RetentionStrategy","ProblemType","DeviceSessionType","RetryState","DeviceSessionState","DeviceSessionStepType","SessionReleaseReason","OsType","LicenseStatus","MaintenanceType","NotificationChannel","NotificationScope","ArchivingStrategy","ScreenshotType","ServiceUnit","SharedResourceType","TestResult","LimitationType","TestScheduler","TestState","MfaStatus","UserStatus","FileDirection","FileInputType","FileState","VisualTestImageType"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 0189b6e0..25442304 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "@bitbar/cloud-api-client", - "version": "1.2.11", + "version": "1.2.12", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -371,7 +371,7 @@ "dependencies": { "lru-cache": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "requires": { @@ -380,7 +380,7 @@ }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true } @@ -3553,7 +3553,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "axios": { "version": "0.26.1", @@ -3919,7 +3919,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, "combined-stream": { @@ -3939,13 +3939,13 @@ "commondir": { "version": "1.0.1", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", "dev": true }, "concat-map": { "version": "0.0.1", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, "convert-source-map": { @@ -4059,7 +4059,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "detect-newline": { "version": "3.1.0", @@ -4133,7 +4133,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, "eslint": { @@ -4728,7 +4728,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, "fsevents": { @@ -4864,7 +4864,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "has-symbols": { @@ -4919,7 +4919,7 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, "indent-string": { @@ -4931,7 +4931,7 @@ "inflight": { "version": "1.0.6", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, "requires": { "once": "^1.3.0", @@ -4987,7 +4987,7 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", "dev": true }, "is-fullwidth-code-point": { @@ -5014,7 +5014,7 @@ "is-module": { "version": "1.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", "dev": true }, "is-number": { @@ -5053,7 +5053,7 @@ "isexe": { "version": "2.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, "istanbul-lib-coverage": { @@ -6909,7 +6909,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, "natural-compare-lite": { @@ -6964,7 +6964,7 @@ "once": { "version": "1.4.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, "requires": { "wrappy": "1" @@ -7056,7 +7056,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "dev": true }, "path-is-network-drive": { @@ -7670,7 +7670,7 @@ "to-fast-properties": { "version": "2.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", "dev": true }, "to-regex-range": { @@ -7814,7 +7814,7 @@ "jsonfile": { "version": "4.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, "requires": { "graceful-fs": "^4.1.6" @@ -7970,7 +7970,7 @@ "wordwrap": { "version": "1.0.0", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, "wrap-ansi": { @@ -8013,7 +8013,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://nexus.wro.int.bitbar.com/repository/npm/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "write-file-atomic": { diff --git a/package.json b/package.json index 6f92f236..82dceb72 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@bitbar/cloud-api-client", - "version": "1.2.11", + "version": "1.2.12", "description": "Bitbar Cloud API Client for JavaScript", "main": "dist/bitbar-cloud-api-client.min.js", "types": "dist/index.d.ts", diff --git a/src/api/models/AccountService.ts b/src/api/models/AccountService.ts index d1e39d5e..95827e4c 100644 --- a/src/api/models/AccountService.ts +++ b/src/api/models/AccountService.ts @@ -43,7 +43,6 @@ export type AccountService = { activatedById: number; activatedByName: string; active: boolean; - autoRenew: boolean; braintreeId: string; chargeType: ChargeType; createTime: number; diff --git a/src/api/models/Service.ts b/src/api/models/Service.ts index b783a9f2..35e6dd69 100644 --- a/src/api/models/Service.ts +++ b/src/api/models/Service.ts @@ -7,7 +7,6 @@ export type Service = { activateTime: number; activated: boolean; archiveTime: number; - autoRenew: boolean; centPrice: number; chargeType: ChargeType; commonId: string;