UNPKG

@azure/ai-language-text

Version:

An isomorphic client library for the text analysis features in the Azure Cognitive Language Service.

1,808 lines (1,800 loc) 184 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var coreAuth = require('@azure/core-auth'); var tslib = require('tslib'); var coreTracing = require('@azure/core-tracing'); var logger$1 = require('@azure/logger'); var coreClient = require('@azure/core-client'); var corePaging = require('@azure/core-paging'); var coreRestPipeline = require('@azure/core-rest-pipeline'); var coreLro = require('@azure/core-lro'); function _interopNamespace(e) { if (e && e.__esModule) return e; var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n["default"] = e; return Object.freeze(n); } var coreClient__namespace = /*#__PURE__*/_interopNamespace(coreClient); // Copyright (c) Microsoft Corporation. // Licensed under the MIT license. /** * The default AAD permissions scope for Cognitive Services. * @internal */ const DEFAULT_COGNITIVE_SCOPE = "https://cognitiveservices.azure.com/.default"; /** * @internal */ const SDK_VERSION = "1.1.0"; /** * @internal */ const clientName = "TextAnalysisClient"; // Copyright (c) Microsoft Corporation. /** * The `@azure/logger` configuration for this package. * @internal */ const logger = logger$1.createClientLogger("ai-language-text"); // Copyright (c) Microsoft Corporation. /** * Given a sorted array of input objects (with a unique ID) and an unsorted array of results, * return a sorted array of results. * * @internal * @param sortedIds - An array of sorted IDs * @param unsortedArray - An array of entries that contain `id` but are not sorted */ function sortResponseIdObjects(sortedIds, unsortedArray) { const unsortedMap = new Map(); for (const item of unsortedArray) { unsortedMap.set(item.id, item); } if (unsortedArray.length !== sortedIds.length) { const ordinal = unsortedArray.length > sortedIds.length ? "more" : "fewer"; logger.warning(`The service returned ${ordinal} responses than inputs. Some errors may be treated as fatal.`); } const result = []; /** * When the results are returned in pages, sortedArray will probably have more * items than unsortedArray so it is ok to ignore the case when a sorted item * ID is not found in `unsortedMap`. */ for (const id of sortedIds) { const item = unsortedMap.get(id); if (item) { result.push(item); } } return result; } /** * @internal */ function parseAssessmentIndex(pointer) { const regex = new RegExp(/#\/documents\/(\d+)\/sentences\/(\d+)\/assessments\/(\d+)/); const res = regex.exec(pointer); if (res !== null) { const assessmentIndex = { document: parseInt(res[1]), sentence: parseInt(res[2]), assessment: parseInt(res[3]), }; return assessmentIndex; } else { throw new Error(`Pointer "${pointer}" is not a valid Assessment pointer`); } } /** * Parses the index of the healthcare entity from a JSON pointer. * @param pointer - a JSON pointer representing an entity * @internal */ function parseHealthcareEntityIndex(pointer) { const regex = new RegExp(/#\/results\/documents\/(\d+)\/entities\/(\d+)/); const res = regex.exec(pointer); if (res !== null) { return parseInt(res[2]); } else { throw new Error(`Pointer "${pointer}" is not a valid healthcare entity pointer`); } } /** * @internal */ function isStringArray(documents) { return typeof documents[0] === "string"; } /** * @internal */ function convertToTextDocumentInput(inputs, language) { return inputs.map((text, index) => { return { id: String(index), language, text, }; }); } /** * @internal */ function convertToLanguageDetectionInput(inputs, countryHint) { return inputs.map((text, index) => { return { id: String(index), countryHint, text, }; }); } /** * @internal */ function getOperationOptions(options) { const { abortSignal, includeStatistics, onResponse, requestOptions, serializerOptions, tracingOptions } = options, rest = tslib.__rest(options, ["abortSignal", "includeStatistics", "onResponse", "requestOptions", "serializerOptions", "tracingOptions"]); return { options: { abortSignal, includeStatistics, onResponse, requestOptions, serializerOptions, tracingOptions, }, rest, }; } /** * * @param error - error with the target in the JSON error pointer format "#/items/0 * @returns number: the position of the task with error */ function extractErrorPointerIndex(error) { if (!error.target) { throw new Error("Unexpected response from service - no target present"); } const position = parseInt(error.target.split("/").pop()); if (isNaN(position)) { throw new Error(`Unexpected response from service - action pointer "${error.target}" is not a valid action pointer.`); } return position; } /* * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. * * Code generated by Microsoft (R) AutoRest Code Generator. * Changes may cause incorrect behavior and will be lost if the code is regenerated. */ const AnalyzeAction = { type: { name: "Composite", className: "AnalyzeAction", uberParent: "AnalyzeAction", polymorphicDiscriminator: { serializedName: "kind", clientName: "kind" }, modelProperties: { kind: { serializedName: "kind", required: true, type: { name: "String" } } } } }; const AnalyzeTextTaskResult = { type: { name: "Composite", className: "AnalyzeTextTaskResult", uberParent: "AnalyzeTextTaskResult", polymorphicDiscriminator: { serializedName: "kind", clientName: "kind" }, modelProperties: { kind: { serializedName: "kind", required: true, type: { name: "String" } } } } }; const ErrorResponse = { type: { name: "Composite", className: "ErrorResponse", modelProperties: { error: { serializedName: "error", type: { name: "Composite", className: "ErrorModel" } } } } }; const ErrorModel = { type: { name: "Composite", className: "ErrorModel", additionalProperties: { type: { name: "Object" } }, modelProperties: { code: { serializedName: "code", required: true, type: { name: "String" } }, message: { serializedName: "message", required: true, type: { name: "String" } }, target: { serializedName: "target", type: { name: "String" } }, details: { serializedName: "details", type: { name: "Sequence", element: { type: { name: "Composite", className: "ErrorModel" } } } }, innererror: { serializedName: "innererror", type: { name: "Composite", className: "InnerErrorModel" } } } } }; const InnerErrorModel = { type: { name: "Composite", className: "InnerErrorModel", modelProperties: { code: { serializedName: "code", required: true, type: { name: "String" } }, message: { serializedName: "message", required: true, type: { name: "String" } }, details: { serializedName: "details", type: { name: "Dictionary", value: { type: { name: "String" } } } }, target: { serializedName: "target", type: { name: "String" } }, innererror: { serializedName: "innererror", type: { name: "Composite", className: "InnerErrorModel" } } } } }; const AnalyzeTextJobsInput = { type: { name: "Composite", className: "AnalyzeTextJobsInput", modelProperties: { displayName: { serializedName: "displayName", type: { name: "String" } }, analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, tasks: { serializedName: "tasks", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "AnalyzeBatchAction" } } } } } } }; const MultiLanguageAnalysisInput = { type: { name: "Composite", className: "MultiLanguageAnalysisInput", modelProperties: { documents: { serializedName: "documents", type: { name: "Sequence", element: { type: { name: "Composite", className: "TextDocumentInput" } } } } } } }; const TextDocumentInput = { type: { name: "Composite", className: "TextDocumentInput", modelProperties: { id: { serializedName: "id", required: true, type: { name: "String" } }, text: { serializedName: "text", required: true, type: { name: "String" } }, language: { serializedName: "language", type: { name: "String" } } } } }; const BatchActionState = { type: { name: "Composite", className: "BatchActionState", modelProperties: { actionName: { serializedName: "taskName", type: { name: "String" } } } } }; const JobState = { type: { name: "Composite", className: "JobState", modelProperties: { displayName: { serializedName: "displayName", type: { name: "String" } }, createdOn: { serializedName: "createdDateTime", required: true, type: { name: "DateTime" } }, expiresOn: { serializedName: "expirationDateTime", type: { name: "DateTime" } }, id: { serializedName: "jobId", required: true, type: { name: "String" } }, modifiedOn: { serializedName: "lastUpdatedDateTime", required: true, type: { name: "DateTime" } }, status: { serializedName: "status", required: true, type: { name: "String" } }, errors: { serializedName: "errors", type: { name: "Sequence", element: { type: { name: "Composite", className: "ErrorModel" } } } }, nextLink: { serializedName: "nextLink", type: { name: "String" } } } } }; const TasksState = { type: { name: "Composite", className: "TasksState", modelProperties: { tasks: { serializedName: "tasks", type: { name: "Composite", className: "TasksStateTasks" } } } } }; const TasksStateTasks = { type: { name: "Composite", className: "TasksStateTasks", modelProperties: { completed: { serializedName: "completed", required: true, type: { name: "Number" } }, failed: { serializedName: "failed", required: true, type: { name: "Number" } }, inProgress: { serializedName: "inProgress", required: true, type: { name: "Number" } }, total: { serializedName: "total", required: true, type: { name: "Number" } }, items: { serializedName: "items", type: { name: "Sequence", element: { type: { name: "Composite", className: "AnalyzeTextLROResult" } } } } } } }; const TaskState = { type: { name: "Composite", className: "TaskState", modelProperties: { lastUpdateDateTime: { serializedName: "lastUpdateDateTime", required: true, type: { name: "DateTime" } }, status: { serializedName: "status", required: true, type: { name: "String" } } } } }; const AnalyzeTextJobStatistics = { type: { name: "Composite", className: "AnalyzeTextJobStatistics", modelProperties: { statistics: { serializedName: "statistics", type: { name: "Composite", className: "TextDocumentBatchStatistics" } } } } }; const TextDocumentBatchStatistics = { type: { name: "Composite", className: "TextDocumentBatchStatistics", modelProperties: { documentCount: { serializedName: "documentsCount", required: true, type: { name: "Number" } }, validDocumentCount: { serializedName: "validDocumentsCount", required: true, type: { name: "Number" } }, erroneousDocumentCount: { serializedName: "erroneousDocumentsCount", required: true, type: { name: "Number" } }, transactionCount: { serializedName: "transactionsCount", required: true, type: { name: "Number" } } } } }; const LanguageDetectionAnalysisInput = { type: { name: "Composite", className: "LanguageDetectionAnalysisInput", modelProperties: { documents: { serializedName: "documents", type: { name: "Sequence", element: { type: { name: "Composite", className: "LanguageDetectionInput" } } } } } } }; const LanguageDetectionInput = { type: { name: "Composite", className: "LanguageDetectionInput", modelProperties: { id: { serializedName: "id", required: true, type: { name: "String" } }, text: { serializedName: "text", required: true, type: { name: "String" } }, countryHint: { serializedName: "countryHint", type: { name: "String" } } } } }; const ActionCommon = { type: { name: "Composite", className: "ActionCommon", modelProperties: { disableServiceLogs: { defaultValue: false, serializedName: "loggingOptOut", type: { name: "Boolean" } } } } }; const CustomResult = { type: { name: "Composite", className: "CustomResult", modelProperties: { errors: { serializedName: "errors", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "DocumentError" } } } }, statistics: { serializedName: "statistics", type: { name: "Composite", className: "TextDocumentBatchStatistics" } }, projectName: { serializedName: "projectName", required: true, type: { name: "String" } }, deploymentName: { serializedName: "deploymentName", required: true, type: { name: "String" } } } } }; const DocumentError = { type: { name: "Composite", className: "DocumentError", modelProperties: { id: { serializedName: "id", required: true, type: { name: "String" } }, error: { serializedName: "error", type: { name: "Composite", className: "ErrorModel" } } } } }; const Entity = { type: { name: "Composite", className: "Entity", modelProperties: { text: { serializedName: "text", required: true, type: { name: "String" } }, category: { serializedName: "category", required: true, type: { name: "String" } }, subCategory: { serializedName: "subcategory", type: { name: "String" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } }, confidenceScore: { serializedName: "confidenceScore", required: true, type: { name: "Number" } } } } }; const DocumentResult = { type: { name: "Composite", className: "DocumentResult", modelProperties: { id: { serializedName: "id", required: true, type: { name: "String" } }, warnings: { serializedName: "warnings", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "DocumentWarning" } } } }, statistics: { serializedName: "statistics", type: { name: "Composite", className: "TextDocumentStatistics" } } } } }; const DocumentWarning = { type: { name: "Composite", className: "DocumentWarning", modelProperties: { code: { serializedName: "code", required: true, type: { name: "String" } }, message: { serializedName: "message", required: true, type: { name: "String" } } } } }; const TextDocumentStatistics = { type: { name: "Composite", className: "TextDocumentStatistics", modelProperties: { characterCount: { serializedName: "charactersCount", required: true, type: { name: "Number" } }, transactionCount: { serializedName: "transactionsCount", required: true, type: { name: "Number" } } } } }; const ClassificationCategory = { type: { name: "Composite", className: "ClassificationCategory", modelProperties: { category: { serializedName: "category", required: true, type: { name: "String" } }, confidenceScore: { serializedName: "confidenceScore", required: true, type: { name: "Number" } } } } }; const HealthcareEntity = { type: { name: "Composite", className: "HealthcareEntity", modelProperties: { text: { serializedName: "text", required: true, type: { name: "String" } }, category: { serializedName: "category", required: true, type: { name: "String" } }, subCategory: { serializedName: "subcategory", type: { name: "String" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } }, confidenceScore: { serializedName: "confidenceScore", required: true, type: { name: "Number" } }, assertion: { serializedName: "assertion", type: { name: "Composite", className: "HealthcareAssertion" } }, normalizedText: { serializedName: "name", type: { name: "String" } }, dataSources: { serializedName: "links", type: { name: "Sequence", element: { type: { name: "Composite", className: "EntityDataSource" } } } } } } }; const HealthcareAssertion = { type: { name: "Composite", className: "HealthcareAssertion", modelProperties: { conditionality: { serializedName: "conditionality", type: { name: "Enum", allowedValues: ["hypothetical", "conditional"] } }, certainty: { serializedName: "certainty", type: { name: "Enum", allowedValues: [ "positive", "positivePossible", "neutralPossible", "negativePossible", "negative" ] } }, association: { serializedName: "association", type: { name: "Enum", allowedValues: ["subject", "other"] } } } } }; const EntityDataSource = { type: { name: "Composite", className: "EntityDataSource", modelProperties: { name: { serializedName: "dataSource", required: true, type: { name: "String" } }, entityId: { serializedName: "id", required: true, type: { name: "String" } } } } }; const HealthcareRelation = { type: { name: "Composite", className: "HealthcareRelation", modelProperties: { relationType: { serializedName: "relationType", required: true, type: { name: "String" } }, confidenceScore: { serializedName: "confidenceScore", type: { name: "Number" } }, entities: { serializedName: "entities", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "HealthcareRelationEntity" } } } } } } }; const HealthcareRelationEntity = { type: { name: "Composite", className: "HealthcareRelationEntity", modelProperties: { ref: { serializedName: "ref", required: true, type: { name: "String" } }, role: { serializedName: "role", required: true, type: { name: "String" } } } } }; const PreBuiltResult = { type: { name: "Composite", className: "PreBuiltResult", modelProperties: { errors: { serializedName: "errors", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "DocumentError" } } } }, statistics: { serializedName: "statistics", type: { name: "Composite", className: "TextDocumentBatchStatistics" } }, modelVersion: { serializedName: "modelVersion", required: true, type: { name: "String" } } } } }; const SentimentConfidenceScores = { type: { name: "Composite", className: "SentimentConfidenceScores", modelProperties: { positive: { serializedName: "positive", required: true, type: { name: "Number" } }, neutral: { serializedName: "neutral", required: true, type: { name: "Number" } }, negative: { serializedName: "negative", required: true, type: { name: "Number" } } } } }; const SentenceSentiment = { type: { name: "Composite", className: "SentenceSentiment", modelProperties: { text: { serializedName: "text", required: true, type: { name: "String" } }, sentiment: { serializedName: "sentiment", required: true, type: { name: "Enum", allowedValues: ["positive", "neutral", "negative"] } }, confidenceScores: { serializedName: "confidenceScores", type: { name: "Composite", className: "SentimentConfidenceScores" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } }, targets: { serializedName: "targets", type: { name: "Sequence", element: { type: { name: "Composite", className: "SentenceTarget" } } } }, assessments: { serializedName: "assessments", type: { name: "Sequence", element: { type: { name: "Composite", className: "AssessmentSentiment" } } } } } } }; const SentenceTarget = { type: { name: "Composite", className: "SentenceTarget", modelProperties: { sentiment: { serializedName: "sentiment", required: true, type: { name: "Enum", allowedValues: ["positive", "mixed", "negative"] } }, confidenceScores: { serializedName: "confidenceScores", type: { name: "Composite", className: "TargetConfidenceScores" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } }, text: { serializedName: "text", required: true, type: { name: "String" } }, relations: { serializedName: "relations", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "TargetRelation" } } } } } } }; const TargetConfidenceScores = { type: { name: "Composite", className: "TargetConfidenceScores", modelProperties: { positive: { serializedName: "positive", required: true, type: { name: "Number" } }, negative: { serializedName: "negative", required: true, type: { name: "Number" } } } } }; const TargetRelation = { type: { name: "Composite", className: "TargetRelation", modelProperties: { relationType: { serializedName: "relationType", required: true, type: { name: "Enum", allowedValues: ["assessment", "target"] } }, ref: { serializedName: "ref", required: true, type: { name: "String" } } } } }; const AssessmentSentiment = { type: { name: "Composite", className: "AssessmentSentiment", modelProperties: { sentiment: { serializedName: "sentiment", required: true, type: { name: "Enum", allowedValues: ["positive", "mixed", "negative"] } }, confidenceScores: { serializedName: "confidenceScores", type: { name: "Composite", className: "TargetConfidenceScores" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } }, text: { serializedName: "text", required: true, type: { name: "String" } }, isNegated: { serializedName: "isNegated", required: true, type: { name: "Boolean" } } } } }; const LinkedEntity = { type: { name: "Composite", className: "LinkedEntity", modelProperties: { name: { serializedName: "name", required: true, type: { name: "String" } }, matches: { serializedName: "matches", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "Match" } } } }, language: { serializedName: "language", required: true, type: { name: "String" } }, dataSourceEntityId: { serializedName: "id", type: { name: "String" } }, url: { serializedName: "url", required: true, type: { name: "String" } }, dataSource: { serializedName: "dataSource", required: true, type: { name: "String" } }, bingEntitySearchApiId: { serializedName: "bingId", type: { name: "String" } } } } }; const Match = { type: { name: "Composite", className: "Match", modelProperties: { confidenceScore: { serializedName: "confidenceScore", required: true, type: { name: "Number" } }, text: { serializedName: "text", required: true, type: { name: "String" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } } } } }; const SummarySentence = { type: { name: "Composite", className: "SummarySentence", modelProperties: { text: { serializedName: "text", required: true, type: { name: "String" } }, rankScore: { serializedName: "rankScore", required: true, type: { name: "Number" } }, offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } } } } }; const DetectedLanguage = { type: { name: "Composite", className: "DetectedLanguage", modelProperties: { name: { serializedName: "name", required: true, type: { name: "String" } }, iso6391Name: { serializedName: "iso6391Name", required: true, type: { name: "String" } }, confidenceScore: { serializedName: "confidenceScore", required: true, type: { name: "Number" } } } } }; const Pagination = { type: { name: "Composite", className: "Pagination", modelProperties: { nextLink: { serializedName: "nextLink", type: { name: "String" } } } } }; const JobErrors = { type: { name: "Composite", className: "JobErrors", modelProperties: { errors: { serializedName: "errors", type: { name: "Sequence", element: { type: { name: "Composite", className: "ErrorModel" } } } } } } }; const AbstractiveSummarizationTaskParametersBase = { type: { name: "Composite", className: "AbstractiveSummarizationTaskParametersBase", modelProperties: { sentenceCount: { serializedName: "sentenceCount", type: { name: "Number" } }, stringIndexType: { defaultValue: "Utf16CodeUnit", serializedName: "stringIndexType", type: { name: "String" } } } } }; const AbstractiveSummarizationResultBase = { type: { name: "Composite", className: "AbstractiveSummarizationResultBase", modelProperties: { documents: { serializedName: "documents", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "AbstractiveSummaryDocumentResult" } } } } } } }; const AbstractiveSummary = { type: { name: "Composite", className: "AbstractiveSummary", modelProperties: { text: { serializedName: "text", required: true, type: { name: "String" } }, contexts: { serializedName: "contexts", required: true, type: { name: "Sequence", element: { type: { name: "Composite", className: "SummaryContext" } } } } } } }; const SummaryContext = { type: { name: "Composite", className: "SummaryContext", modelProperties: { offset: { serializedName: "offset", required: true, type: { name: "Number" } }, length: { serializedName: "length", required: true, type: { name: "Number" } } } } }; const AnalyzeTextEntityLinkingInput = { serializedName: "EntityLinking", type: { name: "Composite", className: "AnalyzeTextEntityLinkingInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "EntityLinkingAction" } } }) } }; const AnalyzeTextEntityRecognitionInput = { serializedName: "EntityRecognition", type: { name: "Composite", className: "AnalyzeTextEntityRecognitionInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "EntityRecognitionAction" } } }) } }; const AnalyzeTextKeyPhraseExtractionInput = { serializedName: "KeyPhraseExtraction", type: { name: "Composite", className: "AnalyzeTextKeyPhraseExtractionInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "KeyPhraseExtractionAction" } } }) } }; const AnalyzeTextPiiEntitiesRecognitionInput = { serializedName: "PiiEntityRecognition", type: { name: "Composite", className: "AnalyzeTextPiiEntitiesRecognitionInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "PiiEntityRecognitionAction" } } }) } }; const AnalyzeTextLanguageDetectionInput = { serializedName: "LanguageDetection", type: { name: "Composite", className: "AnalyzeTextLanguageDetectionInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "LanguageDetectionAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "LanguageDetectionAction" } } }) } }; const AnalyzeTextSentimentAnalysisInput = { serializedName: "SentimentAnalysis", type: { name: "Composite", className: "AnalyzeTextSentimentAnalysisInput", uberParent: "AnalyzeAction", polymorphicDiscriminator: AnalyzeAction.type.polymorphicDiscriminator, modelProperties: Object.assign(Object.assign({}, AnalyzeAction.type.modelProperties), { analysisInput: { serializedName: "analysisInput", type: { name: "Composite", className: "MultiLanguageAnalysisInput" } }, parameters: { serializedName: "parameters", type: { name: "Composite", className: "SentimentAnalysisAction" } } }) } }; const SentimentTaskResult = { serializedName: "SentimentAnalysisResults", type: { name: "Composite", cl