@aws-amplify/predictions 6.0.1-unstable.cfbde4c.0 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/{lib → dist/cjs}/Predictions.js +4 -2
  2. package/dist/cjs/Predictions.js.map +1 -0
  3. package/{lib → dist/cjs}/errors/PredictionsError.js +3 -1
  4. package/dist/cjs/errors/PredictionsError.js.map +1 -0
  5. package/{lib → dist/cjs}/errors/types/validation.js +3 -1
  6. package/dist/cjs/errors/types/validation.js.map +1 -0
  7. package/{lib → dist/cjs}/errors/utils/assertValidationError.js +3 -1
  8. package/dist/cjs/errors/utils/assertValidationError.js.map +1 -0
  9. package/{lib → dist/cjs}/index.js +3 -1
  10. package/dist/cjs/index.js.map +1 -0
  11. package/{lib → dist/cjs}/providers/AmazonAIConvertPredictionsProvider.js +3 -1
  12. package/dist/cjs/providers/AmazonAIConvertPredictionsProvider.js.map +1 -0
  13. package/{lib → dist/cjs}/providers/AmazonAIIdentifyPredictionsProvider.js +3 -1
  14. package/dist/cjs/providers/AmazonAIIdentifyPredictionsProvider.js.map +1 -0
  15. package/{lib → dist/cjs}/providers/AmazonAIInterpretPredictionsProvider.js +3 -1
  16. package/dist/cjs/providers/AmazonAIInterpretPredictionsProvider.js.map +1 -0
  17. package/{lib → dist/cjs}/providers/IdentifyTextUtils.js +3 -1
  18. package/dist/cjs/providers/IdentifyTextUtils.js.map +1 -0
  19. package/{lib → dist/cjs}/providers/Utils.js +3 -1
  20. package/dist/cjs/providers/Utils.js.map +1 -0
  21. package/{lib → dist/cjs}/providers/index.js +3 -1
  22. package/dist/cjs/providers/index.js.map +1 -0
  23. package/{lib → dist/cjs}/types/AWSTypes.js +3 -1
  24. package/dist/cjs/types/AWSTypes.js.map +1 -0
  25. package/{lib → dist/cjs}/types/Predictions.js +3 -1
  26. package/dist/cjs/types/Predictions.js.map +1 -0
  27. package/{lib → dist/cjs}/types/index.js +3 -1
  28. package/dist/cjs/types/index.js.map +1 -0
  29. package/{lib-esm/Predictions.js → dist/esm/Predictions.mjs} +11 -5
  30. package/dist/esm/Predictions.mjs.map +1 -0
  31. package/{lib-esm/errors/PredictionsError.js → dist/esm/errors/PredictionsError.mjs} +6 -2
  32. package/dist/esm/errors/PredictionsError.mjs.map +1 -0
  33. package/{lib-esm/errors/types/validation.js → dist/esm/errors/types/validation.mjs} +5 -2
  34. package/dist/esm/errors/types/validation.mjs.map +1 -0
  35. package/{lib-esm/errors/utils/assertValidationError.js → dist/esm/errors/utils/assertValidationError.mjs} +7 -3
  36. package/dist/esm/errors/utils/assertValidationError.mjs.map +1 -0
  37. package/dist/esm/index.mjs +2 -0
  38. package/dist/esm/index.mjs.map +1 -0
  39. package/{lib-esm/providers/AmazonAIConvertPredictionsProvider.js → dist/esm/providers/AmazonAIConvertPredictionsProvider.mjs} +16 -12
  40. package/dist/esm/providers/AmazonAIConvertPredictionsProvider.mjs.map +1 -0
  41. package/{lib-esm/providers/AmazonAIIdentifyPredictionsProvider.js → dist/esm/providers/AmazonAIIdentifyPredictionsProvider.mjs} +16 -12
  42. package/dist/esm/providers/AmazonAIIdentifyPredictionsProvider.mjs.map +1 -0
  43. package/{lib-esm/providers/AmazonAIInterpretPredictionsProvider.js → dist/esm/providers/AmazonAIInterpretPredictionsProvider.mjs} +11 -7
  44. package/dist/esm/providers/AmazonAIInterpretPredictionsProvider.mjs.map +1 -0
  45. package/{lib-esm/providers/IdentifyTextUtils.js → dist/esm/providers/IdentifyTextUtils.mjs} +7 -3
  46. package/dist/esm/providers/IdentifyTextUtils.mjs.map +1 -0
  47. package/{lib-esm/providers/Utils.js → dist/esm/providers/Utils.mjs} +6 -3
  48. package/dist/esm/providers/Utils.mjs.map +1 -0
  49. package/dist/esm/providers/index.mjs +4 -0
  50. package/dist/esm/providers/index.mjs.map +1 -0
  51. package/dist/esm/types/AWSTypes.mjs +2 -0
  52. package/dist/esm/types/AWSTypes.mjs.map +1 -0
  53. package/{lib-esm/types/Predictions.js → dist/esm/types/Predictions.mjs} +20 -17
  54. package/dist/esm/types/Predictions.mjs.map +1 -0
  55. package/dist/esm/types/index.mjs +2 -0
  56. package/dist/esm/types/index.mjs.map +1 -0
  57. package/package.json +119 -121
  58. package/src/Predictions.ts +2 -2
  59. package/src/providers/AmazonAIConvertPredictionsProvider.ts +2 -6
  60. package/src/providers/AmazonAIIdentifyPredictionsProvider.ts +2 -6
  61. package/lib/Predictions.d.ts +0 -15
  62. package/lib/errors/PredictionsError.d.ts +0 -4
  63. package/lib/errors/types/validation.d.ts +0 -14
  64. package/lib/errors/utils/assertValidationError.d.ts +0 -2
  65. package/lib/index.d.ts +0 -2
  66. package/lib/providers/AmazonAIConvertPredictionsProvider.d.ts +0 -19
  67. package/lib/providers/AmazonAIIdentifyPredictionsProvider.d.ts +0 -48
  68. package/lib/providers/AmazonAIInterpretPredictionsProvider.d.ts +0 -14
  69. package/lib/providers/IdentifyTextUtils.d.ts +0 -16
  70. package/lib/providers/Utils.d.ts +0 -13
  71. package/lib/providers/index.d.ts +0 -4
  72. package/lib/tsconfig.tsbuildinfo +0 -1
  73. package/lib/types/AWSTypes.d.ts +0 -124
  74. package/lib/types/Predictions.d.ts +0 -298
  75. package/lib/types/index.d.ts +0 -1
  76. package/lib-esm/index.js +0 -3
  77. package/lib-esm/providers/index.js +0 -6
  78. package/lib-esm/tsconfig.tsbuildinfo +0 -1
  79. package/lib-esm/types/AWSTypes.js +0 -1
  80. package/lib-esm/types/index.js +0 -3
  81. /package/{lib-esm → dist/esm}/Predictions.d.ts +0 -0
  82. /package/{lib-esm → dist/esm}/errors/PredictionsError.d.ts +0 -0
  83. /package/{lib-esm → dist/esm}/errors/types/validation.d.ts +0 -0
  84. /package/{lib-esm → dist/esm}/errors/utils/assertValidationError.d.ts +0 -0
  85. /package/{lib-esm → dist/esm}/index.d.ts +0 -0
  86. /package/{lib-esm → dist/esm}/providers/AmazonAIConvertPredictionsProvider.d.ts +0 -0
  87. /package/{lib-esm → dist/esm}/providers/AmazonAIIdentifyPredictionsProvider.d.ts +0 -0
  88. /package/{lib-esm → dist/esm}/providers/AmazonAIInterpretPredictionsProvider.d.ts +0 -0
  89. /package/{lib-esm → dist/esm}/providers/IdentifyTextUtils.d.ts +0 -0
  90. /package/{lib-esm → dist/esm}/providers/Utils.d.ts +0 -0
  91. /package/{lib-esm → dist/esm}/providers/index.d.ts +0 -0
  92. /package/{lib-esm → dist/esm}/types/AWSTypes.d.ts +0 -0
  93. /package/{lib-esm → dist/esm}/types/Predictions.d.ts +0 -0
  94. /package/{lib-esm → dist/esm}/types/index.d.ts +0 -0
@@ -1,10 +1,14 @@
1
+ import { PredictionsError } from '../PredictionsError.mjs';
2
+ import { validationErrorMap } from '../types/validation.mjs';
3
+
1
4
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
5
  // SPDX-License-Identifier: Apache-2.0
3
- import { PredictionsError } from '../PredictionsError';
4
- import { validationErrorMap, } from '../types/validation';
5
- export function assertValidationError(assertion, name) {
6
+ function assertValidationError(assertion, name) {
6
7
  if (!assertion) {
7
8
  const { message, recoverySuggestion } = validationErrorMap[name];
8
9
  throw new PredictionsError({ name, message, recoverySuggestion });
9
10
  }
10
11
  }
12
+
13
+ export { assertValidationError };
14
+ //# sourceMappingURL=assertValidationError.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assertValidationError.mjs","sources":["../../../../src/errors/utils/assertValidationError.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { PredictionsError } from '../PredictionsError';\nimport { validationErrorMap, } from '../types/validation';\nexport function assertValidationError(assertion, name) {\n if (!assertion) {\n const { message, recoverySuggestion } = validationErrorMap[name];\n throw new PredictionsError({ name, message, recoverySuggestion });\n }\n}\n"],"names":[],"mappings":";;;AAAA;AACA;AAGO,SAAS,qBAAqB,CAAC,SAAS,EAAE,IAAI,EAAE;AACvD,IAAI,IAAI,CAAC,SAAS,EAAE;AACpB,QAAQ,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACzE,QAAQ,MAAM,IAAI,gBAAgB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAC1E,KAAK;AACL;;;;"}
@@ -0,0 +1,2 @@
1
+ export { Predictions } from './Predictions.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,19 +1,20 @@
1
- // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
- // SPDX-License-Identifier: Apache-2.0
3
- import { Amplify, ConsoleLogger as Logger, fetchAuthSession, } from '@aws-amplify/core';
4
- import { Category, PredictionsAction, Signer, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';
1
+ import { ConsoleLogger, Amplify, fetchAuthSession } from '@aws-amplify/core';
2
+ import { getAmplifyUserAgentObject, Category, PredictionsAction, Signer } from '@aws-amplify/core/internals/utils';
5
3
  import { PollyClient, SynthesizeSpeechCommand } from '@aws-sdk/client-polly';
6
- import { TranslateClient, TranslateTextCommand, } from '@aws-sdk/client-translate';
7
- import { EventStreamCodec, } from '@smithy/eventstream-codec';
8
- import { fromUtf8, toUtf8 } from '@smithy/util-utf8';
4
+ import { TranslateClient, TranslateTextCommand } from '@aws-sdk/client-translate';
5
+ import { EventStreamCodec } from '@smithy/eventstream-codec';
6
+ import { toUtf8, fromUtf8 } from '@smithy/util-utf8';
9
7
  import { Buffer } from 'buffer';
10
- import { PredictionsValidationErrorCode } from '../errors/types/validation';
11
- import { assertValidationError } from '../errors/utils/assertValidationError';
12
- import { isConvertBytesSource, isTextToSpeechInput, isTranslateTextInput, isValidConvertInput, } from '../types';
13
- const logger = new Logger('AmazonAIConvertPredictionsProvider');
8
+ import { PredictionsValidationErrorCode } from '../errors/types/validation.mjs';
9
+ import { assertValidationError } from '../errors/utils/assertValidationError.mjs';
10
+ import { isValidConvertInput, isTranslateTextInput, isTextToSpeechInput, isConvertBytesSource } from '../types/Predictions.mjs';
11
+
12
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
13
+ // SPDX-License-Identifier: Apache-2.0
14
+ const logger = new ConsoleLogger('AmazonAIConvertPredictionsProvider');
14
15
  const eventBuilder = new EventStreamCodec(toUtf8, fromUtf8);
15
16
  const LANGUAGES_CODE_IN_8KHZ = ['fr-FR', 'en-AU', 'en-GB', 'fr-CA'];
16
- export class AmazonAIConvertPredictionsProvider {
17
+ class AmazonAIConvertPredictionsProvider {
17
18
  constructor() {
18
19
  this.inputSampleRate = 44100;
19
20
  }
@@ -301,3 +302,6 @@ export class AmazonAIConvertPredictionsProvider {
301
302
  return signedUrl;
302
303
  }
303
304
  }
305
+
306
+ export { AmazonAIConvertPredictionsProvider };
307
+ //# sourceMappingURL=AmazonAIConvertPredictionsProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmazonAIConvertPredictionsProvider.mjs","sources":["../../../src/providers/AmazonAIConvertPredictionsProvider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { Category, PredictionsAction, Signer, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';\nimport { PollyClient, SynthesizeSpeechCommand } from '@aws-sdk/client-polly';\nimport { TranslateClient, TranslateTextCommand, } from '@aws-sdk/client-translate';\nimport { EventStreamCodec, } from '@smithy/eventstream-codec';\nimport { fromUtf8, toUtf8 } from '@smithy/util-utf8';\nimport { Buffer } from 'buffer';\nimport { PredictionsValidationErrorCode } from '../errors/types/validation';\nimport { assertValidationError } from '../errors/utils/assertValidationError';\nimport { isConvertBytesSource, isTextToSpeechInput, isTranslateTextInput, isValidConvertInput, } from '../types';\nconst logger = new ConsoleLogger('AmazonAIConvertPredictionsProvider');\nconst eventBuilder = new EventStreamCodec(toUtf8, fromUtf8);\nconst LANGUAGES_CODE_IN_8KHZ = ['fr-FR', 'en-AU', 'en-GB', 'fr-CA'];\nexport class AmazonAIConvertPredictionsProvider {\n constructor() {\n this.inputSampleRate = 44100;\n }\n getProviderName() {\n return 'AmazonAIConvertPredictionsProvider';\n }\n convert(input) {\n assertValidationError(isValidConvertInput(input), PredictionsValidationErrorCode.InvalidInput);\n if (isTranslateTextInput(input)) {\n logger.debug('translateText');\n return this.translateText(input);\n }\n else if (isTextToSpeechInput(input)) {\n logger.debug('textToSpeech');\n return this.convertTextToSpeech(input);\n }\n else {\n logger.debug('textToSpeech');\n return this.convertSpeechToText(input);\n }\n }\n async translateText(input) {\n logger.debug('Starting translation');\n const { translateText = {} } = Amplify.getConfig().Predictions?.convert ?? {};\n assertValidationError(!!translateText.region, PredictionsValidationErrorCode.NoRegion);\n const { defaults = {}, region } = translateText;\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { sourceLanguage, targetLanguage } = defaults;\n const sourceLanguageCode = input.translateText?.source?.language ?? sourceLanguage;\n const targetLanguageCode = input.translateText?.targetLanguage ?? targetLanguage;\n assertValidationError(!!sourceLanguageCode, PredictionsValidationErrorCode.NoSourceLanguage);\n assertValidationError(!!targetLanguageCode, PredictionsValidationErrorCode.NoTargetLanguage);\n this.translateClient = new TranslateClient({\n region,\n credentials,\n customUserAgent: getAmplifyUserAgentObject({\n category: Category.Predictions,\n action: PredictionsAction.Convert,\n }),\n });\n const translateTextCommand = new TranslateTextCommand({\n SourceLanguageCode: sourceLanguageCode,\n TargetLanguageCode: targetLanguageCode,\n Text: input.translateText?.source?.text,\n });\n const data = await this.translateClient.send(translateTextCommand);\n return {\n text: data.TranslatedText,\n language: data.TargetLanguageCode,\n };\n }\n async convertTextToSpeech(input) {\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n assertValidationError(!!input.textToSpeech?.source, PredictionsValidationErrorCode.NoSource);\n const { speechGenerator } = Amplify.getConfig().Predictions?.convert ?? {};\n assertValidationError(!!speechGenerator?.region, PredictionsValidationErrorCode.NoRegion);\n const { defaults = {}, region } = speechGenerator;\n const { voiceId: defaultVoiceId } = defaults;\n const voiceId = input.textToSpeech?.voiceId ?? defaultVoiceId;\n assertValidationError(!!voiceId, PredictionsValidationErrorCode.NoVoiceId);\n this.pollyClient = new PollyClient({\n region,\n credentials,\n customUserAgent: getAmplifyUserAgentObject({\n category: Category.Predictions,\n action: PredictionsAction.Convert,\n }),\n });\n const synthesizeSpeechCommand = new SynthesizeSpeechCommand({\n OutputFormat: 'mp3',\n Text: input.textToSpeech?.source?.text,\n VoiceId: voiceId,\n TextType: 'text',\n SampleRate: '24000',\n // tslint:disable-next-line: align\n });\n const data = await this.pollyClient.send(synthesizeSpeechCommand);\n const response = new Response(data.AudioStream);\n const arrayBuffer = await response.arrayBuffer();\n const blob = new Blob([arrayBuffer], {\n type: data.ContentType,\n });\n const url = URL.createObjectURL(blob);\n return {\n speech: { url },\n audioStream: arrayBuffer,\n text: input.textToSpeech?.source?.text,\n };\n }\n async convertSpeechToText(input) {\n logger.debug('starting transcription..');\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { transcription } = Amplify.getConfig().Predictions?.convert ?? {};\n assertValidationError(!!transcription?.region, PredictionsValidationErrorCode.NoRegion);\n const { defaults, region } = transcription;\n const language = input.transcription?.language ?? defaults?.language;\n assertValidationError(!!language, PredictionsValidationErrorCode.NoLanguage);\n const source = input.transcription?.source;\n assertValidationError(isConvertBytesSource(source), PredictionsValidationErrorCode.InvalidSource);\n const connection = await this.openConnectionWithTranscribe({\n credentials,\n region,\n languageCode: language,\n });\n const fullText = await this.sendDataToTranscribe({\n connection,\n raw: source.bytes,\n languageCode: language,\n });\n return {\n transcription: {\n fullText,\n },\n };\n }\n static serializeDataFromTranscribe(message) {\n let decodedMessage = '';\n const transcribeMessage = eventBuilder.decode(Buffer.from(message.data));\n const transcribeMessageJson = JSON.parse(toUtf8(transcribeMessage.body));\n if (transcribeMessage.headers[':message-type'].value === 'exception') {\n logger.debug('exception', JSON.stringify(transcribeMessageJson.Message, null, 2));\n throw new Error(transcribeMessageJson.Message);\n }\n else if (transcribeMessage.headers[':message-type'].value === 'event') {\n if (transcribeMessageJson.Transcript.Results.length > 0) {\n if (transcribeMessageJson.Transcript.Results[0].Alternatives.length > 0) {\n if (transcribeMessageJson.Transcript.Results[0].Alternatives[0]\n .Transcript.length > 0) {\n if (transcribeMessageJson.Transcript.Results[0].IsPartial === false) {\n decodedMessage =\n transcribeMessageJson.Transcript.Results[0].Alternatives[0]\n .Transcript + '\\n';\n logger.debug({ decodedMessage });\n }\n else {\n logger.debug({\n transcript: transcribeMessageJson.Transcript.Results[0].Alternatives[0],\n });\n }\n }\n }\n }\n }\n return decodedMessage;\n }\n sendDataToTranscribe({ connection, raw, languageCode, }) {\n return new Promise((res, rej) => {\n let fullText = '';\n connection.onmessage = message => {\n try {\n const decodedMessage = AmazonAIConvertPredictionsProvider.serializeDataFromTranscribe(message);\n if (decodedMessage) {\n fullText += decodedMessage + ' ';\n }\n }\n catch (err) {\n logger.debug(err);\n rej(err);\n }\n };\n connection.onerror = errorEvent => {\n logger.debug({ errorEvent });\n rej('failed to transcribe, network error');\n };\n connection.onclose = closeEvent => {\n logger.debug({ closeEvent });\n return res(fullText.trim());\n };\n logger.debug({ raw });\n if (Array.isArray(raw)) {\n for (let i = 0; i < raw.length - 1023; i += 1024) {\n const data = raw.slice(i, i + 1024);\n this.sendEncodedDataToTranscribe(connection, data, languageCode);\n }\n }\n else {\n // If Buffer\n this.sendEncodedDataToTranscribe(connection, raw, languageCode);\n }\n // sending end frame\n const endFrameEventMessage = this.getAudioEventMessage(Buffer.from([]));\n const endFrameBinary = eventBuilder.encode(endFrameEventMessage);\n connection.send(endFrameBinary);\n });\n }\n sendEncodedDataToTranscribe(connection, data, languageCode) {\n const downsampledBuffer = this.downsampleBuffer({\n buffer: data,\n outputSampleRate: LANGUAGES_CODE_IN_8KHZ.includes(languageCode)\n ? 8000\n : 16000,\n });\n const pcmEncodedBuffer = this.pcmEncode(downsampledBuffer);\n const audioEventMessage = this.getAudioEventMessage(Buffer.from(pcmEncodedBuffer));\n const binary = eventBuilder.encode(audioEventMessage);\n connection.send(binary);\n }\n getAudioEventMessage(buffer) {\n const audioEventMessage = {\n body: buffer,\n headers: {\n ':message-type': {\n type: 'string',\n value: 'event',\n },\n ':event-type': {\n type: 'string',\n value: 'AudioEvent',\n },\n },\n };\n return audioEventMessage;\n }\n pcmEncode(input) {\n let offset = 0;\n // ArrayBuffer cannot be processed using length property\n if (input instanceof ArrayBuffer) {\n return input;\n }\n const buffer = new ArrayBuffer(input.length * 2);\n const view = new DataView(buffer);\n for (let i = 0; i < input.length; i++, offset += 2) {\n const s = Math.max(-1, Math.min(1, input[i]));\n view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n return buffer;\n }\n downsampleBuffer({ buffer, outputSampleRate = 16000, }) {\n // Cannot process ArrayBuffer using length property\n if (outputSampleRate === this.inputSampleRate ||\n buffer instanceof ArrayBuffer) {\n return buffer;\n }\n const sampleRateRatio = this.inputSampleRate / outputSampleRate;\n const newLength = Math.round(buffer.length / sampleRateRatio);\n const result = new Float32Array(newLength);\n let offsetResult = 0;\n let offsetBuffer = 0;\n while (offsetResult < result.length) {\n const nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio);\n let accum = 0, count = 0;\n for (let i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) {\n accum += buffer[i];\n count++;\n }\n result[offsetResult] = accum / count;\n offsetResult++;\n offsetBuffer = nextOffsetBuffer;\n }\n return result;\n }\n openConnectionWithTranscribe({ credentials, region, languageCode, }) {\n return new Promise(async (res, rej) => {\n const signedUrl = this.generateTranscribeUrl({\n credentials,\n region,\n languageCode,\n });\n logger.debug('connecting...');\n const connection = new WebSocket(signedUrl);\n connection.binaryType = 'arraybuffer';\n connection.onopen = () => {\n logger.debug('connected');\n res(connection);\n };\n });\n }\n generateTranscribeUrl({ credentials: { accessKeyId, secretAccessKey, sessionToken }, region, languageCode, }) {\n const credentials = {\n access_key: accessKeyId,\n secret_key: secretAccessKey,\n session_token: sessionToken,\n };\n const url = [\n `wss://transcribestreaming.${region}.amazonaws.com:8443`,\n '/stream-transcription-websocket?',\n `media-encoding=pcm&`,\n `sample-rate=${LANGUAGES_CODE_IN_8KHZ.includes(languageCode) ? '8000' : '16000'}&`,\n `language-code=${languageCode}`,\n ].join('');\n const signedUrl = Signer.signUrl(url, credentials, { region, service: 'transcribe' }, 300);\n return signedUrl;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,17 +1,18 @@
1
+ import { ConsoleLogger, fetchAuthSession, Amplify } from '@aws-amplify/core';
2
+ import { getAmplifyUserAgentObject, Category, PredictionsAction } from '@aws-amplify/core/internals/utils';
3
+ import { getUrl } from '@aws-amplify/storage';
4
+ import { RekognitionClient, DetectTextCommand, DetectLabelsCommand, DetectModerationLabelsCommand, RecognizeCelebritiesCommand, SearchFacesByImageCommand, DetectFacesCommand } from '@aws-sdk/client-rekognition';
5
+ import { TextractClient, DetectDocumentTextCommand, AnalyzeDocumentCommand } from '@aws-sdk/client-textract';
6
+ import { PredictionsValidationErrorCode } from '../errors/types/validation.mjs';
7
+ import { assertValidationError } from '../errors/utils/assertValidationError.mjs';
8
+ import { isValidIdentifyInput, isIdentifyTextInput, isIdentifyLabelsInput, isStorageSource, isFileSource, isIdentifyBytesSource, isIdentifyCelebrities, isIdentifyFromCollection } from '../types/Predictions.mjs';
9
+ import { categorizeRekognitionBlocks, categorizeTextractBlocks } from './IdentifyTextUtils.mjs';
10
+ import { blobToArrayBuffer, makeCamelCase, makeCamelCaseArray } from './Utils.mjs';
11
+
1
12
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
13
  // SPDX-License-Identifier: Apache-2.0
3
- import { Amplify, ConsoleLogger as Logger, fetchAuthSession, } from '@aws-amplify/core';
4
- import { Category, PredictionsAction, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';
5
- import { getUrl } from '@aws-amplify/storage';
6
- import { DetectFacesCommand, DetectLabelsCommand, DetectModerationLabelsCommand, DetectTextCommand, RecognizeCelebritiesCommand, RekognitionClient, SearchFacesByImageCommand, } from '@aws-sdk/client-rekognition';
7
- import { AnalyzeDocumentCommand, DetectDocumentTextCommand, TextractClient, } from '@aws-sdk/client-textract';
8
- import { PredictionsValidationErrorCode } from '../errors/types/validation';
9
- import { assertValidationError } from '../errors/utils/assertValidationError';
10
- import { isFileSource, isIdentifyBytesSource, isIdentifyCelebrities, isIdentifyFromCollection, isIdentifyLabelsInput, isIdentifyTextInput, isStorageSource, isValidIdentifyInput, } from '../types';
11
- import { categorizeRekognitionBlocks, categorizeTextractBlocks, } from './IdentifyTextUtils';
12
- import { blobToArrayBuffer, makeCamelCase, makeCamelCaseArray } from './Utils';
13
- const logger = new Logger('AmazonAIIdentifyPredictionsProvider');
14
- export class AmazonAIIdentifyPredictionsProvider {
14
+ const logger = new ConsoleLogger('AmazonAIIdentifyPredictionsProvider');
15
+ class AmazonAIIdentifyPredictionsProvider {
15
16
  getProviderName() {
16
17
  return 'AmazonAIIdentifyPredictionsProvider';
17
18
  }
@@ -328,3 +329,6 @@ function _getPredictionsIdentifyAmplifyUserAgent() {
328
329
  action: PredictionsAction.Identify,
329
330
  });
330
331
  }
332
+
333
+ export { AmazonAIIdentifyPredictionsProvider };
334
+ //# sourceMappingURL=AmazonAIIdentifyPredictionsProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmazonAIIdentifyPredictionsProvider.mjs","sources":["../../../src/providers/AmazonAIIdentifyPredictionsProvider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, ConsoleLogger, fetchAuthSession } from '@aws-amplify/core';\nimport { Category, PredictionsAction, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';\nimport { getUrl } from '@aws-amplify/storage';\nimport { DetectFacesCommand, DetectLabelsCommand, DetectModerationLabelsCommand, DetectTextCommand, RecognizeCelebritiesCommand, RekognitionClient, SearchFacesByImageCommand, } from '@aws-sdk/client-rekognition';\nimport { AnalyzeDocumentCommand, DetectDocumentTextCommand, TextractClient, } from '@aws-sdk/client-textract';\nimport { PredictionsValidationErrorCode } from '../errors/types/validation';\nimport { assertValidationError } from '../errors/utils/assertValidationError';\nimport { isFileSource, isIdentifyBytesSource, isIdentifyCelebrities, isIdentifyFromCollection, isIdentifyLabelsInput, isIdentifyTextInput, isStorageSource, isValidIdentifyInput, } from '../types';\nimport { categorizeRekognitionBlocks, categorizeTextractBlocks, } from './IdentifyTextUtils';\nimport { blobToArrayBuffer, makeCamelCase, makeCamelCaseArray } from './Utils';\nconst logger = new ConsoleLogger('AmazonAIIdentifyPredictionsProvider');\nexport class AmazonAIIdentifyPredictionsProvider {\n getProviderName() {\n return 'AmazonAIIdentifyPredictionsProvider';\n }\n identify(input) {\n assertValidationError(isValidIdentifyInput(input), PredictionsValidationErrorCode.InvalidInput);\n if (isIdentifyTextInput(input)) {\n logger.debug('identifyText');\n return this.identifyText(input);\n }\n else if (isIdentifyLabelsInput(input)) {\n logger.debug('identifyLabels');\n return this.identifyLabels(input);\n }\n else {\n logger.debug('identifyEntities');\n return this.identifyEntities(input);\n }\n }\n /**\n * Verify user input source and converts it into source object readable by Rekognition and Textract.\n * Note that Rekognition and Textract use the same source interface, so we need not worry about types.\n * @param {IdentifySource} source - User input source that directs to the object user wants\n * to identify (storage, file, or bytes).\n * @return {Promise<Image>} - Promise resolving to the converted source object.\n */\n configureSource(source) {\n return new Promise((res, rej) => {\n if (isStorageSource(source)) {\n const storageConfig = {\n accessLevel: source.level,\n targetIdentityId: source.identityId,\n };\n getUrl({ key: source.key, options: storageConfig })\n .then(value => {\n const parser = /https:\\/\\/([a-zA-Z0-9%\\-_.]+)\\.s3\\.[A-Za-z0-9%\\-._~]+\\/([a-zA-Z0-9%\\-._~/]+)\\?/;\n const parsedURL = value.url.toString().match(parser) ?? '';\n if (parsedURL.length < 3)\n rej('Invalid S3 key was given.');\n res({\n S3Object: {\n Bucket: parsedURL[1],\n Name: decodeURIComponent(parsedURL[2]),\n },\n });\n })\n .catch(err => rej(err));\n }\n else if (isFileSource(source)) {\n blobToArrayBuffer(source.file)\n .then(buffer => {\n res({ Bytes: new Uint8Array(buffer) });\n })\n .catch(err => rej(err));\n }\n else if (isIdentifyBytesSource(source)) {\n const bytes = source.bytes;\n if (bytes instanceof Blob) {\n blobToArrayBuffer(bytes)\n .then(buffer => {\n res({ Bytes: new Uint8Array(buffer) });\n })\n .catch(err => rej(err));\n }\n if (bytes instanceof ArrayBuffer || bytes instanceof Buffer) {\n res({ Bytes: new Uint8Array(bytes) });\n }\n // everything else can be directly passed to Rekognition / Textract.\n res({ Bytes: bytes });\n }\n else {\n rej('Input source is not configured correctly.');\n }\n });\n }\n /**\n * Recognize text from real-world images and documents (plain text, forms and tables). Detects text in the input\n * image and converts it into machine-readable text.\n * @param {IdentifySource} source - Object containing the source image and feature types to analyze.\n * @return {Promise<IdentifyTextOutput>} - Promise resolving to object containing identified texts.\n */\n async identifyText(input) {\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { identifyText = {} } = Amplify.getConfig().Predictions?.identify ?? {};\n const { region = '', defaults = {} } = identifyText;\n const { format: configFormat = 'PLAIN' } = defaults;\n this.rekognitionClient = new RekognitionClient({\n region,\n credentials,\n customUserAgent: _getPredictionsIdentifyAmplifyUserAgent(),\n });\n this.textractClient = new TextractClient({\n region,\n credentials,\n customUserAgent: _getPredictionsIdentifyAmplifyUserAgent(),\n });\n let inputDocument;\n inputDocument = await this.configureSource(input.text?.source);\n // get default value if format isn't specified in the input.\n const format = input.text?.format ?? configFormat;\n const featureTypes = []; // structures we want to analyze (e.g. [TABLES, FORMS]).\n if (format === 'FORM' || format === 'ALL')\n featureTypes.push('FORMS');\n if (format === 'TABLE' || format === 'ALL')\n featureTypes.push('TABLES');\n if (featureTypes.length === 0) {\n /**\n * Empty featureTypes indicates that we will identify plain text. We will use rekognition (suitable\n * for everyday images but has 50 word limit) first and see if reaches its word limit. If it does, then\n * we call textract and use the data that identify more words.\n */\n const textractParam = {\n Document: inputDocument,\n };\n const rekognitionParam = {\n Image: inputDocument,\n };\n const detectTextCommand = new DetectTextCommand(rekognitionParam);\n const rekognitionData = await this.rekognitionClient.send(detectTextCommand);\n const rekognitionResponse = categorizeRekognitionBlocks(rekognitionData.TextDetections);\n if (rekognitionResponse.text.words.length < 50) {\n // did not hit the word limit, return the data\n return rekognitionResponse;\n }\n const detectDocumentTextCommand = new DetectDocumentTextCommand(textractParam);\n const { Blocks } = await this.textractClient.send(detectDocumentTextCommand);\n if ((rekognitionData.TextDetections?.length ?? 0) > (Blocks?.length ?? 0)) {\n return rekognitionResponse;\n }\n return categorizeTextractBlocks(Blocks);\n }\n else {\n const param = {\n Document: inputDocument,\n FeatureTypes: featureTypes,\n };\n const analyzeDocumentCommand = new AnalyzeDocumentCommand(param);\n const { Blocks } = await this.textractClient.send(analyzeDocumentCommand);\n return categorizeTextractBlocks(Blocks);\n }\n }\n /**\n * Identify instances of real world entities from an image and if it contains unsafe content.\n * @param {IdentifyLabelsInput} input - Object containing the source image and entity type to identify.\n * @return {Promise<IdentifyLabelsOutput>} - Promise resolving to an array of identified entities.\n */\n async identifyLabels(input) {\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { identifyLabels = {} } = Amplify.getConfig().Predictions?.identify ?? {};\n const { region = '', defaults = {} } = identifyLabels;\n const { type = 'LABELS' } = defaults;\n this.rekognitionClient = new RekognitionClient({\n region,\n credentials,\n customUserAgent: _getPredictionsIdentifyAmplifyUserAgent(),\n });\n const inputImage = await this.configureSource(input.labels?.source);\n const param = { Image: inputImage };\n const servicePromises = [];\n // get default argument\n const entityType = input.labels?.type ?? type;\n if (entityType === 'LABELS' || entityType === 'ALL') {\n servicePromises.push(this.detectLabels(param));\n }\n if (entityType === 'UNSAFE' || entityType === 'ALL') {\n servicePromises.push(this.detectModerationLabels(param));\n }\n return Promise.all(servicePromises).then(data => {\n let identifyResult = {};\n // concatenate resolved promises to a single object\n data.forEach(val => {\n identifyResult = { ...identifyResult, ...val };\n });\n return identifyResult;\n });\n }\n /**\n * Calls Rekognition.detectLabels and organizes the returned data.\n * @param {DetectLabelsInput} param - parameter to be passed onto Rekognition\n * @return {Promise<IdentifyLabelsOutput>} - Promise resolving to organized detectLabels response.\n */\n async detectLabels(param) {\n const detectLabelsCommand = new DetectLabelsCommand(param);\n const data = await this.rekognitionClient.send(detectLabelsCommand);\n if (!data.Labels)\n return {}; // no image was detected\n const detectLabelData = data.Labels.map(label => {\n const boxes = label.Instances?.map(instance => makeCamelCase(instance.BoundingBox)) || [];\n return {\n name: label.Name,\n boundingBoxes: boxes,\n metadata: {\n confidence: label.Confidence,\n parents: makeCamelCaseArray(label.Parents),\n },\n };\n });\n return { labels: detectLabelData };\n }\n /**\n * Calls Rekognition.detectModerationLabels and organizes the returned data.\n * @param {Rekognition.DetectLabelsRequest} param - Parameter to be passed onto Rekognition\n * @return {Promise<IdentifyLabelsOutput>} - Promise resolving to organized detectModerationLabels response.\n */\n async detectModerationLabels(param) {\n const detectModerationLabelsCommand = new DetectModerationLabelsCommand(param);\n const data = await this.rekognitionClient.send(detectModerationLabelsCommand);\n if (data.ModerationLabels?.length !== 0) {\n return { unsafe: 'YES' };\n }\n else {\n return { unsafe: 'NO' };\n }\n }\n /**\n * Identify faces within an image that is provided as input, and match faces from a collection\n * or identify celebrities.\n * @param {IdentifyEntityInput} input - object containing the source image and face match options.\n * @return {Promise<IdentifyEntityOutput>} Promise resolving to identify results.\n */\n async identifyEntities(input) {\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { identifyEntities = {} } = Amplify.getConfig().Predictions?.identify ?? {};\n const { region = '', celebrityDetectionEnabled = false, defaults = {}, } = identifyEntities;\n const { collectionId: collectionIdConfig = '', maxEntities: maxFacesConfig = 50, } = defaults;\n // default arguments\n this.rekognitionClient = new RekognitionClient({\n region,\n credentials,\n customUserAgent: _getPredictionsIdentifyAmplifyUserAgent(),\n });\n const inputImage = await this.configureSource(input.entities?.source);\n const param = { Attributes: ['ALL'], Image: inputImage };\n if (isIdentifyCelebrities(input.entities) &&\n input.entities.celebrityDetection) {\n assertValidationError(celebrityDetectionEnabled, PredictionsValidationErrorCode.CelebrityDetectionNotEnabled);\n const recognizeCelebritiesCommand = new RecognizeCelebritiesCommand(param);\n const data = await this.rekognitionClient.send(recognizeCelebritiesCommand);\n const faces = data.CelebrityFaces?.map(celebrity => ({\n boundingBox: makeCamelCase(celebrity.Face?.BoundingBox),\n landmarks: makeCamelCaseArray(celebrity.Face?.Landmarks),\n metadata: {\n ...makeCamelCase(celebrity, ['Id', 'Name', 'Urls']),\n pose: makeCamelCase(celebrity.Face?.Pose),\n },\n })) ?? [];\n return { entities: faces };\n }\n else if (isIdentifyFromCollection(input.entities) &&\n input.entities.collection) {\n const { collectionId = collectionIdConfig, maxEntities: maxFaces = maxFacesConfig, } = input.entities;\n // Concatenate additional parameters\n const updatedParam = {\n ...param,\n CollectionId: collectionId,\n MaxFaces: maxFaces,\n };\n const searchFacesByImageCommand = new SearchFacesByImageCommand(updatedParam);\n const data = await this.rekognitionClient.send(searchFacesByImageCommand);\n const faces = data.FaceMatches?.map(match => {\n const externalImageId = match.Face?.ExternalImageId\n ? this.decodeExternalImageId(match.Face.ExternalImageId)\n : undefined;\n return {\n boundingBox: makeCamelCase(match.Face?.BoundingBox),\n metadata: {\n externalImageId,\n similarity: match.Similarity,\n },\n };\n }) ?? [];\n return { entities: faces };\n }\n else {\n const detectFacesCommand = new DetectFacesCommand(param);\n const data = await this.rekognitionClient.send(detectFacesCommand);\n const faces = data.FaceDetails?.map(detail => {\n // face attributes keys we want to extract from Rekognition's response\n const attributeKeys = [\n 'Smile',\n 'Eyeglasses',\n 'Sunglasses',\n 'Gender',\n 'Beard',\n 'Mustache',\n 'EyesOpen',\n 'MouthOpen',\n ];\n const faceAttributes = makeCamelCase(detail, attributeKeys);\n faceAttributes.emotions = detail.Emotions?.map(emotion => emotion.Type);\n return {\n boundingBox: makeCamelCase(detail.BoundingBox),\n landmarks: makeCamelCaseArray(detail.Landmarks),\n ageRange: makeCamelCase(detail.AgeRange),\n attributes: faceAttributes,\n metadata: {\n confidence: detail.Confidence,\n pose: makeCamelCase(detail.Pose),\n },\n };\n }) ?? [];\n return { entities: faces };\n }\n }\n decodeExternalImageId(externalImageId) {\n return ('' + externalImageId).replace(/::/g, '/');\n }\n}\nfunction _getPredictionsIdentifyAmplifyUserAgent() {\n return getAmplifyUserAgentObject({\n category: Category.Predictions,\n action: PredictionsAction.Identify,\n });\n}\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
+ import { fetchAuthSession, Amplify } from '@aws-amplify/core';
2
+ import { getAmplifyUserAgentObject, Category, PredictionsAction } from '@aws-amplify/core/internals/utils';
3
+ import { ComprehendClient, DetectKeyPhrasesCommand, DetectSyntaxCommand, DetectSentimentCommand, DetectEntitiesCommand, DetectDominantLanguageCommand } from '@aws-sdk/client-comprehend';
4
+ import { PredictionsValidationErrorCode } from '../errors/types/validation.mjs';
5
+ import { assertValidationError } from '../errors/utils/assertValidationError.mjs';
6
+ import { isValidInterpretInput, isInterpretTextOthers } from '../types/Predictions.mjs';
7
+
1
8
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
9
  // SPDX-License-Identifier: Apache-2.0
3
- import { Amplify, fetchAuthSession } from '@aws-amplify/core';
4
- import { Category, PredictionsAction, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';
5
- import { ComprehendClient, DetectDominantLanguageCommand, DetectEntitiesCommand, DetectKeyPhrasesCommand, DetectSentimentCommand, DetectSyntaxCommand, } from '@aws-sdk/client-comprehend';
6
- import { PredictionsValidationErrorCode } from '../errors/types/validation';
7
- import { assertValidationError } from '../errors/utils/assertValidationError';
8
- import { isInterpretTextOthers, isValidInterpretInput, } from '../types';
9
- export class AmazonAIInterpretPredictionsProvider {
10
+ class AmazonAIInterpretPredictionsProvider {
10
11
  getProviderName() {
11
12
  return 'AmazonAIInterpretPredictionsProvider';
12
13
  }
@@ -202,3 +203,6 @@ export class AmazonAIInterpretPredictionsProvider {
202
203
  }
203
204
  }
204
205
  }
206
+
207
+ export { AmazonAIInterpretPredictionsProvider };
208
+ //# sourceMappingURL=AmazonAIInterpretPredictionsProvider.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AmazonAIInterpretPredictionsProvider.mjs","sources":["../../../src/providers/AmazonAIInterpretPredictionsProvider.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify, fetchAuthSession } from '@aws-amplify/core';\nimport { Category, PredictionsAction, getAmplifyUserAgentObject, } from '@aws-amplify/core/internals/utils';\nimport { ComprehendClient, DetectDominantLanguageCommand, DetectEntitiesCommand, DetectKeyPhrasesCommand, DetectSentimentCommand, DetectSyntaxCommand, } from '@aws-sdk/client-comprehend';\nimport { PredictionsValidationErrorCode } from '../errors/types/validation';\nimport { assertValidationError } from '../errors/utils/assertValidationError';\nimport { isInterpretTextOthers, isValidInterpretInput, } from '../types';\nexport class AmazonAIInterpretPredictionsProvider {\n getProviderName() {\n return 'AmazonAIInterpretPredictionsProvider';\n }\n interpret(input) {\n assertValidationError(isValidInterpretInput(input), PredictionsValidationErrorCode.InvalidInput);\n return this.interpretText(input);\n }\n async interpretText(input) {\n const { credentials } = await fetchAuthSession();\n assertValidationError(!!credentials, PredictionsValidationErrorCode.NoCredentials);\n const { interpretText = {} } = Amplify.getConfig().Predictions?.interpret ?? {};\n const { region = '', defaults = {} } = interpretText;\n const { type: defaultType = '' } = defaults;\n const { text: textSource } = input;\n const { source, type = defaultType } = textSource;\n const { text } = source;\n let language;\n if (isInterpretTextOthers(textSource)) {\n language = textSource.source.language;\n }\n this.comprehendClient = new ComprehendClient({\n credentials,\n region,\n customUserAgent: getAmplifyUserAgentObject({\n category: Category.Predictions,\n action: PredictionsAction.Interpret,\n }),\n });\n const doAll = type === 'all';\n let languageCode = language;\n if (doAll || type === 'language') {\n const languageDetectionParams = {\n Text: text,\n };\n languageCode = await this.detectLanguage(languageDetectionParams);\n }\n let entitiesPromise;\n if (doAll || type === 'entities') {\n assertValidationError(!!languageCode, PredictionsValidationErrorCode.NoLanguage);\n const entitiesDetectionParams = {\n Text: text,\n LanguageCode: languageCode,\n };\n entitiesPromise = this.detectEntities(entitiesDetectionParams);\n }\n let sentimentPromise;\n if (doAll || type === 'sentiment') {\n assertValidationError(!!languageCode, PredictionsValidationErrorCode.NoLanguage);\n const sentimentParams = {\n Text: text,\n LanguageCode: languageCode,\n };\n sentimentPromise = this.detectSentiment(sentimentParams);\n }\n let syntaxPromise;\n if (doAll || type === 'syntax') {\n assertValidationError(!!languageCode, PredictionsValidationErrorCode.NoLanguage);\n const syntaxParams = {\n Text: text,\n LanguageCode: languageCode,\n };\n syntaxPromise = this.detectSyntax(syntaxParams);\n }\n let keyPhrasesPromise;\n if (doAll || type === 'keyPhrases') {\n assertValidationError(!!languageCode, PredictionsValidationErrorCode.NoLanguage);\n const keyPhrasesParams = {\n Text: text,\n LanguageCode: languageCode,\n };\n keyPhrasesPromise = this.detectKeyPhrases(keyPhrasesParams);\n }\n const [textEntities, sentiment, syntax, keyPhrases] = await Promise.all([\n entitiesPromise,\n sentimentPromise,\n syntaxPromise,\n keyPhrasesPromise,\n ]);\n return {\n textInterpretation: {\n keyPhrases,\n language: languageCode,\n sentiment,\n syntax,\n textEntities,\n },\n };\n }\n async detectKeyPhrases(params) {\n try {\n const detectKeyPhrasesCommand = new DetectKeyPhrasesCommand(params);\n const data = await this.comprehendClient.send(detectKeyPhrasesCommand);\n const { KeyPhrases = [] } = data || {};\n return KeyPhrases.map(({ Text: text }) => {\n return { text };\n });\n }\n catch (err) {\n if (err.code === 'AccessDeniedException') {\n throw new Error('Not authorized, did you enable Interpret Text on predictions category Amplify CLI? try: ' +\n 'amplify predictions add');\n }\n else {\n throw err;\n }\n }\n }\n async detectSyntax(params) {\n try {\n const detectSyntaxCommand = new DetectSyntaxCommand(params);\n const data = await this.comprehendClient.send(detectSyntaxCommand);\n const { SyntaxTokens = [] } = data || {};\n return this.serializeSyntaxFromComprehend(SyntaxTokens);\n }\n catch (err) {\n if (err.code === 'AccessDeniedException') {\n throw new Error('Not authorized, did you enable Interpret Text on predictions category Amplify CLI? try: ' +\n 'amplify predictions add');\n }\n else {\n throw err;\n }\n }\n }\n serializeSyntaxFromComprehend(tokens) {\n let response = [];\n if (tokens && Array.isArray(tokens)) {\n response = tokens.map(({ Text: text = '', PartOfSpeech: { Tag: syntax = '' } = {} }) => {\n return { text, syntax };\n });\n }\n return response;\n }\n async detectSentiment(params) {\n try {\n const detectSentimentCommand = new DetectSentimentCommand(params);\n const data = await this.comprehendClient.send(detectSentimentCommand);\n const { Sentiment: predominant = '', SentimentScore: { Positive: positive = 0, Negative: negative = 0, Neutral: neutral = 0, Mixed: mixed = 0, } = {}, } = ({} = data);\n return { predominant, positive, negative, neutral, mixed };\n }\n catch (err) {\n if (err.code === 'AccessDeniedException') {\n throw new Error('Not authorized, did you enable Interpret Text on predictions category Amplify CLI? try: ' +\n 'amplify predictions add');\n }\n else {\n throw err;\n }\n }\n }\n async detectEntities(params) {\n try {\n const detectEntitiesCommand = new DetectEntitiesCommand(params);\n const data = await this.comprehendClient.send(detectEntitiesCommand);\n const { Entities = [] } = data || {};\n return this.serializeEntitiesFromComprehend(Entities);\n }\n catch (err) {\n if (err.code === 'AccessDeniedException') {\n throw new Error('Not authorized, did you enable Interpret Text on predictions category Amplify CLI? try: ' +\n 'amplify predictions add');\n }\n else {\n throw err;\n }\n }\n }\n serializeEntitiesFromComprehend(data) {\n let response = [];\n if (data && Array.isArray(data)) {\n response = data.map(({ Type: type, Text: text }) => {\n return { type, text };\n });\n }\n return response;\n }\n async detectLanguage(params) {\n try {\n const detectDominantLanguageCommand = new DetectDominantLanguageCommand(params);\n const data = await this.comprehendClient.send(detectDominantLanguageCommand);\n const { Languages: [{ LanguageCode }] = [{}] } = ({} = data || {});\n assertValidationError(!!LanguageCode, PredictionsValidationErrorCode.NoLanguage);\n return LanguageCode;\n }\n catch (err) {\n if (err.code === 'AccessDeniedException') {\n throw new Error('Not authorized, did you enable Interpret Text on predictions category Amplify CLI? try: ' +\n 'amplify predictions add');\n }\n else {\n throw err;\n }\n }\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { makeCamelCase, makeCamelCaseArray } from './Utils';
1
+ import { makeCamelCase, makeCamelCaseArray } from './Utils.mjs';
2
+
2
3
  function getBoundingBox(geometry) {
3
4
  return makeCamelCase(geometry?.BoundingBox);
4
5
  }
@@ -13,7 +14,7 @@ function getPolygon(geometry) {
13
14
  * @param {BlockList} source - Array containing blocks returned from Textract API.
14
15
  * @return {IdentifyTextOutput} - Object that categorizes each block and its information.
15
16
  */
16
- export function categorizeRekognitionBlocks(blocks) {
17
+ function categorizeRekognitionBlocks(blocks) {
17
18
  // Skeleton IdentifyText API response. We will populate it as we iterate through blocks.
18
19
  const response = {
19
20
  text: {
@@ -57,7 +58,7 @@ export function categorizeRekognitionBlocks(blocks) {
57
58
  * @param {BlockList} source - Array containing blocks returned from Textract API.
58
59
  * @return {IdentifyTextOutput} - Object that categorizes each block and its information.
59
60
  */
60
- export function categorizeTextractBlocks(blocks) {
61
+ function categorizeTextractBlocks(blocks) {
61
62
  // Skeleton IdentifyText API response. We will populate it as we iterate through blocks.
62
63
  const response = {
63
64
  text: {
@@ -262,3 +263,6 @@ function extractContentsFromBlock(block, blockMap) {
262
263
  words = words.substr(0, words.length - 1); // remove trailing space.
263
264
  return { text: words, selected: isSelected };
264
265
  }
266
+
267
+ export { categorizeRekognitionBlocks, categorizeTextractBlocks };
268
+ //# sourceMappingURL=IdentifyTextUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentifyTextUtils.mjs","sources":["../../../src/providers/IdentifyTextUtils.ts"],"sourcesContent":["import { makeCamelCase, makeCamelCaseArray } from './Utils';\nfunction getBoundingBox(geometry) {\n return makeCamelCase(geometry?.BoundingBox);\n}\nfunction getPolygon(geometry) {\n if (!geometry?.Polygon)\n return undefined;\n return makeCamelCaseArray(Array.from(geometry.Polygon));\n}\n/**\n * Organizes blocks from Rekognition API to each of the categories and and structures\n * their data accordingly.\n * @param {BlockList} source - Array containing blocks returned from Textract API.\n * @return {IdentifyTextOutput} - Object that categorizes each block and its information.\n */\nexport function categorizeRekognitionBlocks(blocks) {\n // Skeleton IdentifyText API response. We will populate it as we iterate through blocks.\n const response = {\n text: {\n fullText: '',\n words: [],\n lines: [],\n linesDetailed: [],\n },\n };\n // We categorize each block by running a forEach loop through them.\n blocks.forEach(block => {\n switch (block.Type) {\n case 'LINE':\n if (block.DetectedText) {\n response.text.lines.push(block.DetectedText);\n }\n response.text.linesDetailed.push({\n text: block.DetectedText,\n polygon: getPolygon(block.Geometry),\n boundingBox: getBoundingBox(block.Geometry),\n page: undefined, // rekognition doesn't have this info\n });\n break;\n case 'WORD':\n response.text.fullText += block.DetectedText + ' ';\n response.text.words.push({\n text: block.DetectedText,\n polygon: getPolygon(block.Geometry),\n boundingBox: getBoundingBox(block.Geometry),\n });\n break;\n }\n });\n // remove trailing space of fullText\n response.text.fullText = response.text.fullText.substr(0, response.text.fullText.length - 1);\n return response;\n}\n/**\n * Organizes blocks from Textract API to each of the categories and and structures\n * their data accordingly.\n * @param {BlockList} source - Array containing blocks returned from Textract API.\n * @return {IdentifyTextOutput} - Object that categorizes each block and its information.\n */\nexport function categorizeTextractBlocks(blocks) {\n // Skeleton IdentifyText API response. We will populate it as we iterate through blocks.\n const response = {\n text: {\n fullText: '',\n words: [],\n lines: [],\n linesDetailed: [],\n },\n };\n // if blocks is an empty array, ie. textract did not detect anything, return empty response.\n if (blocks.length === 0)\n return response;\n /**\n * We categorize each of the blocks by running a forEach loop through them.\n *\n * For complex structures such as Tables and KeyValue, we need to trasverse through their children. To do so,\n * we will post-process them after the for each loop. We do this by storing table and keyvalues in arrays and\n * mapping other blocks in `blockMap` (id to block) so we can reference them easily later.\n *\n * Note that we do not map `WORD` and `TABLE` in `blockMap` because they will not be referenced by any other\n * block except the Page block.\n */\n const tableBlocks = Array();\n const keyValueBlocks = Array();\n const blockMap = {};\n blocks.forEach(block => {\n switch (block.BlockType) {\n case 'LINE':\n if (block.Text) {\n response.text.lines.push(block.Text);\n }\n response.text.linesDetailed.push({\n text: block.Text,\n polygon: getPolygon(block.Geometry),\n boundingBox: getBoundingBox(block.Geometry),\n page: block.Page,\n });\n break;\n case 'WORD':\n response.text.fullText += block.Text + ' ';\n response.text.words.push({\n text: block.Text,\n polygon: getPolygon(block.Geometry),\n boundingBox: getBoundingBox(block.Geometry),\n });\n if (block.Id) {\n blockMap[block.Id] = block;\n }\n break;\n case 'SELECTION_ELEMENT':\n const selectionStatus = block.SelectionStatus === 'SELECTED' ? true : false;\n if (!response.text.selections)\n response.text.selections = [];\n response.text.selections.push({\n selected: selectionStatus,\n polygon: getPolygon(block.Geometry),\n boundingBox: getBoundingBox(block.Geometry),\n });\n if (block.Id) {\n blockMap[block.Id] = block;\n }\n break;\n case 'TABLE':\n tableBlocks.push(block);\n break;\n case 'KEY_VALUE_SET':\n keyValueBlocks.push(block);\n if (block.Id) {\n blockMap[block.Id] = block;\n }\n break;\n default:\n if (block.Id) {\n blockMap[block.Id] = block;\n }\n }\n });\n // remove trailing space in fullText\n response.text.fullText = response.text.fullText.substr(0, response.text.fullText.length - 1);\n // Post-process complex structures if they exist.\n if (tableBlocks.length !== 0) {\n const tableResponse = Array();\n tableBlocks.forEach(table => {\n tableResponse.push(constructTable(table, blockMap));\n });\n response.text.tables = tableResponse;\n }\n if (keyValueBlocks.length !== 0) {\n const keyValueResponse = Array();\n keyValueBlocks.forEach(keyValue => {\n // We need the KeyValue blocks of EntityType = `KEY`, which has both key and value references.\n if (keyValue.EntityTypes) {\n const entityTypes = Array.from(keyValue.EntityTypes);\n if (entityTypes.indexOf('KEY') !== -1) {\n keyValueResponse.push(constructKeyValue(keyValue, blockMap));\n }\n }\n });\n response.text.keyValues = keyValueResponse;\n }\n return response;\n}\n/**\n * Constructs a table object using data from its children cells.\n * @param {Block} table - Table block that has references (`Relationships`) to its cells\n * @param {[id: string]: Block} blockMap - Maps block Ids to blocks.\n */\nfunction constructTable(table, blockMap) {\n let tableMatrix;\n tableMatrix = [];\n // visit each of the cell associated with the table's relationship.\n for (const tableRelation of table.Relationships ?? []) {\n for (const cellId of tableRelation.Ids ?? []) {\n const cellBlock = blockMap[cellId];\n if (cellBlock.RowIndex && cellBlock.ColumnIndex) {\n const row = cellBlock.RowIndex - 1; // textract starts indexing at 1, so subtract it by 1.\n const col = cellBlock.ColumnIndex - 1; // textract starts indexing at 1, so subtract it by 1.\n // extract data contained inside the cell.\n const content = extractContentsFromBlock(cellBlock, blockMap);\n const cell = {\n text: content.text,\n boundingBox: getBoundingBox(cellBlock.Geometry),\n polygon: getPolygon(cellBlock.Geometry),\n selected: content.selected,\n rowSpan: cellBlock.RowSpan,\n columnSpan: cellBlock.ColumnSpan,\n };\n if (!tableMatrix[row])\n tableMatrix[row] = [];\n tableMatrix[row][col] = cell;\n }\n }\n }\n const rowSize = tableMatrix.length;\n const columnSize = tableMatrix[0].length;\n const boundingBox = getBoundingBox(table.Geometry);\n const polygon = getPolygon(table.Geometry);\n // Note that we leave spanned cells undefined for distinction\n return {\n size: { rows: rowSize, columns: columnSize },\n table: tableMatrix,\n boundingBox,\n polygon,\n };\n}\n/**\n * Constructs a key value object from its children key and value blocks.\n * @param {Block} KeyValue - KeyValue block that has references (`Relationships`) to its children.\n * @param {[id: string]: Block} blockMap - Maps block Ids to blocks.\n */\nfunction constructKeyValue(keyBlock, blockMap) {\n let keyText = '';\n let valueText = '';\n let valueSelected = false;\n for (const keyValueRelation of keyBlock.Relationships ?? []) {\n if (keyValueRelation.Type === 'CHILD') {\n // relation refers to key\n const contents = extractContentsFromBlock(keyBlock, blockMap);\n keyText = contents.text ?? '';\n }\n else if (keyValueRelation.Type === 'VALUE') {\n // relation refers to value\n for (const valueId of keyValueRelation.Ids ?? []) {\n const valueBlock = blockMap[valueId];\n const contents = extractContentsFromBlock(valueBlock, blockMap);\n valueText = contents.text ?? '';\n if (contents.selected != null)\n valueSelected = contents.selected;\n }\n }\n }\n return {\n key: keyText,\n value: { text: valueText, selected: valueSelected },\n polygon: getPolygon(keyBlock.Geometry),\n boundingBox: getBoundingBox(keyBlock.Geometry),\n };\n}\n/**\n * Extracts text and selection from input block's children.\n * @param {Block}} block - Block that we want to extract contents from.\n * @param {[id: string]: Block} blockMap - Maps block Ids to blocks.\n */\nfunction extractContentsFromBlock(block, blockMap) {\n let words = '';\n let isSelected = false;\n if (!block.Relationships) {\n // some block might have no content\n return { text: '', selected: undefined };\n }\n for (const relation of block.Relationships) {\n for (const contentId of relation.Ids ?? []) {\n const contentBlock = blockMap[contentId];\n if (contentBlock.BlockType === 'WORD') {\n words += contentBlock.Text + ' ';\n }\n else if (contentBlock.BlockType === 'SELECTION_ELEMENT') {\n isSelected = contentBlock.SelectionStatus === 'SELECTED' ? true : false;\n }\n }\n }\n words = words.substr(0, words.length - 1); // remove trailing space.\n return { text: words, selected: isSelected };\n}\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Changes object keys to camel case. If optional parameter `keys` is given, then we extract only the
5
5
  * keys specified in `keys`.
6
6
  */
7
- export function makeCamelCase(obj, keys) {
7
+ function makeCamelCase(obj, keys) {
8
8
  if (!obj)
9
9
  return undefined;
10
10
  const newObj = {};
@@ -21,7 +21,7 @@ export function makeCamelCase(obj, keys) {
21
21
  /**
22
22
  * Given an array of object, call makeCamelCase(...) on each option.
23
23
  */
24
- export function makeCamelCaseArray(objArr, keys) {
24
+ function makeCamelCaseArray(objArr, keys) {
25
25
  if (!objArr)
26
26
  return undefined;
27
27
  return objArr.map(obj => makeCamelCase(obj, keys));
@@ -29,7 +29,7 @@ export function makeCamelCaseArray(objArr, keys) {
29
29
  /**
30
30
  * Converts blob to array buffer
31
31
  */
32
- export function blobToArrayBuffer(blob) {
32
+ function blobToArrayBuffer(blob) {
33
33
  return new Promise((res, rej) => {
34
34
  const reader = new FileReader();
35
35
  reader.onload = _event => {
@@ -46,3 +46,6 @@ export function blobToArrayBuffer(blob) {
46
46
  }
47
47
  });
48
48
  }
49
+
50
+ export { blobToArrayBuffer, makeCamelCase, makeCamelCaseArray };
51
+ //# sourceMappingURL=Utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Utils.mjs","sources":["../../../src/providers/Utils.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * Changes object keys to camel case. If optional parameter `keys` is given, then we extract only the\n * keys specified in `keys`.\n */\nexport function makeCamelCase(obj, keys) {\n if (!obj)\n return undefined;\n const newObj = {};\n const keysToRename = keys ? keys : Object.keys(obj);\n keysToRename.forEach(key => {\n if (obj.hasOwnProperty(key)) {\n // change the key to camelcase.\n const camelCaseKey = key.charAt(0).toLowerCase() + key.substr(1);\n Object.assign(newObj, { [camelCaseKey]: obj[key] });\n }\n });\n return newObj;\n}\n/**\n * Given an array of object, call makeCamelCase(...) on each option.\n */\nexport function makeCamelCaseArray(objArr, keys) {\n if (!objArr)\n return undefined;\n return objArr.map(obj => makeCamelCase(obj, keys));\n}\n/**\n * Converts blob to array buffer\n */\nexport function blobToArrayBuffer(blob) {\n return new Promise((res, rej) => {\n const reader = new FileReader();\n reader.onload = _event => {\n res(reader.result);\n };\n reader.onerror = err => {\n rej(err);\n };\n try {\n reader.readAsArrayBuffer(blob);\n }\n catch (err) {\n rej(err); // in case user gives invalid type\n }\n });\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE;AACzC,IAAI,IAAI,CAAC,GAAG;AACZ,QAAQ,OAAO,SAAS,CAAC;AACzB,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI;AAChC,QAAQ,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;AACrC;AACA,YAAY,MAAM,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7E,YAAY,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChE,SAAS;AACT,KAAK,CAAC,CAAC;AACP,IAAI,OAAO,MAAM,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,MAAM,EAAE,IAAI,EAAE;AACjD,IAAI,IAAI,CAAC,MAAM;AACf,QAAQ,OAAO,SAAS,CAAC;AACzB,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACvD,CAAC;AACD;AACA;AACA;AACO,SAAS,iBAAiB,CAAC,IAAI,EAAE;AACxC,IAAI,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,KAAK;AACrC,QAAQ,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;AACxC,QAAQ,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI;AAClC,YAAY,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,SAAS,CAAC;AACV,QAAQ,MAAM,CAAC,OAAO,GAAG,GAAG,IAAI;AAChC,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,SAAS,CAAC;AACV,QAAQ,IAAI;AACZ,YAAY,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,SAAS;AACT,QAAQ,OAAO,GAAG,EAAE;AACpB,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AACrB,SAAS;AACT,KAAK,CAAC,CAAC;AACP;;;;"}
@@ -0,0 +1,4 @@
1
+ export { AmazonAIConvertPredictionsProvider } from './AmazonAIConvertPredictionsProvider.mjs';
2
+ export { AmazonAIIdentifyPredictionsProvider } from './AmazonAIIdentifyPredictionsProvider.mjs';
3
+ export { AmazonAIInterpretPredictionsProvider } from './AmazonAIInterpretPredictionsProvider.mjs';
4
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=AWSTypes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AWSTypes.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,72 +1,75 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  /* tslint:disable:max-line-length */
4
- export function isValidConvertInput(obj) {
4
+ function isValidConvertInput(obj) {
5
5
  return (isTranslateTextInput(obj) ||
6
6
  isTextToSpeechInput(obj) ||
7
7
  isSpeechToTextInput(obj));
8
8
  }
9
- export function isValidIdentifyInput(obj) {
9
+ function isValidIdentifyInput(obj) {
10
10
  return (isIdentifyTextInput(obj) ||
11
11
  isIdentifyLabelsInput(obj) ||
12
12
  isIdentifyEntitiesInput(obj));
13
13
  }
14
- export function isValidInterpretInput(obj) {
14
+ function isValidInterpretInput(obj) {
15
15
  return isInterpretTextInput(obj);
16
16
  }
17
- export function isIdentifyFromCollection(obj) {
17
+ function isIdentifyFromCollection(obj) {
18
18
  const key = 'collection';
19
19
  const keyId = 'collectionId';
20
20
  return obj && (obj.hasOwnProperty(key) || obj.hasOwnProperty(keyId));
21
21
  }
22
- export function isIdentifyCelebrities(obj) {
22
+ function isIdentifyCelebrities(obj) {
23
23
  const key = 'celebrityDetection';
24
24
  return obj && obj.hasOwnProperty(key);
25
25
  }
26
- export function isTranslateTextInput(obj) {
26
+ function isTranslateTextInput(obj) {
27
27
  const key = 'translateText';
28
28
  return obj && obj.hasOwnProperty(key);
29
29
  }
30
- export function isTextToSpeechInput(obj) {
30
+ function isTextToSpeechInput(obj) {
31
31
  const key = 'textToSpeech';
32
32
  return obj && obj.hasOwnProperty(key);
33
33
  }
34
- export function isSpeechToTextInput(obj) {
34
+ function isSpeechToTextInput(obj) {
35
35
  const key = 'transcription';
36
36
  return obj && obj.hasOwnProperty(key);
37
37
  }
38
- export function isStorageSource(obj) {
38
+ function isStorageSource(obj) {
39
39
  const key = 'key';
40
40
  return obj && obj.hasOwnProperty(key);
41
41
  }
42
- export function isFileSource(obj) {
42
+ function isFileSource(obj) {
43
43
  const key = 'file';
44
44
  return obj && obj.hasOwnProperty(key);
45
45
  }
46
- export function isConvertBytesSource(obj) {
46
+ function isConvertBytesSource(obj) {
47
47
  const key = 'bytes';
48
48
  return obj && obj.hasOwnProperty(key);
49
49
  }
50
- export function isIdentifyBytesSource(obj) {
50
+ function isIdentifyBytesSource(obj) {
51
51
  const key = 'bytes';
52
52
  return obj && obj.hasOwnProperty(key);
53
53
  }
54
- export function isIdentifyTextInput(obj) {
54
+ function isIdentifyTextInput(obj) {
55
55
  const key = 'text';
56
56
  return obj && obj.hasOwnProperty(key);
57
57
  }
58
- export function isIdentifyLabelsInput(obj) {
58
+ function isIdentifyLabelsInput(obj) {
59
59
  const key = 'labels';
60
60
  return obj && obj.hasOwnProperty(key);
61
61
  }
62
- export function isIdentifyEntitiesInput(obj) {
62
+ function isIdentifyEntitiesInput(obj) {
63
63
  const key = 'entities';
64
64
  return obj && obj.hasOwnProperty(key);
65
65
  }
66
- export function isInterpretTextInput(obj) {
66
+ function isInterpretTextInput(obj) {
67
67
  const key = 'text';
68
68
  return obj && obj.hasOwnProperty(key);
69
69
  }
70
- export function isInterpretTextOthers(text) {
70
+ function isInterpretTextOthers(text) {
71
71
  return text.source.language !== undefined;
72
72
  }
73
+
74
+ export { isConvertBytesSource, isFileSource, isIdentifyBytesSource, isIdentifyCelebrities, isIdentifyEntitiesInput, isIdentifyFromCollection, isIdentifyLabelsInput, isIdentifyTextInput, isInterpretTextInput, isInterpretTextOthers, isSpeechToTextInput, isStorageSource, isTextToSpeechInput, isTranslateTextInput, isValidConvertInput, isValidIdentifyInput, isValidInterpretInput };
75
+ //# sourceMappingURL=Predictions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Predictions.mjs","sources":["../../../src/types/Predictions.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/* tslint:disable:max-line-length */\nexport function isValidConvertInput(obj) {\n return (isTranslateTextInput(obj) ||\n isTextToSpeechInput(obj) ||\n isSpeechToTextInput(obj));\n}\nexport function isValidIdentifyInput(obj) {\n return (isIdentifyTextInput(obj) ||\n isIdentifyLabelsInput(obj) ||\n isIdentifyEntitiesInput(obj));\n}\nexport function isValidInterpretInput(obj) {\n return isInterpretTextInput(obj);\n}\nexport function isIdentifyFromCollection(obj) {\n const key = 'collection';\n const keyId = 'collectionId';\n return obj && (obj.hasOwnProperty(key) || obj.hasOwnProperty(keyId));\n}\nexport function isIdentifyCelebrities(obj) {\n const key = 'celebrityDetection';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isTranslateTextInput(obj) {\n const key = 'translateText';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isTextToSpeechInput(obj) {\n const key = 'textToSpeech';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isSpeechToTextInput(obj) {\n const key = 'transcription';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isStorageSource(obj) {\n const key = 'key';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isFileSource(obj) {\n const key = 'file';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isConvertBytesSource(obj) {\n const key = 'bytes';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isIdentifyBytesSource(obj) {\n const key = 'bytes';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isIdentifyTextInput(obj) {\n const key = 'text';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isIdentifyLabelsInput(obj) {\n const key = 'labels';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isIdentifyEntitiesInput(obj) {\n const key = 'entities';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isInterpretTextInput(obj) {\n const key = 'text';\n return obj && obj.hasOwnProperty(key);\n}\nexport function isInterpretTextOthers(text) {\n return text.source.language !== undefined;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { isConvertBytesSource, isFileSource, isIdentifyBytesSource, isIdentifyCelebrities, isIdentifyEntitiesInput, isIdentifyFromCollection, isIdentifyLabelsInput, isIdentifyTextInput, isInterpretTextInput, isInterpretTextOthers, isSpeechToTextInput, isStorageSource, isTextToSpeechInput, isTranslateTextInput, isValidConvertInput, isValidIdentifyInput, isValidInterpretInput } from './Predictions.mjs';
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}