{"version":3,"sources":["../src/core/lcClient.ts","../src/services/customFieldDefinitionsService.ts","../src/services/languageService.ts","../src/services/projectService.ts","../src/services/projectTemplateService.ts","../src/utils/constants.ts","../src/services/sourceFileService.ts","../src/services/targetFileService.ts","../src/services/accountService.ts","../src/services/userService.ts","../src/services/fileProcessingConfigService.ts","../src/services/folderService.ts","../src/services/groupService.ts","../src/services/fileService.ts","../src/services/languageProcessingService.ts","../src/services/machineTranslationService.ts","../src/services/pricingModelService.ts","../src/services/projectGroupService.ts","../src/services/perfectMatchMappingService.ts","../src/services/scheduleTemplateService.ts","../src/services/rateLimitService.ts","../src/services/publicKeyService.ts","../src/services/quoteReportService.ts","../src/services/termbaseService.ts","../src/services/taskService.ts","../src/services/TermbaseExportService.ts","../src/services/TermbaseImportService.ts","../src/services/TermbaseTemplateService.ts","../src/services/tqaProfileService.ts","../src/services/workflowService.ts","../src/services/translationEngineService.ts","../src/services/translationMemoryService.ts","../src/services/translationMemoryExportService.ts","../src/services/translationMemoryImportService.ts","../src/public-apis/lcRegion.ts","../src/utils/jsonConverters.ts","../src/lcSDK.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios';\r\nimport { IAuthResponse, ILcClientInstanceConfig } from '../models/lcClientModels';\r\nimport { CustomFieldDefinitionsService } from '../services/customFieldDefinitionsService';\r\nimport { LanguageService } from '../services/languageService';\r\nimport { ProjectService } from '../services/projectService';\r\nimport { ProjectTemplateService } from '../services/projectTemplateService';\r\nimport {\r\n    AUDIENCE,\r\n    AUTH_URL,\r\n    AppMessages,\r\n    GRANT_TYPE,\r\n    PROJECT_SERVICE_BASE_URL,\r\n    X_LC_CALLER_APP,\r\n} from '../utils/constants';\r\nimport { SourceFileService } from '../services/sourceFileService';\r\nimport { TargetFileService } from '../services/targetFileService';\r\nimport { AccountService } from '../services/accountService';\r\nimport { UserService } from '../services/userService';\r\nimport { FileProcessingConfigService } from '../services/fileProcessingConfigService';\r\nimport { FolderService } from '../services/folderService';\r\nimport { GroupService } from '../services/groupService';\r\nimport { FileService } from '../services/fileService';\r\nimport { LanguageProcessingService } from '../services/languageProcessingService';\r\nimport { MachineTranslationService } from '../services/machineTranslationService';\r\nimport { PricingModelService } from '../services/pricingModelService';\r\nimport { ProjectGroupService } from '../services/projectGroupService';\r\nimport { PerfectMatchMappingService } from '../services/perfectMatchMappingService';\r\nimport { ScheduleTemplateService } from '../services/scheduleTemplateService';\r\nimport { RateLimitService } from '../services/rateLimitService';\r\nimport { PublicKeyService } from '../services/publicKeyService';\r\nimport { QuoteReportService } from '../services/quoteReportService';\r\nimport { TermbaseService } from '../services/termbaseService';\r\nimport { TaskService } from '../services/taskService';\r\nimport { TermbaseExportService } from '../services/TermbaseExportService';\r\nimport { TermbaseImportService } from '../services/TermbaseImportService';\r\nimport { TermbaseTemplateService } from '../services/TermbaseTemplateService';\r\nimport { TQAProfileService } from '../services/tqaProfileService';\r\nimport { WorkflowService } from '../services/workflowService';\r\nimport { TranslationEngineService } from '../services/translationEngineService';\r\nimport { TranslationMemoryService } from '../services/translationMemoryService';\r\nimport { TranslationMemoryExportService } from '../services/translationMemoryExportService';\r\nimport { TranslationMemoryImportService } from '../services/translationMemoryImportService';\r\nimport { getRegions } from '../public-apis/lcRegion';\r\nimport { Region } from '../models/regionModel';\r\n\r\nclass LanguageCloudClient {\r\n    private readonly clientId?: string;\r\n    private readonly clientSecret?: string;\r\n    private readonly accountId: string;\r\n    public baseURL: string = PROJECT_SERVICE_BASE_URL;\r\n    private readonly xLcCallerApp: string;\r\n    public lcServiceInstance: AxiosInstance;\r\n\r\n    tokenDetails: (IAuthResponse & { timeStamp: number; baseURL: string }) | null = null;\r\n\r\n    /**\r\n     * Creates an instance of the LanguageCloudClient\r\n     * @param {ILcClientInstanceConfig} instanceConfig\r\n     * @property {string} instanceConfig.client_id - client id\r\n     * @property {string} instanceConfig.client_secret - client secret\r\n     * @property {string} instanceConfig.account_id - account id\r\n     * @property {string} [instanceConfig.base_url] - base url for the language cloud service\r\n     * @property {string} [instanceConfig.x_lc_caller_app] - caller app name\r\n     */\r\n    constructor(instanceConfig: ILcClientInstanceConfig) {\r\n        this.clientId = instanceConfig.client_id;\r\n        this.clientSecret = instanceConfig.client_secret;\r\n        this.accountId = instanceConfig.account_id;\r\n        this.baseURL = instanceConfig.base_url || PROJECT_SERVICE_BASE_URL;\r\n        this.xLcCallerApp = instanceConfig.x_lc_caller_app || X_LC_CALLER_APP;\r\n        this.lcServiceInstance = axios.create({\r\n            baseURL: this.baseURL,\r\n            paramsSerializer: {\r\n                indexes: null,\r\n            },\r\n        });\r\n        if (instanceConfig.access_token) {\r\n            this.tokenDetails = {\r\n                access_token: instanceConfig.access_token,\r\n                token_type: 'Bearer',\r\n                timeStamp: Date.now(),\r\n                expires_in: 0,\r\n                baseURL: this.baseURL,\r\n            };\r\n            this.lcServiceInstance.defaults.headers = this.getHeaders();\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Requests an access token from the authentication service\r\n     * @throws {Error} If the client id or client secret is missing\r\n     * @throws {Error} If the request to the authentication service fails\r\n     * @returns {Promise<void>} A promise that resolves when the token has been requested and the account validity has been checked\r\n     */\r\n    async requestToken(): Promise<void> {\r\n        if (!this.clientId || !this.clientSecret) {\r\n            throw new Error(AppMessages.CREDENTIALS_MISSING);\r\n        }\r\n\r\n        try {\r\n            const { data } = await axios.post(\r\n                AUTH_URL,\r\n                {\r\n                    client_id: this.clientId,\r\n                    client_secret: this.clientSecret,\r\n                    grant_type: GRANT_TYPE,\r\n                    audience: AUDIENCE,\r\n                },\r\n                {\r\n                    headers: {\r\n                        'Content-Type': 'application/json',\r\n                    },\r\n                }\r\n            );\r\n\r\n            this.tokenDetails = { ...data, time_stamp: Date.now() };\r\n            this.lcServiceInstance.defaults.headers = this.getHeaders();\r\n\r\n            const region = await this.checkAccountValidity();\r\n            if (region) {\r\n                this.baseURL = `https://${region.hosts.apiHost}/public-api/v1/`;\r\n                this.lcServiceInstance = axios.create({\r\n                    baseURL: this.baseURL,\r\n                    paramsSerializer: {\r\n                        indexes: null,\r\n                    },\r\n                });\r\n                if (this.tokenDetails) {\r\n                    this.tokenDetails.baseURL = this.baseURL;\r\n                }\r\n            } else {\r\n                throw new Error('Either valid region not found or Account ID is wrong.');\r\n            }\r\n        } catch (error: unknown) {\r\n            throw error;\r\n        }\r\n    }\r\n\r\n    /**\r\n     * Checks the validity of the account by making a request to the project service\r\n     * @throws {Error} If the token is not found\r\n     * @returns {Promise<void>} A promise that resolves when the account validity has been checked\r\n     */\r\n\r\n    private async checkAccountValidity(): Promise<Region | null> {\r\n        const regionDetails = await getRegions();\r\n        if (regionDetails?.items?.length) {\r\n            let regionFound = null;\r\n            for (let regionItem of regionDetails.items) {\r\n                try {\r\n                    if (!regionItem?.hosts?.apiHost) continue;\r\n\r\n                    const validityCheck = await axios.get(\r\n                        `https://${regionItem.hosts.apiHost}/public-api/v1/projects?fields=id&top=1`,\r\n                        {\r\n                            headers: { ...this.getHeaders() },\r\n                        }\r\n                    );\r\n\r\n                    if (validityCheck && validityCheck.data) {\r\n                        regionFound = regionItem;\r\n                        break;\r\n                    }\r\n                } catch (e) {}\r\n            }\r\n\r\n            return regionFound;\r\n        } else {\r\n            throw new Error('Regions unavailable');\r\n        }\r\n    }\r\n\r\n    getHeaders() {\r\n        let headers: any = {\r\n            'Content-Type': 'application/json',\r\n        };\r\n\r\n        if (this.xLcCallerApp) {\r\n            headers['X-LC-Caller-App'] = this.xLcCallerApp;\r\n        }\r\n        if (this.accountId) {\r\n            headers['X-LC-Tenant'] = this.accountId;\r\n        }\r\n        if (this.tokenDetails?.token_type && this.tokenDetails?.access_token) {\r\n            headers.Authorization = `${this.tokenDetails.token_type} ${this.tokenDetails?.access_token}`;\r\n        }\r\n        return headers;\r\n    }\r\n\r\n    projectService = new ProjectService(this);\r\n    projectTemplateService = new ProjectTemplateService(this);\r\n    languageService = new LanguageService(this);\r\n    customFieldDefinitionsService = new CustomFieldDefinitionsService(this);\r\n    sourceFileService = new SourceFileService(this);\r\n    targetFileService = new TargetFileService(this);\r\n    accountService = new AccountService(this);\r\n    userService = new UserService(this);\r\n    fileProcessingConfigService = new FileProcessingConfigService(this);\r\n    folderService = new FolderService(this);\r\n    groupService = new GroupService(this);\r\n    fileService = new FileService(this);\r\n    languageProcessingService = new LanguageProcessingService(this);\r\n    machineTranslationService = new MachineTranslationService(this);\r\n    pricingModelService = new PricingModelService(this);\r\n    projectGroupService = new ProjectGroupService(this);\r\n    perfectMatchMappingService = new PerfectMatchMappingService(this);\r\n    scheduleTemplateService = new ScheduleTemplateService(this);\r\n    rateLimitService = new RateLimitService(this);\r\n    publicKeyService = new PublicKeyService(this);\r\n    quoteReportService = new QuoteReportService(this);\r\n    termbaseService = new TermbaseService(this);\r\n    taskService = new TaskService(this);\r\n    termbaseExportService = new TermbaseExportService(this);\r\n    termbaseImportService = new TermbaseImportService(this);\r\n    termbaseTemplateService = new TermbaseTemplateService(this);\r\n    tqaProfileService = new TQAProfileService(this);\r\n    workflowService = new WorkflowService(this);\r\n    translationEngineService = new TranslationEngineService(this);\r\n    translationMemoryService = new TranslationMemoryService(this);\r\n    translationMemoryExportService = new TranslationMemoryExportService(this);\r\n    translationMemoryImportService = new TranslationMemoryImportService(this);\r\n}\r\n\r\nexport default LanguageCloudClient;\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    CustomFieldDefinition,\r\n    CustomFieldDefinitionListRequestParams,\r\n    CustomFieldDefinitionListResponse,\r\n} from '../models/customFieldModel';\r\n\r\nexport class CustomFieldDefinitionsService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the custom field definitions. */\r\n    getCustomFieldDefinitions = async (params?: CustomFieldDefinitionListRequestParams): Promise<CustomFieldDefinitionListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('custom-field-definitions', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a Custom Field by identifier. */\r\n    getCustomFieldDefinition = async (customFieldDefinitionId: string, params?: FieldsParams): Promise<CustomFieldDefinition> => {\r\n        return (await this.client.lcServiceInstance.get(`custom-field-definitions/${customFieldDefinitionId}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { LanguageListRequestParams, LanguageListResponse } from '../models/languageModel';\r\n\r\nexport class LanguageService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the languages.\r\n     *\r\n     * The supported values for language `type` filter are: \"all\", \"specific\" or \"neutral\".\r\n     * The \"neutral\" languages are the generic languages, e.g.: en -> English.\r\n     *\r\n     * The \"specific\" languages are the sub-languages, e.g.: en-150 -> English (Europe), en-us -> English (United States).\r\n     */\r\n    getLanguages = async (params: LanguageListRequestParams = {}): Promise<LanguageListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('languages', { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    IProjectListRequestParams,\r\n    IProjectListResponse,\r\n    Project,\r\n    ProjectConfigurationResponse,\r\n    ProjectConfigurationUpdateRequestPayload,\r\n    ProjectCreateRequestPayload,\r\n    ProjectCustomFieldUpdateRequestPayload,\r\n    ProjectPricingModelUpdateRequestPayload,\r\n    ProjectTaskListResponse,\r\n    ProjectUpdateRequestPayload,\r\n} from '../models/projectModel';\r\nimport { CommonParams } from '../models/commonModel';\r\n\r\nexport class ProjectService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the projects in the account. */\r\n    getProjects = async (params?: IProjectListRequestParams): Promise<IProjectListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('projects', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a project by identifier. */\r\n    getProject = async (projectId: string, params?: FieldsParams): Promise<Project> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}`, { params })).data;\r\n    };\r\n\r\n    /** Deletes a project. */\r\n    deleteProject = async (projectId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`projects/${projectId}`)).data;\r\n    };\r\n\r\n    /** Creates a new project.\r\n     *\r\n     * When creating a project using a project template that supports multiple source languages, you must supply the `languageDirections`.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit | file and project size limit} when creating projects.\r\n     *\r\n     * The values from a selected project template will take precedence over the individual resources when creating a new project.\r\n     */\r\n    createProject = async (payload: ProjectCreateRequestPayload, params?: FieldsParams): Promise<Project> => {\r\n        return (await this.client.lcServiceInstance.post('projects', payload, { params })).data;\r\n    };\r\n\r\n    /** Starts a project. Translatable files should be uploaded before starting the project. If the action is executed on an already started project, the new translatable files should be uploaded first. */\r\n    startProject = async (projectId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/start`, {})).data;\r\n    };\r\n\r\n    /** Marks a project as \"completed\". */\r\n    completeProject = async (projectId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/complete`, {})).data;\r\n    };\r\n\r\n    /** Updates the project in terms of: name, description, due date, quote, and project resources.\r\n     * Observe the rules of {@link https://datatracker.ietf.org/doc/html/rfc7386 | JSON Merge Patch Semantics}.\r\n     *\r\n     * Project rescheduling (updating dueBy) is permitted only if:\r\n     * - there is no Customer Quote Approval task in the associated flow\r\n     * - at least one Customer Quote Approval was closed(in case multiple project batches)\r\n     *\r\n     * Update `projectPlan.taskConfigurations` are now permitted before project is started. Elements are now pre-populated at project creation time.\r\n     */\r\n    updateProject = async (projectId: string, payload: ProjectUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}`, payload)).data;\r\n    };\r\n\r\n    /** Lists the tasks of a specific project. */\r\n    getProjectTasks = async (projectId: string, params?: CommonParams): Promise<ProjectTaskListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/tasks`, { params })).data;\r\n    };\r\n\r\n    /** Allows updating individual custom fields on a project. */\r\n    updateCustomField = async (projectId: string, customFieldKey: string, payload: ProjectCustomFieldUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/custom-fields/${customFieldKey}`, payload)).data;\r\n    };\r\n\r\n    /** Get the configuration settings of an existing project. */\r\n    getProjectConfiguration = async (projectId: string, params?: FieldsParams): Promise<ProjectConfigurationResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/configuration`, { params })).data;\r\n    };\r\n\r\n    /** Updates the configuration settings for an existing project. */\r\n    updateProjectConfiguration = async (projectId: string, payload: ProjectConfigurationUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/configuration`, payload)).data;\r\n    };\r\n\r\n    /** Update project pricing model only during Customer Quote Review task type. */\r\n    updateProjectPricingModel = async (projectId: string, payload: ProjectPricingModelUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/pricing-model`, payload)).data;\r\n    };\r\n\r\n    /** Cancels a project file. */\r\n    cancelProjectFile = async (projectId: string, fileId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/files/${fileId}/cancel`, {})).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    ProjectTemplate,\r\n    ProjectTemplateListRequestParams,\r\n    ProjectTemplateListResponse,\r\n    ProjectTemplateRequestPayload,\r\n} from '../models/projectTemplateModel';\r\n\r\nexport class ProjectTemplateService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a project template by identifier. */\r\n    getProjectTemplate = async (projectTemplateId: string, params?: FieldsParams): Promise<ProjectTemplate> => {\r\n        return (await this.client.lcServiceInstance.get(`project-templates/${projectTemplateId}`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a list of all the project templates in an account. */\r\n    getProjectTemplates = async (params?: ProjectTemplateListRequestParams): Promise<ProjectTemplateListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`project-templates`, { params })).data;\r\n    };\r\n\r\n    /** Deletes a project template by id. */\r\n    deleteProjectTemplate = async (projectTemplateId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`project-templates/${projectTemplateId}`)).data;\r\n    };\r\n\r\n    /** Creates a new project template. */\r\n    createProjectTemplate = async (payload: ProjectTemplateRequestPayload, params?: FieldsParams): Promise<ProjectTemplate> => {\r\n        return (await this.client.lcServiceInstance.post(`project-templates`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates a project template by id. */\r\n    updateProjectTemplate = async (projectTemplateId: string, payload: ProjectTemplateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`project-templates/${projectTemplateId}`, payload)).data;\r\n    };\r\n}\r\n","export const AUTH_URL = 'https://sdl-prod.eu.auth0.com/oauth/token';\r\nexport const PROJECT_SERVICE_BASE_URL = 'https://lc-api.sdl.com/public-api/v1/';\r\nexport const LANGUAGE_CLOUD_V3_BASE_URL = 'https://lc-api.sdl.com/projects/v3/';\r\nexport const GRANT_TYPE = 'client_credentials';\r\nexport const AUDIENCE = 'https://api.sdl.com';\r\nexport const X_LC_CALLER_APP = 'LC_SDK/v1.0.7';\r\nexport const PUBLIC_API_URL = 'https://api.cloud.trados.com/public-api/v1/';\r\n\r\nexport const AppMessages = {\r\n    CREDENTIALS_MISSING: 'credentials missing',\r\n    TOKEN_NOT_FOUND: 'token not found',\r\n    INPUT_MISSING: 'Input contains null or undefined values.',\r\n    INVALID_INPUT: 'Invalid input: Expected a non-null object as input.',\r\n};\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    SourceFile,\r\n    SourceFileListRequestParams,\r\n    SourceFileListResponse,\r\n    SourceFileProperties,\r\n    SourceFilesAttachPayload,\r\n    SourceFilesUpdateRequest,\r\n    SourceFileUpdateRequest,\r\n    SourceFileVersionsListResponse,\r\n} from '../models/sourceFileModel';\r\n\r\nexport class SourceFileService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves the source files in a project. */\r\n    getSourceFiles = async (projectId: string, params?: SourceFileListRequestParams): Promise<SourceFileListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/source-files`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a source file from the project. */\r\n    getSourceFile = async (projectId: string, sourceFileId: string, params?: FieldsParams): Promise<SourceFile> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/source-files/${sourceFileId}`, { params })).data;\r\n    };\r\n\r\n    /**\r\n     * Adds a source file to the project. Files can be uploaded before starting a project or after the project has started. When adding a `translatable` file after the project started, a new start project request should be performed.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/791595/815967/trados-enterprise---accelerate/file-and-project-size-limit | file and project size limit} when uploading files.\r\n     *\r\n     * `Note:` The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated.\r\n     */\r\n\r\n    // TODO: Need to check how can we set the SourceFileAddRequestPayload interface to FormData\r\n    addSourceFile = async (projectId: string, payload: FormData): Promise<SourceFile> => {\r\n        const headers = { ...this.client.getHeaders() };\r\n        headers['Content-Type'] = 'multipart/form-data';\r\n\r\n        return (await this.client.lcServiceInstance.post(`projects/${projectId}/source-files`, payload, { headers })).data;\r\n    };\r\n\r\n    /**\r\n     * Adds multiple source files to the project. Files must be uploaded before attaching them to a project. When a file is attached after the project was started, a new start project request should be performed.\r\n     *\r\n     * `Note:` The maximum character size of the sum between the `name` and the `path` fields must not exceed 255. Otherwise the request cannot be validated.\r\n     */\r\n    attachSourceFiles = async (projectId: string, payload: SourceFilesAttachPayload, params?: FieldsParams): Promise<SourceFile> => {\r\n        return (await this.client.lcServiceInstance.post(`projects/${projectId}/source-files/attach-files`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates multiple source files. If any of the files fails to be updated, an error will be returned for each file. */\r\n    updateSourceFiles = async (projectId: string, payload: SourceFilesUpdateRequest): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/source-files`, payload)).data;\r\n    };\r\n\r\n    /** Updates a source file. */\r\n    updateSourceFile = async (projectId: string, sourceFileId: string, payload: SourceFileUpdateRequest): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/source-files/${sourceFileId}`, payload)).data;\r\n    };\r\n\r\n    /** Retrieves all the versions of a source file. */\r\n    listSourceFileVersions = async (\r\n        projectId: string,\r\n        sourceFileId: string,\r\n        params?: FieldsParams\r\n    ): Promise<SourceFileVersionsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/source-files/${sourceFileId}/versions`, { params })).data;\r\n    };\r\n\r\n    /** Downloads a source file version. */\r\n    downloadSourceFileVersion = async (\r\n        projectId: string,\r\n        sourceFileId: string,\r\n        fileVersionId: string,\r\n        config?: Record<string, any>\r\n    ): Promise<string> => {\r\n        const endpoint = `projects/${projectId}/source-files/${sourceFileId}/versions/${fileVersionId}/download`;\r\n        return (await this.client.lcServiceInstance.get(endpoint, { ...config })).data;\r\n    };\r\n\r\n    /** Retrieves the properties for a source file. */\r\n    getSourceFileProperties = async (taskId: string, sourceFileId: string): Promise<SourceFileProperties> => {\r\n        return (await this.client.lcServiceInstance.get(`tasks/${taskId}/source-files/${sourceFileId}`)).data;\r\n    };\r\n\r\n    /** Updates the properties of the source file. */\r\n    updateSourceFileProperties = async (taskId: string, sourceFileId: string, payload: SourceFileProperties): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/source-files/${sourceFileId}`, payload)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    TargetFile,\r\n    TargetFileAddResponse,\r\n    TargetFilesRequestParams,\r\n    TargetFilesResponse,\r\n    TargetFilesUpdateRequestPayload,\r\n    TargetFileUpdateRequestPayload,\r\n    TargetFileVersion,\r\n    TargetFileVersionExportRequestParams,\r\n    TargetFileVersionExportResponse,\r\n    TargetFileVersionImportResponse,\r\n    TargetFileVersionsResponse,\r\n} from '../models/targetFileModel';\r\n\r\nexport class TargetFileService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves the target files for a project. */\r\n    getTargetFiles = async (projectId: string, params?: TargetFilesRequestParams): Promise<TargetFilesResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/target-files`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a target file from a project. */\r\n    getTargetFile = async (projectId: string, targetFileId: string, params?: FieldsParams): Promise<TargetFile> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/target-files/${targetFileId}`, { params })).data;\r\n    };\r\n\r\n    getTargetFileVersion = async (\r\n        projectId: string,\r\n        targetFileId: string,\r\n        fileVersionId: string,\r\n        params?: FieldsParams\r\n    ): Promise<TargetFileVersion> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/${fileVersionId}`;\r\n\r\n        return (await this.client.lcServiceInstance.get(endpoint, { params })).data;\r\n    };\r\n\r\n    /** Updates a target file. */\r\n    updateTargetFile = async (projectId: string, targetFileId: string, payload: TargetFileUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/target-files/${targetFileId}`, payload)).data;\r\n    };\r\n\r\n    /** Updates multiple target files. If any of the files fails to be updated, an error will be returned for each file. */\r\n    updateTargetFiles = async (projectId: string, payload: TargetFilesUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`projects/${projectId}/target-files`, payload)).data;\r\n    };\r\n\r\n    /** Retrieves the versions of a target file. */\r\n    getTargetFileVersions = async (projectId: string, targetFileId: string, params?: FieldsParams): Promise<TargetFileVersionsResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`projects/${projectId}/target-files/${targetFileId}/versions`, { params })).data;\r\n    };\r\n\r\n    /**\r\n     * Generates an asynchronous export operation. Use the {@link https://eu.cloud.trados.com/lc/api-docs/77e028c970065-poll-target-file-version-export | Get Target File Version Export} endpoint to poll until the export is completed. Used only for {@link https://developers.rws.com/languagecloud-api-docs/articles/BCM.NET_client_API.html | BCM} file versions.\r\n     *\r\n     * This operation triggers a conversion of the BCM target file version in a native or SDLXLIFF format, based on the value of the `format` query parameter used.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/en-US/trados-enterprise---accelerate-791595/file-and-project-size-limit-815967 | file and project size limit} when uploading files.\r\n     */\r\n    exportTargetFileVersion = async (\r\n        projectId: string,\r\n        targetFileId: string,\r\n        fileVersionId: string,\r\n        params?: TargetFileVersionExportRequestParams\r\n    ): Promise<TargetFileVersionExportResponse> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/${fileVersionId}/exports`;\r\n        return (await this.client.lcServiceInstance.post(endpoint, null, { params })).data;\r\n    };\r\n\r\n    /**\r\n     * Polls a target file version via an export operation. The new version can be downloaded once the status is \"completed\".\r\n     */\r\n    pollTargetFileVersionExport = async (\r\n        projectId: string,\r\n        targetFileId: string,\r\n        fileVersionId: string,\r\n        exportId: string\r\n    ): Promise<TargetFileVersionExportResponse> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/${fileVersionId}/exports/${exportId}`;\r\n        return (await this.client.lcServiceInstance.get(endpoint)).data;\r\n    };\r\n\r\n    /**\r\n     * Downloads a completed target file version via an export operation.\r\n     */\r\n    downloadExportedTargetFileVersion = async (projectId: string, targetFileId: string, fileVersionId: string, exportId: string): Promise<string> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/${fileVersionId}/exports/${exportId}/download`;\r\n        return (await this.client.lcServiceInstance.get(endpoint)).data;\r\n    };\r\n\r\n    /**\r\n     * Downloads the file version (native or BCM).\r\n     *\r\n     * If the `fileVersionId` path parameter represents a native file version, the native file will be downloaded. If the `fileVersionId` is an identifier of a version in {@link https://developers.rws.com/languagecloud-api-docs/articles/BCM.NET_client_API.html | BCM format}, the BCM file will be downloaded.\r\n     */\r\n    downloadTargetFileVersion = async (\r\n        projectId: string,\r\n        targetFileId: string,\r\n        fileVersionId: string,\r\n        config?: Record<string, any>\r\n    ): Promise<string> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/${fileVersionId}/download`;\r\n        return (await this.client.lcServiceInstance.get(endpoint, { ...config })).data;\r\n    };\r\n\r\n    /**\r\n     * Generates an asynchronous import operation. Use {@link https://eu.cloud.trados.com/lc/api-docs/0aa2d4b06ffa2-poll-target-file-version-import | Poll Target File Version Import endpoint} to poll until the import is completed. Only `sdlxliff` files can be imported.\r\n     *\r\n     * Import should be used when a file is downloaded as an `sdlxliff`, processed and then, replaced. The import operation triggers internally the update of the {@link https://developers.rws.com/languagecloud-api-docs/articles/BCM.NET_client_API.html | BCM} file associated with the imported file. It should mostly be used for offline work.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/en-US/trados-enterprise---accelerate-791595/file-and-project-size-limit-815967 | file and project size limit} when uploading files.\r\n     */\r\n    // TODO: Need to check how can we set the interface to FormData\r\n    importTargetFileVersion = async (projectId: string, targetFileId: string, payload: FormData): Promise<TargetFileVersionImportResponse> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/imports`;\r\n\r\n        const headers = { ...this.client.getHeaders() };\r\n        headers['Content-Type'] = 'multipart/form-data';\r\n\r\n        return (await this.client.lcServiceInstance.post(endpoint, payload, { headers })).data;\r\n    };\r\n\r\n    /**\r\n     * Polls a target file version via an import operation. The new version can be seen on the file versions once the status is \"completed\".\r\n     */\r\n    pollTargetFileVersionImport = async (projectId: string, targetFileId: string, importId: string): Promise<TargetFileVersionImportResponse> => {\r\n        const endpoint = `projects/${projectId}/target-files/${targetFileId}/versions/imports/${importId}`;\r\n        return (await this.client.lcServiceInstance.get(endpoint)).data;\r\n    };\r\n\r\n    /**\r\n     * Adds a new version of the target file. Only the `native` and `bcm` file formats are accepted. For the `sdlxliff` files, you should use the {@link https://eu.cloud.trados.com/lc/api-docs/7bf672dff71ae-import-target-file-version | Import Target File endpoint }. More information about file formats can be found on the {@link https://eu.cloud.trados.com/lc/api-docs/file-formats | File formats } page. Additional details on BCM files can be found {@link https://developers.rws.com/languagecloud-api-docs/articles/BCM.NET_client_API.html | here}.\r\n     *\r\n     * The version is added on the task represented by `taskId`. To be able to execute the add operation the task should be assigned and accepted by user. If the task is automatic, it is possible to add a target file version only if the status is `inProgress`.\r\n     *\r\n     * The added file versions need to respect the output file type declared by the task type of the enclosing task. On the {@link https://docs.rws.com/791595/885137/trados-enterprise/rules-for-sequencing-tasks-correctly | Rules for sequencing tasks correctly } page from the official RWS Documentation Center, you can find out what output file type is supported by each task.\r\n     *\r\n     * For adding a target file version using an extension task, the configuration of the task type must declare the `scope`'s value as \"file\".\r\n     *\r\n     * The multipart parameters in the body should respect and strictly follow the order specified in our documentation.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/en-US/trados-enterprise---accelerate-791595/file-and-project-size-limit-815967 | file and project size limit } when uploading files.\r\n     */\r\n    // TODO: Need to check how can we set the interface to FormData\r\n    addTargetFileVersion = async (taskId: string, targetFileId: string, payload: FormData, params?: FieldsParams): Promise<TargetFileAddResponse> => {\r\n        const endpoint = `tasks/${taskId}/target-files/${targetFileId}/versions`;\r\n        return (await this.client.lcServiceInstance.post(endpoint, payload, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { AccountListResponse } from '../models/accountModel';\r\n\r\nexport class AccountService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all accounts accessible to the authenticated user. */\r\n    getAccounts = async (): Promise<AccountListResponse> => {\r\n        return (await this.client.lcServiceInstance.get<AccountListResponse>('accounts')).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { CommonParams } from '../models/commonModel';\r\nimport { User, UserListResponse } from '../models/userModel';\r\n\r\nexport class UserService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves the authenticated user. */\r\n    getMyUser = async (params?: FieldsParams): Promise<User> => {\r\n        return (await this.client.lcServiceInstance.get('users/me', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a list of all users in an account.*/\r\n    listUsers = async (params?: CommonParams): Promise<UserListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('users')).data;\r\n    };\r\n\r\n    /** Retrieves a user by identifier. */\r\n    getUser = async (userId: string): Promise<User> => {\r\n        return (await this.client.lcServiceInstance.get(`users/${userId}`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    FileProcessingConfig,\r\n    FileProcessingConfigListResponse,\r\n    FileTypeSetting,\r\n    FileTypeSettingListResponse,\r\n    ListFileProcessingConfigurationsParams,\r\n} from '../models/fileProcessingConfigModel';\r\n\r\nexport class FileProcessingConfigService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the file processing configurations in an account. */\r\n    listFileProcessingConfigurations = async (\r\n        params?: ListFileProcessingConfigurationsParams\r\n    ): Promise<FileProcessingConfigListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('file-processing-configurations', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a file processing configuration by identifier. */\r\n    getFileProcessingConfiguration = async (fileProcessingConfigurationId: string): Promise<FileProcessingConfig> => {\r\n        return (await this.client.lcServiceInstance.get(`file-processing-configurations/${fileProcessingConfigurationId}`)).data;\r\n    };\r\n\r\n    /** Retrieves a file type setting by identifier. */\r\n    getFileTypeSetting = async (\r\n        fileProcessingConfigurationId: string,\r\n        fileTypeSettingId: string,\r\n        params?: FieldsParams\r\n    ): Promise<FileTypeSetting> => {\r\n        return (\r\n            await this.client.lcServiceInstance.get(\r\n                `file-processing-configurations/${fileProcessingConfigurationId}/file-type-settings/${fileTypeSettingId}`,\r\n                { params }\r\n            )\r\n        ).data;\r\n    };\r\n\r\n    /** Retrieves a list of all the file type settings in a file processing configuration. */\r\n    listFileTypeSettings = async (fileProcessingConfigurationId: string, params?: FieldsParams): Promise<FileTypeSettingListResponse> => {\r\n        return (\r\n            await this.client.lcServiceInstance.get(`file-processing-configurations/${fileProcessingConfigurationId}/file-type-settings`, {\r\n                params,\r\n            })\r\n        ).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { Folder, FolderListRequestParams, FolderListResponse } from '../models/folderModel';\r\n\r\nexport class FolderService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the folders in an account. Max 500. */\r\n    getFolders = async (params?: FolderListRequestParams): Promise<FolderListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('folders', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a folder by identifier. */\r\n    getFolder = async (folderId: string, params?: FieldsParams): Promise<Folder> => {\r\n        return (await this.client.lcServiceInstance.get(`folders/${folderId}`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves the Root folder in the account. */\r\n    getRootFolder = async (params?: FieldsParams): Promise<Folder> => {\r\n        return (await this.client.lcServiceInstance.get('folders/root', { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { Group, GroupListRequestParams, GroupListResponse } from '../models/groupModel';\r\n\r\nexport class GroupService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the groups in an account. */\r\n    getGroups = async (params?: GroupListRequestParams): Promise<GroupListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('groups', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a group by identifier. */\r\n    getGroup = async (groupId: string, params?: FieldsParams): Promise<Group> => {\r\n        return (await this.client.lcServiceInstance.get(`groups/${groupId}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { PollUploadZipFileResponse, UploadZipFileResponse } from '../models/fileModel';\r\n\r\nexport class FileService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /**\r\n     * Uploads an archive with source files in a .zip format, to be extracted and used at project creation.\r\n     *\r\n     * Consider the {@link https://docs.rws.com/en-US/trados-enterprise---accelerate-791595/file-and-project-size-limit-815967 | file and project size limit} when uploading files.\r\n     */\r\n    uploadZipFile = async (formData: FormData): Promise<UploadZipFileResponse> => {\r\n        const headers = { ...this.client.getHeaders() };\r\n        headers['Content-Type'] = 'multipart/form-data';\r\n\r\n        return (await this.client.lcServiceInstance.post('files', formData, { headers })).data;\r\n    };\r\n\r\n    /**\r\n     * Monitors the unzipping operation for a previously uploaded archive and gets details on the extracted files.\r\n     */\r\n    pollUploadZipFile = async (fileId: string): Promise<PollUploadZipFileResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`files/${fileId}`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    LanguageProcessingRule,\r\n    LanguageProcessingRulesListRequestParams,\r\n    LanguageProcessingRulesListResponse,\r\n} from '../models/languageProcessingModel';\r\n\r\nexport class LanguageProcessingService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Returns a list of Language Processing Rules. */\r\n    getLanguageProcessingRules = async (\r\n        params?: LanguageProcessingRulesListRequestParams\r\n    ): Promise<LanguageProcessingRulesListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('language-processing-rules', { params })).data;\r\n    };\r\n\r\n    /** Returns a Language Processing Rule by identifier. */\r\n    getLanguageProcessingRule = async (languageProcessingRuleId: string, params?: FieldsParams): Promise<LanguageProcessingRule> => {\r\n        return (await this.client.lcServiceInstance.get(`language-processing-rules/${languageProcessingRuleId}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { MachineTranslationsListRequestParams, MachineTranslationsListResponse } from '../models/machineTranslationModel';\r\n\r\nexport class MachineTranslationService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of machine translations that can be used in a translation engine. */\r\n    getMachineTranslations = async (params: MachineTranslationsListRequestParams): Promise<MachineTranslationsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('machine-translation', { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { PricingModel, PricingModelsListRequestParams, PricingModelsListResponse } from '../models/pricingModel';\r\n\r\nexport class PricingModelService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the pricing models in an account.\r\n     *\r\n     * Sorting is supported for the following fields: `name`, `description`, `currencyCode` and `location`. */\r\n    getPricingModels = async (params?: PricingModelsListRequestParams): Promise<PricingModelsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('pricing-models', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a pricing model by identifier. */\r\n    getPricingModel = async (pricingModelId: string, params?: FieldsParams): Promise<PricingModel> => {\r\n        return (await this.client.lcServiceInstance.get(`pricing-models/${pricingModelId}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    ProjectGroup,\r\n    ProjectGroupCreateRequestPayload,\r\n    ProjectGroupsListRequestParams,\r\n    ProjectGroupsListResponse,\r\n    ProjectGroupUpdateRequestPayload,\r\n    AddProjectToGroupRequestPayload,\r\n    RemoveProjectFromGroupRequestPayload,\r\n} from '../models/projectGroupModel';\r\n\r\nexport class ProjectGroupService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all the project groups in an account. */\r\n    getProjectGroups = async (params?: ProjectGroupsListRequestParams): Promise<ProjectGroupsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('project-groups', { params })).data;\r\n    };\r\n\r\n    /** Retrieves a project group by identifier. */\r\n    getProjectGroup = async (projectGroupId: string, params?: FieldsParams): Promise<ProjectGroup> => {\r\n        return (await this.client.lcServiceInstance.get(`project-groups/${projectGroupId}`, { params })).data;\r\n    };\r\n\r\n    /** Creates a new project group. */\r\n    createProjectGroup = async (payload: ProjectGroupCreateRequestPayload, params?: FieldsParams): Promise<ProjectGroup> => {\r\n        return (await this.client.lcServiceInstance.post('project-groups', payload, { params })).data;\r\n    };\r\n\r\n    /** Updates the project group. */\r\n    updateProjectGroup = async (projectGroupId: string, payload: ProjectGroupUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`project-groups/${projectGroupId}`, payload)).data;\r\n    };\r\n\r\n    /** Deletes a project group. */\r\n    deleteProjectGroup = async (projectGroupId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`project-groups/${projectGroupId}`)).data;\r\n    };\r\n\r\n    /**\r\n     * Adds projects to the project group.\r\n     *\r\n     * The projects are not added instantly. To check the status use the {@link https://eu.cloud.trados.com/lc/api-docs/f865d82347954-get-project-group | Get Project Group} endpoint.\r\n     */\r\n    addProjectToGroup = async (\r\n        projectGroupId: string,\r\n        payload: AddProjectToGroupRequestPayload,\r\n        params?: FieldsParams\r\n    ): Promise<ProjectGroup> => {\r\n        return (await this.client.lcServiceInstance.post(`project-groups/${projectGroupId}/projects`, payload, { params })).data;\r\n    };\r\n\r\n    /**\r\n     * Removes projects from the project group.\r\n     *\r\n     * The projects are not removed instantly. To check the status use the {@link https://eu.cloud.trados.com/lc/api-docs/f865d82347954-get-project-group | Get Project Group} endpoint.\r\n     */\r\n    removeProjectFromGroup = async (projectGroupId: string, payload: RemoveProjectFromGroupRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`project-groups/${projectGroupId}/projects`, { data: payload })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    AddPerfectMatchBatchMappingRequestPayload,\r\n    PerfectMatchCandidatesResponse,\r\n    PerfectMatchMapping,\r\n    PerfectMatchMappingCreateRequestPayload,\r\n    PerfectMatchMappingCreateResponse,\r\n    UpdateFileMappingWithManuallyUploadedFileRequestPayload,\r\n    UpdateFileMappingWithProjectFileRequestPayload,\r\n    UpdatePerfectMatchBatchMappingRequestPayload,\r\n} from '../models/perfectMatchMappingModel';\r\n\r\nexport class PerfectMatchMappingService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /**\r\n     * For more details on the PerfectMatch feature please consult the {@link https://docs.rws.com/en-US/trados-enterprise---accelerate-791595/perfectmatch-general-information-1155478 | official documentation}.\r\n     *\r\n     * After creating a mapping, target files from the `matchingProjects` are automatically matched to the source files in the new project. This is a long-running background operation, and its `status` can be tracked by polling the {@link https://eu.cloud.trados.com/lc/api-docs/gypb1u4fb5r8v-get-perfect-match-mapping | Get PerfectMatch Mapping} endpoint.\r\n     */\r\n    createPerfectMatchMapping = async (\r\n        payload: PerfectMatchMappingCreateRequestPayload,\r\n        params?: FieldsParams\r\n    ): Promise<PerfectMatchMappingCreateResponse> => {\r\n        return (await this.client.lcServiceInstance.post('perfect-match-mappings', payload, { params })).data;\r\n    };\r\n\r\n    /** Retrieves the details of a PerfectMatch mapping. */\r\n    getPerfectMatchMapping = async (mappingId: string, params?: FieldsParams): Promise<PerfectMatchMapping> => {\r\n        return (await this.client.lcServiceInstance.get(`perfect-match-mappings/${mappingId}`, { params })).data;\r\n    };\r\n\r\n    /** Adds a new PerfectMatch batch mapping.\r\n     *\r\n     * When new source files are introduced to a mid-project, a new batch must be added to the current mapping to leverage PerfectMatch. This action triggers a background operation that identifies matching candidates for the newly added files.\r\n     */\r\n    addPerfectMatchBatchMapping = async (\r\n        mappingId: string,\r\n        payload: AddPerfectMatchBatchMappingRequestPayload,\r\n        params?: FieldsParams\r\n    ): Promise<PerfectMatchMapping> => {\r\n        return (await this.client.lcServiceInstance.post(`perfect-match-mappings/${mappingId}/batch-mappings`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates a PerfectMatch batch mapping.\r\n     *\r\n     * Pay special attention to how {@link https://eu.cloud.trados.com/lc/api-docs/updating-data-with-put | updating works}.\r\n     */\r\n    updatePerfectMatchBatchMapping = async (\r\n        mappingId: string,\r\n        batchMappingId: string,\r\n        payload: UpdatePerfectMatchBatchMappingRequestPayload\r\n    ): Promise<void> => {\r\n        const url = `perfect-match-mappings/${mappingId}/batch-mappings/${batchMappingId}`;\r\n\r\n        return (await this.client.lcServiceInstance.put(url, payload)).data;\r\n    };\r\n\r\n    /** Updates a PerfectMatch file mapping with an existing target file from a PerfectMatch candidate. Only valid candidates can be used to request an update.\r\n     *\r\n     * Use the {@link https://eu.cloud.trados.com/lc/api-docs/fbia0pjkxv11t-get-perfect-match-candidates | Candidates} endpoint to retrieve a list of valid `fileId` and `projectId` to provide as matching data.\r\n     */\r\n    updateFileMappingWithProjectFile = async (\r\n        mappingId: string,\r\n        batchMappingId: string,\r\n        fileMappingId: string,\r\n        payload: UpdateFileMappingWithProjectFileRequestPayload\r\n    ): Promise<void> => {\r\n        const url = `perfect-match-mappings/${mappingId}/batch-mappings/${batchMappingId}/file-mappings/${fileMappingId}/project-file`;\r\n\r\n        return (await this.client.lcServiceInstance.put(url, payload)).data;\r\n    };\r\n\r\n    /** Updates a PerfectMatch file mapping with a manually uploaded file. */\r\n    updateFileMappingWithManuallyUploadedFile = async (\r\n        mappingId: string,\r\n        batchMappingId: string,\r\n        fileMappingId: string,\r\n        payload: UpdateFileMappingWithManuallyUploadedFileRequestPayload\r\n    ): Promise<void> => {\r\n        const url = `perfect-match-mappings/${mappingId}/batch-mappings/${batchMappingId}/file-mappings/${fileMappingId}/file`;\r\n\r\n        return (await this.client.lcServiceInstance.post(url, payload)).data;\r\n    };\r\n\r\n    /** Deletes a PerfectMatch file mapping for a specific file and target language. */\r\n    deletePerfectMatchFileMappingForaFile = async (\r\n        mappingId: string,\r\n        batchMappingId: string,\r\n        fileMappingId: string,\r\n        targetLanguage: string\r\n    ): Promise<void> => {\r\n        const url = `perfect-match-mappings/${mappingId}/batch-mappings/${batchMappingId}/file-mappings/${fileMappingId}/target-languages/${targetLanguage}`;\r\n\r\n        return (await this.client.lcServiceInstance.delete(url)).data;\r\n    };\r\n\r\n    /** Retrieves a list of file candidates that can be selected for PerfectMatch. */\r\n    getPerfectMatchCandidates = async (\r\n        mappingId: string,\r\n        batchMappingId: string,\r\n        fileMappingId: string,\r\n        targetLanguage: string,\r\n        params?: FieldsParams\r\n    ): Promise<PerfectMatchCandidatesResponse> => {\r\n        const url = `perfect-match-mappings/${mappingId}/batch-mappings/${batchMappingId}/file-mappings/${fileMappingId}/target-languages/${targetLanguage}/candidates`;\r\n\r\n        return (await this.client.lcServiceInstance.get(url, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { CreateScheduleTemplateRequest, ScheduleTemplate, UpdateScheduleTemplateRequest } from '../models/scheduleTemplateModel';\r\n\r\nexport class ScheduleTemplateService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all schedule templates in an account. */\r\n    listScheduleTemplates = async (): Promise<{ items: ScheduleTemplate[]; itemCount: number }> => {\r\n        return (await this.client.lcServiceInstance.get('schedule-templates')).data;\r\n    };\r\n\r\n    /** Retrieves a schedule template by identifier. */\r\n    getScheduleTemplate = async (scheduleTemplateId: string): Promise<ScheduleTemplate> => {\r\n        return (await this.client.lcServiceInstance.get(`schedule-templates/${scheduleTemplateId}`)).data;\r\n    };\r\n\r\n    /** Creates a new schedule template. */\r\n    createScheduleTemplate = async (payload: CreateScheduleTemplateRequest): Promise<ScheduleTemplate> => {\r\n        return (await this.client.lcServiceInstance.post('schedule-templates', payload)).data;\r\n    };\r\n\r\n    /** Updates a schedule template by id. */\r\n    updateScheduleTemplate = async (scheduleTemplateId: string, payload: UpdateScheduleTemplateRequest): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`schedule-templates/${scheduleTemplateId}`, payload)).data;\r\n    };\r\n\r\n    /** Deletes a schedule template by id. */\r\n    deleteScheduleTemplate = async (scheduleTemplateId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`schedule-templates/${scheduleTemplateId}`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { RateLimitsListResponse } from '../models/rateLimitModel';\r\n\r\nexport class RateLimitService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all rate limits applicable for an account. */\r\n    listRateLimits = async (): Promise<RateLimitsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('rate-limits')).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { PublicKeyListResponse } from '../models/publicKeyModel';\r\n\r\nexport class PublicKeyService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a list of all public keys in an account. */\r\n    listPublicKeys = async (): Promise<PublicKeyListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('.well-known/jwks.json')).data;\r\n    };\r\n\r\n    /** Retrieves a public key by identifier. */\r\n    getPublicKey = async (kid: string): Promise<JsonWebKey> => {\r\n        return (await this.client.lcServiceInstance.get(`.well-known/jwks.json/${kid}`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport {\r\n    DownloadExportedQuoteReportParams,\r\n    PollQuoteReportExportParams,\r\n    QuoteReportExportParams,\r\n    QuoteReportExportResponse,\r\n    QuoteReportStatus,\r\n} from '../models/exportQuoteReportModel';\r\n\r\nexport class QuoteReportService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Generates an asynchronous quote export operation for the project in either PDF or Excel format. Use the polling endpoint to check when the export is completed.\r\n     * Built-in quotes are only available in the same languages as the user interface. See this page for more information.\r\n     * Customers who use non-default quote templates are responsible for the implementation of a suitable localization approach. */\r\n    exportQuoteReport = async (\r\n        projectId: string,\r\n        params?: QuoteReportExportParams\r\n    ): Promise<QuoteReportExportResponse> => {\r\n        const response = await this.client.lcServiceInstance.post(`projects/${projectId}/quote-report/export`, null, {\r\n            params,\r\n        });\r\n        return response.data;\r\n    };\r\n\r\n    /** Polls a quote report via an export operation. The quote report can be downloaded once the status is \"completed\".\r\n     * The recommended polling interval is 20 seconds. If polling does not return a success status in 20 minutes, it should be abandoned and a new export should be retried.\r\n     * If the exportId query parameter is not provided, the polling action will return the status for the last generated export. */\r\n    pollQuoteReportStatus = async (\r\n        projectId: string,\r\n        params?: PollQuoteReportExportParams\r\n    ): Promise<QuoteReportStatus> => {\r\n        const response = await this.client.lcServiceInstance.get(`projects/${projectId}/quote-report/export`, {\r\n            params,\r\n        });\r\n        return response.data;\r\n    };\r\n\r\n    /** Downloads a quote report generated by the asynchronous Export Quote Report operation.\r\n    If the exportId query parameter is not provided, the last generated export quote will be downloaded.. */\r\n    downloadExportedQuoteReport = async (\r\n        projectId: string,\r\n        params?: DownloadExportedQuoteReportParams,\r\n        config?: Record<string, any>\r\n    ): Promise<string> => {\r\n        const response = await this.client.lcServiceInstance.get(`projects/${projectId}/quote-report/download`, {\r\n            ...config,\r\n            params,\r\n        });\r\n        return response.data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    Termbase,\r\n    TermbaseCreateRequestPayload,\r\n    TermbaseEntriesListRequestParams,\r\n    TermbaseEntriesListResponse,\r\n    TermbaseEntry,\r\n    TermbaseEntryCreateRequestPayload,\r\n    TermbaseEntryUpdateRequestPayload,\r\n    TermbaseListRequestParams,\r\n    TermbaseListResponse,\r\n    TermbaseTermsListRequestParams,\r\n    TermbaseTermsListResponse,\r\n    TermbaseUpdateRequestPayload,\r\n} from '../models/termbaseModel';\r\n\r\nexport class TermbaseService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** List termbases. */\r\n    getTermbases = async (params?: TermbaseListRequestParams): Promise<TermbaseListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a termbase by identifier. */\r\n    getTermbase = async (termbaseId: string, params?: FieldsParams): Promise<Termbase> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}`, { params })).data;\r\n    };\r\n\r\n    /** Creates a new termbase. The termbase can be created with a termbase template by providing the templateId or by providing a custom termbaseStructure. If only a `termbaseTemplateId` was provided, the termbase will be created using data from the template. If only a `termbaseStructure` was provided, the termbase will be created using data from the structure. If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence. */\r\n    createTermbase = async (payload: TermbaseCreateRequestPayload, params?: FieldsParams): Promise<Termbase> => {\r\n        return (await this.client.lcServiceInstance.post(`termbases`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates the termbase. The termbase can be updated with a termbase template by providing the termbaseTemplateId or by providing a custom termbaseStructure.\r\n     *\r\n     * If only a `termbaseTemplateId` was provided, the termbase will be updated using data from the template. If only a `termbaseStructure` was provided, the termbase will be updated using data from the structure. If both, `termbaseTemplateId` and `termbaseStructure` are added in the request, the `termbaseStructure` takes precedence.\r\n     */\r\n    updateTermbase = async (termbaseId: string, payload: TermbaseUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`termbases/${termbaseId}`, payload)).data;\r\n    };\r\n\r\n    /** Deletes a termbase by identifier. */\r\n    deleteTermbase = async (termbaseId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`termbases/${termbaseId}`)).data;\r\n    };\r\n\r\n    /** Retrieves a list of all the entries in a termbase. */\r\n    getTermbaseEntries = async (termbaseId: string, params?: TermbaseEntriesListRequestParams): Promise<TermbaseEntriesListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/entries`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a termbase entry by identifier. */\r\n    getTermbaseEntry = async (termbaseId: string, entryId: string, params?: FieldsParams): Promise<TermbaseEntry> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/entries/${entryId}`, { params })).data;\r\n    };\r\n\r\n    /** Creates a new termbase entry. For more information about how to use `fieldValueLinks` see {@link https://eu.cloud.trados.com/lc/api-docs/termbase-entries#creating-a-termbase-entry | Create termbase entry}. */\r\n    createTermbaseEntry = async (\r\n        termbaseId: string,\r\n        payload: TermbaseEntryCreateRequestPayload,\r\n        params?: FieldsParams\r\n    ): Promise<TermbaseEntry> => {\r\n        return (await this.client.lcServiceInstance.post(`termbases/${termbaseId}/entries`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates a termbase entry by identifier. The request body will overwrite the existing data. */\r\n    updateTermbaseEntry = async (termbaseId: string, entryId: string, payload: TermbaseEntryUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`termbases/${termbaseId}/entries/${entryId}`, payload)).data;\r\n    };\r\n\r\n    /** Deletes all the entries in the termbase. */\r\n    deleteTermbaseEntries = async (termbaseId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`termbases/${termbaseId}/entries`)).data;\r\n    };\r\n\r\n    /** Deletes a termbase entry. */\r\n    deleteTermbaseEntry = async (termbaseId: string, entryId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`termbases/${termbaseId}/entries/${entryId}`)).data;\r\n    };\r\n\r\n    /** Retrieves a list of all the terms of the termbase. Search types:\r\n     *\r\n     * - normal: Use normal search to look for terms that match the text exactly as entered.\r\n     * - linguistic: Use linguistic search to look for terms that are similar to the search term. Linguistic search is based on stemming and other language-dependent aspects.\r\n     * - fuzzy: Use fuzzy search to look for terms that are similar to the search term. Fuzzy search is more fault-tolerant than linguistic search. */\r\n    getTermbaseTerms = async (\r\n        termbaseId: string,\r\n        sourceLanguageCode: string,\r\n        params?: TermbaseTermsListRequestParams\r\n    ): Promise<TermbaseTermsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/terms/${sourceLanguageCode}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { AssignTaskPayload, GetTaskParams, Task, TaskCompletePayload, TaskListParams, TaskListResponse } from '../models/taskModel';\r\n\r\nexport class TaskService {\r\n    private client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves a task by identifier */\r\n    getTask = async (taskId: string, params: GetTaskParams): Promise<Task> => {\r\n        return (await this.client.lcServiceInstance.get(`tasks/${taskId}`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves the tasks assigned to the authenticated user */\r\n    listTasksAssignedToMe = async (params?: TaskListParams): Promise<TaskListResponse> => {\r\n        return (await this.client.lcServiceInstance.get('tasks/assigned', { params })).data;\r\n    };\r\n\r\n    /** Accepts a task. The authenticated user becomes the owner of the accepted task and can start work on it. */\r\n    acceptTask = async (taskId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/accept`, {})).data;\r\n    };\r\n\r\n    /** Rejects a task. The authenticated user will be removed from the task's list of available assignee users. */\r\n    rejectTask = async (taskId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/reject`, {})).data;\r\n    };\r\n\r\n    /** Completes a task. The task is required to be in \"inProgress\" state and will be marked as \"completed\". */\r\n    completeTask = async (taskId: string, payload: TaskCompletePayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/complete`, payload)).data;\r\n    };\r\n\r\n    /** Releases the task from its owner so that other task assignees will be able to accept it. */\r\n    releaseTask = async (taskId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/release`, {})).data;\r\n    };\r\n\r\n    /** The current owner of task is removed so that other assignees can accept it. The task is not reassigned automatically. */\r\n    reclaimTask = async (taskId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/reclaim`, {})).data;\r\n    };\r\n\r\n    /** Assigns a task. The task assignees will be updated. */\r\n    assignTask = async (taskId: string, payload: AssignTaskPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`tasks/${taskId}/assign`, payload)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { ExportTermbaseRequestPayload, ExportTermbase } from '../models/TermaseExportModel';\r\n\r\nexport class TermbaseExportService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Generates an asynchronous export operation.\r\n     *\r\n     * Use the {@link https://eu.cloud.trados.com/lc/api-docs/063ba53a41601-poll-termbase-export | Poll Export Termbase} endpoint to poll until the export status is `done`.\r\n     */\r\n    exportTermbase = async (termbaseId: string, payload: ExportTermbaseRequestPayload = {}): Promise<ExportTermbase> => {\r\n        return (await this.client.lcServiceInstance.post(`termbases/${termbaseId}/exports`, payload)).data;\r\n    };\r\n\r\n    /** Polls a termbase via an export operation. The exported termbase can be downloaded once the status is `done`. */\r\n    pollTermbaseExport = async (termbaseId: string, exportId: string): Promise<ExportTermbase> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/exports/${exportId}`)).data;\r\n    };\r\n\r\n    /** Downloads the exported termbase when the poll operation status is `done`. */\r\n    downloadExportedTermbase = async (termbaseId: string, exportId: string): Promise<string> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/exports/${exportId}/download`)).data;\r\n    };\r\n\r\n    /** Downloads the termbase definition. */\r\n    exportTermbaseTemplate = async (termbaseId: string): Promise<string> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/export-template`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport {\r\n    ImportTermbaseResponse,\r\n    PollTermbaseImportResponse,\r\n    TermbaseImportHistoryRequestParams,\r\n    TermbaseImportHistoryResponse,\r\n} from '../models/TermbaseImportModel';\r\n\r\nexport class TermbaseImportService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Gets the import history for a termbase. */\r\n    getTermbaseImportHistory = async (\r\n        termbaseId: string,\r\n        params?: TermbaseImportHistoryRequestParams\r\n    ): Promise<TermbaseImportHistoryResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/imports`, { params })).data;\r\n    };\r\n\r\n    /** Generates an asynchronous import operation.\r\n     *\r\n     * Use the Poll Import Termbase endpoint to poll until the import status is `done`.\r\n     */\r\n    importTermbase = async (termbaseId: string, payload: FormData): Promise<ImportTermbaseResponse> => {\r\n        const headers = { ...this.client.getHeaders() };\r\n        headers['Content-Type'] = 'multipart/form-data';\r\n\r\n        return (await this.client.lcServiceInstance.post(`termbases/${termbaseId}/imports`, payload, { headers })).data;\r\n    };\r\n\r\n    /** Polls a termbase import operation. */\r\n    pollTermbaseImport = async (termbaseId: string, importId: string): Promise<PollTermbaseImportResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/imports/${importId}`)).data;\r\n    };\r\n\r\n    /** Downloads the termbase import logs. */\r\n    downloadTermbaseImportLogs = async (termbaseId: string, importId: string): Promise<string> => {\r\n        return (await this.client.lcServiceInstance.get(`termbases/${termbaseId}/imports/${importId}/logs`)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport {\r\n    TermbaseStructure,\r\n    TermbaseTemplate,\r\n    TermbaseTemplateCreateRequestPayload,\r\n    TermbaseTemplateListRequestParams,\r\n    TermbaseTemplateListResponse,\r\n    TermbaseTemplateUpdateRequestPayload,\r\n} from '../models/TermbaseTemplateModel';\r\nimport { FieldsParams } from '../models/commonModel';\r\n\r\nexport class TermbaseTemplateService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** List termbase templates. */\r\n    getTermbaseTemplates = async (params?: TermbaseTemplateListRequestParams): Promise<TermbaseTemplateListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`termbase-templates`, { params })).data;\r\n    };\r\n\r\n    /** Get a termbase template by identifier. */\r\n    getTermbaseTemplate = async (termbaseTemplateId: string, params?: FieldsParams): Promise<TermbaseTemplate> => {\r\n        return (await this.client.lcServiceInstance.get(`termbase-templates/${termbaseTemplateId}`, { params })).data;\r\n    };\r\n\r\n    /** Creates a new termbase template. */\r\n    createTermbaseTemplate = async (payload: TermbaseTemplateCreateRequestPayload, params?: FieldsParams): Promise<TermbaseTemplate> => {\r\n        return (await this.client.lcServiceInstance.post(`termbase-templates`, payload, { params })).data;\r\n    };\r\n\r\n    /** Updates the termbase template. */\r\n    updateTermbaseTemplate = async (termbaseTemplateId: string, payload: TermbaseTemplateUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`termbase-templates/${termbaseTemplateId}`, payload)).data;\r\n    };\r\n\r\n    /** Deletes a termbase template by identifier. */\r\n    deleteTermbaseTemplate = async (termbaseTemplateId: string): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.delete(`termbase-templates/${termbaseTemplateId}`)).data;\r\n    };\r\n\r\n    /** Converts a termbase definition (XDT file) to a termbase structure that will be returned in the response.\r\n     *\r\n     * The structure will not be stored in the Trados Cloud Platform.\r\n     */\r\n    convertXDTtoTermbaseStructure = async (payload: FormData, params?: FieldsParams): Promise<TermbaseStructure> => {\r\n        const headers = { ...this.client.getHeaders() };\r\n        headers['Content-Type'] = 'multipart/form-data';\r\n\r\n        return (await this.client.lcServiceInstance.post(`termbase-templates/convert-xdt`, payload, { headers, params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { TQAProfile, TQAProfilesListRequestParams, TQAProfilesListResponse } from '../models/tqaProfileModel';\r\n\r\nexport class TQAProfileService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** List TQA Profiles. */\r\n    getTQAProfiles = async (params?: TQAProfilesListRequestParams): Promise<TQAProfilesListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`tqa-profiles`, { params })).data;\r\n    };\r\n\r\n    /** Get a TQA Profile By identifier. */\r\n    getTQAProfile = async (profileId: string, params?: FieldsParams): Promise<TQAProfile> => {\r\n        return (await this.client.lcServiceInstance.get(`tqa-profiles/${profileId}`, { params })).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport { Workflow, WorkflowUpdateRequestPayload, WorkflowsListRequestParams, WorkflowsListResponse } from '../models/workflowModel';\r\n\r\nexport class WorkflowService {\r\n    private readonly client: LanguageCloudClient;\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves all the workflows in an account. */\r\n    getWorkflows = async (params?: WorkflowsListRequestParams): Promise<WorkflowsListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`workflows`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a workflow by identifier. */\r\n    getWorkflow = async (workflowId: string, params?: FieldsParams): Promise<Workflow> => {\r\n        return (await this.client.lcServiceInstance.get(`workflows/${workflowId}`, { params })).data;\r\n    };\r\n\r\n    /** Updates the workflow in terms of: name, description, and task configuration (and its details). Observe the rules of {@link https://datatracker.ietf.org/doc/html/rfc7386 | JSON Merge Patch Semantics}. */\r\n    updateWorkflow = async (workflowId: string, payload: WorkflowUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`workflows/${workflowId}`, payload)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    TranslationEngine,\r\n    TranslationEngineUpdateRequestPayload,\r\n    TranslationEnginesListRequestParams,\r\n    TranslationEnginesListResponse,\r\n} from '../models/translationEngineModel';\r\n\r\nexport class TranslationEngineService {\r\n    private readonly client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /** Retrieves all the translation engines in an account. */\r\n    getTranslationEngines = async (params?: TranslationEnginesListRequestParams): Promise<TranslationEnginesListResponse> => {\r\n        return (await this.client.lcServiceInstance.get(`translation-engines`, { params })).data;\r\n    };\r\n\r\n    /** Retrieves a translation engine. */\r\n    getTranslationEngine = async (translationEngineId: string, params?: FieldsParams): Promise<TranslationEngine> => {\r\n        return (await this.client.lcServiceInstance.get(`translation-engines/${translationEngineId}`, { params })).data;\r\n    };\r\n\r\n    /** Updates a translation engine.\r\n     *\r\n     * It can be used to update a stand-alone translation engine or a project's translation engine. The identifier of a project's translation engine can be retrieved only by calling {@link https://sdl-language-tech.stoplight.io/docs/lcpublicapi/fd9ee0beb37ca-get-project | Get Project endpoint}.\r\n     *\r\n     * Pay special attention that some properties can not be changed for a project's translation engine. These include: name, description, definition.languageProcessingId, and language pairs can not be added/removed from definition.languagePairDefinitions.\r\n     *\r\n     * Pay special attention to how {@link https://eu.cloud.trados.com/lc/api-docs/updating-data-with-put | updating works}.\r\n     */\r\n    updateTranslationEngine = async (translationEngineId: string, payload: TranslationEngineUpdateRequestPayload): Promise<void> => {\r\n        return (await this.client.lcServiceInstance.put(`translation-engines/${translationEngineId}`, payload)).data;\r\n    };\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { FieldsParams } from '../models/commonModel';\r\nimport {\r\n    ListTranslationMemoriesResponse,\r\n    TranslationMemoriesCommonRequestParams,\r\n    TranslationMemory,\r\n    TranslationMemoryCreatePayload,\r\n    TranslationMemoryFieldTemplate,\r\n    TranslationMemoryUpdatePayload,\r\n} from '../models/translationMemoryModel';\r\n\r\nexport class TranslationMemoryService {\r\n    private client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /**\r\n     * Get a single Translation Memory by identifier\r\n     * @param {string} translationMemoryId - Translation memory ID\r\n     */\r\n    async getTranslationMemory(translationMemoryId: string, params?: FieldsParams): Promise<TranslationMemory> {\r\n        return await this.client.lcServiceInstance.get(`/translation-memory/${translationMemoryId}`, { params });\r\n    }\r\n    /**\r\n     * Updates a Translation Memory. We recommend reading this page too Updating data with PUT (https://eu.cloud.trados.com/lc/api-docs/updating-data-with-put).\r\n     * @param {string} translationMemoryId - Translation memory ID\r\n     * @param {object} payload - Data to update\r\n     */\r\n    async updateTranslationMemory(translationMemoryId: string, payload: TranslationMemoryUpdatePayload): Promise<void> {\r\n        return await this.client.lcServiceInstance.put(`/translation-memory/${translationMemoryId}`, payload);\r\n    }\r\n\r\n    /**\r\n     * Delete a translation memory\r\n     * @param {string} translationMemoryId - Translation memory ID\r\n     */\r\n    async deleteTranslationMemory(translationMemoryId: string): Promise<void> {\r\n        return await this.client.lcServiceInstance.delete(`/translation-memory/${translationMemoryId}`);\r\n    }\r\n\r\n    /**\r\n     * Creates a copy of a Translation Memory. The name will be suffixed with ' (Copy) '\r\n     * @param {string} translationMemoryId - Translation memory ID\r\n     * @param {object} copyPayload - Copy configuration data\r\n     */\r\n    async copyTranslationMemory(translationMemoryId: string, params?: FieldsParams): Promise<TranslationMemory> {\r\n        return await this.client.lcServiceInstance.post(`/translation-memory/${translationMemoryId}/copy`, null, { params });\r\n    }\r\n\r\n    /**\r\n     * List all translation memories\r\n     * @param {object} [params] - Optional query parameters\r\n     */\r\n    async listTranslationMemories(params?: TranslationMemoriesCommonRequestParams): Promise<ListTranslationMemoriesResponse> {\r\n        return await this.client.lcServiceInstance.get('/translation-memory', { params });\r\n    }\r\n\r\n    /**\r\n     * Create a new translation memory\r\n     * @param {object} payload - Translation memory creation data\r\n     */\r\n    async createTranslationMemory(payload: TranslationMemoryCreatePayload, params?: FieldsParams): Promise<TranslationMemory> {\r\n        return await this.client.lcServiceInstance.post('/translation-memory', payload, { params });\r\n    }\r\n\r\n    /**\r\n     * Retrieves all the Field Templates.\r\n     * @param {object} [params] - Optional query parameters\r\n     */\r\n    async listFieldTemplates(params?: TranslationMemoriesCommonRequestParams): Promise<ListTranslationMemoriesResponse> {\r\n        return await this.client.lcServiceInstance.get('/translation-memory/field-templates', { params });\r\n    }\r\n\r\n    /**\r\n     * Get a single Field Template by identifier.\r\n     * @param {string} fieldTemplateId - Field template ID\r\n     */\r\n    async getFieldTemplate(fieldTemplateId: string): Promise<TranslationMemoryFieldTemplate> {\r\n        return await this.client.lcServiceInstance.get(`/translation-memory/field-templates/${fieldTemplateId}`);\r\n    }\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport { TranslationMemoryExportPayload, TranslationMemoryExportResponse } from '../models/translationMemoryExportModel';\r\n\r\nexport class TranslationMemoryExportService {\r\n    private client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /**\r\n     * Generates an asynchronous export operation.\r\n     * Use the {@link https://eu.cloud.trados.com/lc/api-docs/0487d5f7bd99f-poll-translation-memory-export|Poll Translation Memory Export} endpoint to poll until the export status is done.\r\n     * @param {string} translationMemoryId - The ID of the translation memory to export\r\n     * @param {TranslationMemoryExportPayload} payload - Options for the export\r\n     * @returns {Promise<TranslationMemoryExportResponse>} A promise that resolves with the export response\r\n     */\r\n    async exportTranslationMemory(translationMemoryId: string, payload: TranslationMemoryExportPayload): Promise<TranslationMemoryExportResponse> {\r\n        return this.client.lcServiceInstance.post(`translation-memory/${translationMemoryId}/exports`, payload);\r\n    }\r\n\r\n    /**\r\n     * Polls a translation memory via an export operation.\r\n     * The exported translation memory can be downloaded once the status is done.\r\n     * @param {string} exportId - The export identifier.\r\n     * @returns {Promise<TranslationMemoryExportResponse>} A promise that resolves with the export status\r\n     */\r\n    async pollTranslationMemoryExport(exportId: string): Promise<TranslationMemoryExportResponse> {\r\n        return this.client.lcServiceInstance.get(`translation-memory/exports/${exportId}`);\r\n    }\r\n\r\n    /**\r\n     * Downloads the exported translation memory in the tmx.gz format when the poll operation status is done.\r\n     * @param {string} exportId - The ID of the export operation\r\n     * @returns {Promise<Blob>} A promise that resolves with the export download\r\n     */\r\n    async downloadExportedTranslationMemory(exportId: string): Promise<string> {\r\n        return this.client.lcServiceInstance.get(`translation-memory/exports/${exportId}/download`, {\r\n            responseType: 'blob',\r\n        });\r\n    }\r\n}\r\n","import LanguageCloudClient from '../core/lcClient';\r\nimport {\r\n    TranslationMemoryImportHistoryParams,\r\n    TranslationMemoryImportResponse,\r\n    TranslationMemoryInmportHistory,\r\n} from '../models/translationMemoryImportModel';\r\n\r\nexport class TranslationMemoryImportService {\r\n    private client: LanguageCloudClient;\r\n\r\n    constructor(client: LanguageCloudClient) {\r\n        this.client = client;\r\n    }\r\n\r\n    /**\r\n     * Generates an asynchronous import operation.Read more about prerequisites and limitations on the {@link https://docs.rws.com/791595/741139/trados-enterprise/importing-tm-content |official documentation center}.\r\n     * Note: The order of the multipart form parameter must be implemented as such: properties first, file second.\r\n     * Use the Poll Translation Memory Import endpoint to poll until the import status is done.\r\n     * To track the progress of the import please refer to {@link https://eu.cloud.trados.com/lc/api-docs/4407436eb55f9-poll-translation-memory-import|Poll Translation Memory Import}.\r\n     * @param {string} translationMemoryId - The ID of the translation memory to import into\r\n     * @param {FormData} payload - The import options and file data\r\n     * @returns {Promise<TranslationMemoryImportResponse>} A promise that resolves with the import response\r\n     */\r\n    async importTranslationMemory(translationMemoryId: string, payload: FormData): Promise<TranslationMemoryImportResponse> {\r\n        return this.client.lcServiceInstance.post(`translation-memory/${translationMemoryId}/imports`, payload, {\r\n            headers: { ...this.client.getHeaders(), 'Content-Type': 'multipart/form-data' },\r\n        });\r\n    }\r\n\r\n    /**\r\n     * Polls a translation memory import operation status.\r\n     * @param {string} importId - The import operation identifier\r\n     * @returns {Promise<TranslationMemoryImportResponse>} A promise that resolves with the import status\r\n     */\r\n    async pollTranslationMemoryImport(importId: string): Promise<TranslationMemoryImportResponse> {\r\n        return this.client.lcServiceInstance.get(`translation-memory/imports/${importId}`);\r\n    }\r\n\r\n    /**\r\n     * Gets the import history for a translation memory.\r\n     * @param {string} translationMemoryId - The ID of the translation memory\r\n     * @param {TranslationMemoryImportHistoryParams} params - optional query params\r\n     * @returns {Promise<TranslationMemoryImportResponse[]>} A promise that resolves with the list of import operations\r\n     */\r\n    async getTranslationMemoryImportHistory(\r\n        translationMemoryId: string,\r\n        params?: TranslationMemoryImportHistoryParams\r\n    ): Promise<TranslationMemoryInmportHistory[]> {\r\n        return this.client.lcServiceInstance.get(`translation-memory/${translationMemoryId}/imports`, { params });\r\n    }\r\n}\r\n","import axios from 'axios';\r\nimport { RegionListResponse } from '../models/regionModel';\r\nimport { PUBLIC_API_URL } from '../utils/constants';\r\n\r\n/** Lists all the regions including domains names (hosts) for various services. */\r\nexport const getRegions = async (): Promise<RegionListResponse> => {\r\n    return (await axios.get(`${PUBLIC_API_URL}regions`)).data;\r\n};\r\n","    /**\r\n     * Method to convert JSON data to XML\r\n     * @param {*} o\r\n     * @param {*} tab\r\n     * @returns XML string\r\n     */\r\n    export const JSONtoXML = async (o: any, tab: string) => {\r\n        let toXml = function (v: any, name: any, ind: any) {\r\n                let xml = '';\r\n                if (v instanceof Array) {\r\n                    let i = 0,\r\n                        n = v.length;\r\n                    for (; i < n; i++) xml += ind + toXml(v[i], name, ind + '\\t') + '\\n';\r\n                } else if (typeof v == 'object') {\r\n                    let hasChild = false;\r\n                    xml += ind + '<' + name;\r\n                    for (let m in v) {\r\n                        if (m.charAt(0) === '@') {\r\n                            xml += ' ' + m.substr(1) + '=\"' + v[m].toString() + '\"';\r\n                        } else hasChild = true;\r\n                    }\r\n                    xml += hasChild ? '>' : '/>';\r\n                    if (hasChild) {\r\n                        for (let m in v) {\r\n                            if (m === '#text') xml += v[m];\r\n                            else if (m === '#cdata') xml += '<![CDATA[' + v[m] + ']]>';\r\n                            else if (m.charAt(0) !== '@') xml += toXml(v[m], m, ind + '\\t');\r\n                        }\r\n                        xml += (xml.charAt(xml.length - 1) === '\\n' ? ind : '') + '</' + name + '>';\r\n                    }\r\n                } else {\r\n                    xml += ind + '<' + name + '>' + v.toString() + '</' + name + '>';\r\n                }\r\n                return xml;\r\n            },\r\n            xml = '';\r\n        for (let m in o) xml += toXml(o[m], m, '');\r\n        // TODO: commented this code to exclude removal of \\n and \\t from XML string\r\n        // return tab ? xml.replace(/\\t/g, tab) : xml.replace(/\\t|\\n/g, \"\");\r\n        return xml;\r\n    };\r\n\r\n    /**\r\n     * Method to convert XML string to JSON string\r\n     * @param {*} xml\r\n     * @param {*} tab\r\n     * @returns JSON string\r\n     */\r\n    export const XMLtoJSON = (xml: any, tab: any) => {\r\n        let X = {\r\n            toObj: function (xml: any) {\r\n                let o: any = {};\r\n                if (xml.nodeType === 1) {\r\n                    // element node ..\r\n                    if (xml.attributes.length)\r\n                        // element with attributes\r\n                        for (let i = 0; i < xml.attributes.length; i++) o['@' + xml.attributes[i].nodeName] = (xml.attributes[i].nodeValue || '').toString();\r\n                    if (xml.firstChild) {\r\n                        // element has child nodes\r\n                        let textChild = 0,\r\n                            cdataChild = 0,\r\n                            hasElementChild = false;\r\n                        for (let n = xml.firstChild; n; n = n.nextSibling) {\r\n                            if (n.nodeType === 1) hasElementChild = true;\r\n                            else if (n.nodeType === 3 && n.nodeValue.match(/[^ \\f\\n\\r\\t\\v]/)) textChild++;\r\n                            // non-whitespace text\r\n                            else if (n.nodeType === 4) cdataChild++; // cdata section node\r\n                        }\r\n                        if (hasElementChild) {\r\n                            if (textChild < 2 && cdataChild < 2) {\r\n                                // structured element with evtl. a single text or/and cdata node ..\r\n                                X.removeWhite(xml);\r\n                                for (let n = xml.firstChild; n; n = n.nextSibling) {\r\n                                    if (n.nodeType === 3)\r\n                                        // text node\r\n                                        o['#text'] = X.escape(n.nodeValue);\r\n                                    else if (n.nodeType === 4)\r\n                                        // cdata node\r\n                                        o['#cdata'] = X.escape(n.nodeValue);\r\n                                    else if (o[n.nodeName]) {\r\n                                        // multiple occurence of element ..\r\n                                        if (o[n.nodeName] instanceof Array) o[n.nodeName][o[n.nodeName].length] = X.toObj(n);\r\n                                        else o[n.nodeName] = [o[n.nodeName], X.toObj(n)];\r\n                                    } // first occurence of element..\r\n                                    else o[n.nodeName] = X.toObj(n);\r\n                                }\r\n                            } else {\r\n                                // mixed content\r\n                                if (!xml.attributes.length) o = X.escape(X.innerXml(xml));\r\n                                else o['#text'] = X.escape(X.innerXml(xml));\r\n                            }\r\n                        } else if (textChild) {\r\n                            // pure text\r\n                            if (!xml.attributes.length) o = X.escape(X.innerXml(xml));\r\n                            else o['#text'] = X.escape(X.innerXml(xml));\r\n                        } else if (cdataChild) {\r\n                            // cdata\r\n                            if (cdataChild > 1) o = X.escape(X.innerXml(xml));\r\n                            else for (let n = xml.firstChild; n; n = n.nextSibling) o['#cdata'] = X.escape(n.nodeValue);\r\n                        }\r\n                    }\r\n                    if (!xml.attributes.length && !xml.firstChild) o = null;\r\n                } else if (xml.nodeType === 9) {\r\n                    // document.node\r\n                    o = X.toObj(xml.documentElement);\r\n                } else console.log('unhandled node type: ' + xml.nodeType);\r\n                return o;\r\n            },\r\n            toJson: function (o: any, name: any, ind: any) {\r\n                let json = name ? '\"' + name + '\"' : '';\r\n                if (o instanceof Array) {\r\n                    for (let i = 0, n = o.length; i < n; i++) o[i] = X.toJson(o[i], '', ind + '\\t');\r\n                    json += (name ? ':[' : '[') + (o.length > 1 ? '\\n' + ind + '\\t' + o.join(',\\n' + ind + '\\t') + '\\n' + ind : o.join('')) + ']';\r\n                } else if (o == null) json += (name && ':') + 'null';\r\n                else if (typeof o == 'object') {\r\n                    let arr = [];\r\n                    for (let m in o) arr[arr.length] = X.toJson(o[m], m, ind + '\\t');\r\n                    json += (name ? ':{' : '{') + (arr.length > 1 ? '\\n' + ind + '\\t' + arr.join(',\\n' + ind + '\\t') + '\\n' + ind : arr.join('')) + '}';\r\n                } else if (typeof o == 'string') json += (name && ':') + '\"' + o.toString() + '\"';\r\n                else json += (name && ':') + o.toString();\r\n                return json;\r\n            },\r\n            innerXml: function (node: any) {\r\n                let s = '';\r\n                if ('innerHTML' in node) s = node.innerHTML;\r\n                else {\r\n                    let asXml = function (n: any) {\r\n                        let s = '';\r\n                        if (n.nodeType === 1) {\r\n                            s += '<' + n.nodeName;\r\n                            for (let i = 0; i < n.attributes.length; i++) s += ' ' + n.attributes[i].nodeName + '=\"' + (n.attributes[i].nodeValue || '').toString() + '\"';\r\n                            if (n.firstChild) {\r\n                                s += '>';\r\n                                for (let c = n.firstChild; c; c = c.nextSibling) s += asXml(c);\r\n                                s += '</' + n.nodeName + '>';\r\n                            } else s += '/>';\r\n                        } else if (n.nodeType === 3) s += n.nodeValue;\r\n                        else if (n.nodeType === 4) s += '<![CDATA[' + n.nodeValue + ']]>';\r\n                        return s;\r\n                    };\r\n                    for (let c = node.firstChild; c; c = c.nextSibling) s += asXml(c);\r\n                }\r\n                return s;\r\n            },\r\n            escape: function (txt: any) {\r\n                return txt.replace(/[\\\\]/g, '\\\\\\\\').replace(/[\\\"]/g, '\\\\\"').replace(/[\\n]/g, '\\\\n').replace(/[\\r]/g, '\\\\r');\r\n            },\r\n            removeWhite: function (e: any) {\r\n                e.normalize();\r\n                for (let n = e.firstChild; n;) {\r\n                    if (n.nodeType === 3) {\r\n                        // text node\r\n                        if (!n.nodeValue.match(/[^ \\f\\n\\r\\t\\v]/)) {\r\n                            // pure whitespace text node\r\n                            let nxt = n.nextSibling;\r\n                            e.removeChild(n);\r\n                            n = nxt;\r\n                        } else n = n.nextSibling;\r\n                    } else if (n.nodeType === 1) {\r\n                        // element node\r\n                        X.removeWhite(n);\r\n                        n = n.nextSibling;\r\n                    } // any other node\r\n                    else n = n.nextSibling;\r\n                }\r\n                return e;\r\n            },\r\n        };\r\n        if (xml.nodeType === 9)\r\n            // document node\r\n            xml = xml.documentElement;\r\n        let json = X.toJson(X.toObj(X.removeWhite(xml)), xml.nodeName, '\\t');\r\n        return '{\\n' + tab + (tab ? json.replace(/\\t/g, tab) : json.replace(/\\t|\\n/g, '')) + '\\n}';\r\n    };\r\n","import LanguageCloudClient from './core/lcClient';\r\nimport { ILanguageCloudClient, ILanguageCloudPublicApis, ILanguageCloudUtils } from './models/lcClientModels';\r\nimport { AppMessages } from './utils/constants';\r\nimport { JSONtoXML, XMLtoJSON } from './utils/jsonConverters';\r\nimport { getRegions } from './public-apis/lcRegion';\r\n\r\n/**\r\n * Creates an instance of the LanguageCloudClient\r\n * @param {string} clientId\r\n * @param {string} clientSecret\r\n * @param {string} accountId\r\n * @param {string} [baseUrl] Optional base url for the language cloud service\r\n * @param {string} [callerAppName] Optional caller app name\r\n * @returns {Promise<ILanguageCloudClient>} A promise that resolves with the instance of the LanguageCloudClient\r\n */\r\nexport async function createLanguageCloudClient(\r\n    clientId: string,\r\n    clientSecret: string,\r\n    accountId: string,\r\n    baseUrl?: string,\r\n    callerAppName?: string\r\n): Promise<ILanguageCloudClient> {\r\n    if (!clientId || !clientSecret || !accountId) {\r\n        throw new Error(AppMessages.CREDENTIALS_MISSING);\r\n    }\r\n    const lcSDK = new LanguageCloudClient({\r\n        client_id: clientId,\r\n        client_secret: clientSecret,\r\n        account_id: accountId,\r\n        base_url: baseUrl,\r\n        x_lc_caller_app: callerAppName,\r\n    });\r\n    await lcSDK.requestToken();\r\n    return lcSDK as ILanguageCloudClient;\r\n}\r\n\r\nexport async function createLanguageCloudClientWithToken(\r\n    accessToken: string,\r\n    accountId: string,\r\n    baseUrl?: string,\r\n    callerAppName?: string\r\n): Promise<ILanguageCloudClient> {\r\n    if (!accessToken || !accountId) {\r\n        throw new Error(AppMessages.CREDENTIALS_MISSING);\r\n    }\r\n    const lcSDK = new LanguageCloudClient({\r\n        access_token: accessToken,\r\n        account_id: accountId,\r\n        base_url: baseUrl,\r\n        x_lc_caller_app: callerAppName,\r\n    });\r\n    return lcSDK as ILanguageCloudClient;\r\n}\r\n\r\nexport const lcUtils: ILanguageCloudUtils = {\r\n    JSONtoXML,\r\n    XMLtoJSON,\r\n};\r\n\r\nexport const lcPublicApis: ILanguageCloudPublicApis = {\r\n    getRegions,\r\n};\r\n"],"mappings":"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","names":["axios","axios","xml","json","s"]}