@pie-players/tts-server-polly 0.3.42 → 0.3.44

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.
@@ -105,4 +105,3 @@ export declare class PollyServerProvider extends BaseTTSProvider {
105
105
  */
106
106
  destroy(): Promise<void>;
107
107
  }
108
- //# sourceMappingURL=PollyServerProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PollyServerProvider.js","sourceRoot":"","sources":["../src/PollyServerProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PollyServerProvider.js","sourceRoot":"","sources":["../src/PollyServerProvider.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * AWS Polly server-side TTS provider\n * @module @pie-players/tts-server-polly\n */\n\nimport {\n\tDescribeVoicesCommand,\n\ttype DescribeVoicesCommandInput,\n\tEngine,\n\tPollyClient,\n\tSynthesizeSpeechCommand,\n\ttype VoiceId,\n} from \"@aws-sdk/client-polly\";\n\nimport {\n\tBaseTTSProvider,\n\ttype GetVoicesOptions,\n\ttype ServerProviderCapabilities,\n\ttype SpeechMark,\n\ttype SynthesizeRequest,\n\ttype SynthesizeResponse,\n\tTTSError,\n\tTTSErrorCode,\n\ttype TTSServerConfig,\n\ttype Voice,\n} from \"@pie-players/tts-server-core\";\n\n/**\n * AWS Polly provider configuration.\n *\n * This extends the base TTSServerConfig with Polly-specific settings.\n * All fields marked with @extension are AWS-specific and not portable.\n */\nexport interface PollyProviderConfig extends TTSServerConfig {\n\t/**\n\t * AWS region (e.g., 'us-east-1', 'us-west-2', 'eu-west-1')\n\t *\n\t * @extension AWS-specific (region concept)\n\t * @required\n\t */\n\tregion: string;\n\n\t/**\n\t * AWS credentials for API authentication\n\t *\n\t * @extension AWS-specific\n\t * @note In production, prefer IAM roles over hardcoded credentials\n\t * @see https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials.html\n\t */\n\tcredentials?: {\n\t\taccessKeyId: string;\n\t\tsecretAccessKey: string;\n\t\tsessionToken?: string;\n\t};\n\n\t/**\n\t * Polly engine type: 'neural' (higher quality) or 'standard' (lower cost)\n\t *\n\t * @extension AWS Polly-specific\n\t * @default 'neural'\n\t * @note Neural: $16/1M chars, Standard: $4/1M chars\n\t */\n\tengine?: \"neural\" | \"standard\";\n\n\t/**\n\t * Default voice ID if not specified in synthesis requests\n\t *\n\t * @standard Voice selection is standard, but voice names are provider-specific\n\t * @default 'Joanna'\n\t * @see https://docs.aws.amazon.com/polly/latest/dg/voicelist.html\n\t */\n\tdefaultVoice?: string;\n}\n\n/**\n * AWS Polly Server Provider\n *\n * Provides high-quality neural text-to-speech with precise word-level timing\n * through AWS Polly speech marks.\n *\n * Features:\n * - Native speech marks support (millisecond precision)\n * - Neural and standard voices\n * - 25+ languages\n * - Full SSML support\n * - Parallel audio + speech marks requests\n */\nexport class PollyServerProvider extends BaseTTSProvider {\n\treadonly providerId = \"aws-polly\";\n\treadonly providerName = \"AWS Polly\";\n\treadonly version = \"1.0.0\";\n\n\tprivate client!: PollyClient;\n\tprivate engine: \"neural\" | \"standard\" = \"neural\";\n\tprivate defaultVoice = \"Joanna\";\n\n\tprivate resolveOutputFormat(\n\t\trequest: SynthesizeRequest,\n\t): \"mp3\" | \"ogg_vorbis\" | \"pcm\" {\n\t\tswitch (request.format) {\n\t\t\tcase \"ogg\":\n\t\t\t\treturn \"ogg_vorbis\";\n\t\t\tcase \"pcm\":\n\t\t\t\treturn \"pcm\";\n\t\t\tcase \"mp3\":\n\t\t\tcase \"wav\":\n\t\t\tdefault:\n\t\t\t\t// Polly does not support wav output directly in this implementation.\n\t\t\t\treturn \"mp3\";\n\t\t}\n\t}\n\n\tprivate resolveSpeechMarkTypes(request: SynthesizeRequest): Array<\n\t\t\"word\" | \"sentence\" | \"ssml\"\n\t> {\n\t\tconst providerOptions = (request.providerOptions || {}) as Record<string, unknown>;\n\t\tconst configured = providerOptions.speechMarkTypes;\n\t\tif (!Array.isArray(configured) || configured.length === 0) {\n\t\t\treturn [\"word\"];\n\t\t}\n\n\t\tconst resolved = configured\n\t\t\t.map((entry) => {\n\t\t\t\tif (entry === \"word\") return \"word\";\n\t\t\t\tif (entry === \"sentence\") return \"sentence\";\n\t\t\t\tif (entry === \"ssml\") return \"ssml\";\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.filter((entry): entry is \"word\" | \"sentence\" | \"ssml\" => entry !== null);\n\n\t\tif (resolved.length === 0) return [\"word\"];\n\t\treturn resolved;\n\t}\n\n\t/**\n\t * Initialize the AWS Polly provider.\n\t *\n\t * This is FAST and lightweight - only validates config and creates the Polly client.\n\t * Does NOT fetch voices or make test API calls.\n\t *\n\t * @param config - Polly configuration with region and credentials\n\t * @performance Completes in ~10-50ms\n\t */\n\tasync initialize(config: PollyProviderConfig): Promise<void> {\n\t\tif (!config.region) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.INITIALIZATION_ERROR,\n\t\t\t\t\"AWS region is required\",\n\t\t\t\tundefined,\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\n\t\tthis.config = config;\n\t\tthis.engine = config.engine || \"neural\";\n\t\tthis.defaultVoice = config.defaultVoice || \"Joanna\";\n\n\t\ttry {\n\t\t\t// Create Polly client (fast - no API calls)\n\t\t\tthis.client = new PollyClient({\n\t\t\t\tregion: config.region,\n\t\t\t\tcredentials: config.credentials,\n\t\t\t});\n\n\t\t\tthis.initialized = true;\n\t\t\t// NOTE: We do NOT call getVoices() here - that's an explicit secondary operation\n\t\t} catch (error) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.INITIALIZATION_ERROR,\n\t\t\t\t`Failed to initialize AWS Polly: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t\t{ error },\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Synthesize speech with AWS Polly\n\t */\n\tasync synthesize(request: SynthesizeRequest): Promise<SynthesizeResponse> {\n\t\tthis.ensureInitialized();\n\n\t\tconst capabilities = this.getCapabilities();\n\t\tthis.validateRequest(request, capabilities);\n\n\t\tconst voice = request.voice || this.defaultVoice;\n\t\tconst startTime = Date.now();\n\n\t\ttry {\n\t\t\t// Make parallel requests for audio and speech marks\n\t\t\tconst [audioResponse, speechMarksResponse] = await Promise.all([\n\t\t\t\tthis.synthesizeAudio(request, voice),\n\t\t\t\trequest.includeSpeechMarks !== false\n\t\t\t\t\t? this.synthesizeSpeechMarks(request, voice)\n\t\t\t\t\t: Promise.resolve([]),\n\t\t\t]);\n\n\t\t\tconst duration = (Date.now() - startTime) / 1000;\n\n\t\t\treturn {\n\t\t\t\taudio: audioResponse.audio,\n\t\t\t\tcontentType: audioResponse.contentType,\n\t\t\t\tspeechMarks: speechMarksResponse,\n\t\t\t\tmetadata: {\n\t\t\t\t\tproviderId: this.providerId,\n\t\t\t\t\tvoice,\n\t\t\t\t\tduration,\n\t\t\t\t\tcharCount: request.text.length,\n\t\t\t\t\tcached: false,\n\t\t\t\t\ttimestamp: new Date().toISOString(),\n\t\t\t\t},\n\t\t\t};\n\t\t} catch (error) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t`AWS Polly synthesis failed: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t\t{ error, request },\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Synthesize audio stream\n\t */\n\tprivate async synthesizeAudio(\n\t\trequest: SynthesizeRequest,\n\t\tvoice: string,\n\t): Promise<{ audio: Buffer; contentType: string }> {\n\t\t// Detect if text contains SSML tags\n\t\tconst isSsml =\n\t\t\trequest.text.includes(\"<speak\") ||\n\t\t\trequest.text.includes(\"<emphasis\") ||\n\t\t\trequest.text.includes(\"<break\") ||\n\t\t\trequest.text.includes(\"<prosody\") ||\n\t\t\trequest.text.includes(\"<phoneme\") ||\n\t\t\trequest.text.includes(\"<amazon:\") ||\n\t\t\trequest.text.includes(\"<aws-\");\n\n\t\tconst textType = isSsml ? \"ssml\" : \"text\";\n\n\t\tif (isSsml) {\n\t\t\tconsole.log(\n\t\t\t\t\"[PollyServerProvider] Detected SSML content, using TextType: ssml\",\n\t\t\t);\n\t\t}\n\n\t\tconst command = new SynthesizeSpeechCommand({\n\t\t\tEngine: this.engine === \"neural\" ? Engine.NEURAL : Engine.STANDARD,\n\t\t\tOutputFormat: this.resolveOutputFormat(request),\n\t\t\tText: request.text,\n\t\t\tTextType: textType,\n\t\t\tVoiceId: voice as VoiceId,\n\t\t\tSampleRate: String(request.sampleRate || 24000),\n\t\t});\n\n\t\tconst response = await this.client.send(command);\n\n\t\tif (!response.AudioStream) {\n\t\t\tthrow new Error(\"No audio stream received from AWS Polly\");\n\t\t}\n\n\t\t// Convert stream to buffer\n\t\tconst chunks: Uint8Array[] = [];\n\t\tconst stream = response.AudioStream;\n\n\t\tif (Symbol.asyncIterator in stream) {\n\t\t\tfor await (const chunk of stream as AsyncIterable<Uint8Array>) {\n\t\t\t\tchunks.push(chunk);\n\t\t\t}\n\t\t} else if (stream instanceof Uint8Array) {\n\t\t\tchunks.push(stream);\n\t\t}\n\n\t\tconst audioBuffer = Buffer.concat(chunks);\n\n\t\treturn {\n\t\t\taudio: audioBuffer,\n\t\t\tcontentType: response.ContentType || \"audio/mpeg\",\n\t\t};\n\t}\n\n\t/**\n\t * Synthesize speech marks\n\t */\n\tprivate async synthesizeSpeechMarks(\n\t\trequest: SynthesizeRequest,\n\t\tvoice: string,\n\t): Promise<SpeechMark[]> {\n\t\t// Detect if text contains SSML tags (same logic as audio synthesis)\n\t\tconst isSsml =\n\t\t\trequest.text.includes(\"<speak\") ||\n\t\t\trequest.text.includes(\"<emphasis\") ||\n\t\t\trequest.text.includes(\"<break\") ||\n\t\t\trequest.text.includes(\"<prosody\") ||\n\t\t\trequest.text.includes(\"<phoneme\") ||\n\t\t\trequest.text.includes(\"<amazon:\") ||\n\t\t\trequest.text.includes(\"<aws-\");\n\n\t\tconst textType = isSsml ? \"ssml\" : \"text\";\n\n\t\tconst command = new SynthesizeSpeechCommand({\n\t\t\tEngine: this.engine === \"neural\" ? Engine.NEURAL : Engine.STANDARD,\n\t\t\tOutputFormat: \"json\",\n\t\t\tText: request.text,\n\t\t\tTextType: textType,\n\t\t\tVoiceId: voice as VoiceId,\n\t\t\tSpeechMarkTypes: this.resolveSpeechMarkTypes(request),\n\t\t});\n\n\t\tconst response = await this.client.send(command);\n\n\t\tif (!response.AudioStream) {\n\t\t\treturn [];\n\t\t}\n\n\t\t// Convert stream to text\n\t\tconst chunks: Uint8Array[] = [];\n\t\tconst stream = response.AudioStream;\n\n\t\tif (Symbol.asyncIterator in stream) {\n\t\t\tfor await (const chunk of stream as AsyncIterable<Uint8Array>) {\n\t\t\t\tchunks.push(chunk);\n\t\t\t}\n\t\t} else if (stream instanceof Uint8Array) {\n\t\t\tchunks.push(stream);\n\t\t}\n\n\t\tconst marksText = Buffer.concat(chunks).toString(\"utf-8\");\n\n\t\t// Parse NDJSON (newline-delimited JSON)\n\t\t// Each line is a separate JSON object\n\t\tconst speechMarks = marksText\n\t\t\t.trim()\n\t\t\t.split(\"\\n\")\n\t\t\t.filter((line) => line.trim())\n\t\t\t.map((line) => {\n\t\t\t\tconst mark = JSON.parse(line);\n\t\t\t\tconst markType: SpeechMark[\"type\"] =\n\t\t\t\t\tmark.type === \"sentence\"\n\t\t\t\t\t\t? \"sentence\"\n\t\t\t\t\t\t: mark.type === \"ssml\"\n\t\t\t\t\t\t\t? \"ssml\"\n\t\t\t\t\t\t\t: \"word\";\n\t\t\t\treturn {\n\t\t\t\t\ttime: mark.time,\n\t\t\t\t\ttype: markType,\n\t\t\t\t\tstart: mark.start,\n\t\t\t\t\tend: mark.end,\n\t\t\t\t\tvalue: mark.value,\n\t\t\t\t};\n\t\t\t});\n\n\t\treturn speechMarks;\n\t}\n\n\t/**\n\t * Get available voices from AWS Polly\n\t */\n\tasync getVoices(options?: GetVoicesOptions): Promise<Voice[]> {\n\t\tthis.ensureInitialized();\n\n\t\ttry {\n\t\t\tconst input: DescribeVoicesCommandInput = {\n\t\t\t\tEngine: this.engine === \"neural\" ? Engine.NEURAL : Engine.STANDARD,\n\t\t\t};\n\n\t\t\tif (options?.language) {\n\t\t\t\tinput.LanguageCode = options.language as any;\n\t\t\t}\n\n\t\t\tconst command = new DescribeVoicesCommand(input);\n\t\t\tconst response = await this.client.send(command);\n\n\t\t\tif (!response.Voices) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn response.Voices.map((voice) => ({\n\t\t\t\tid: voice.Id!,\n\t\t\t\tname: voice.Name!,\n\t\t\t\tlanguage: voice.LanguageName!,\n\t\t\t\tlanguageCode: voice.LanguageCode!,\n\t\t\t\tgender: voice.Gender?.toLowerCase() as\n\t\t\t\t\t| \"male\"\n\t\t\t\t\t| \"female\"\n\t\t\t\t\t| \"neutral\"\n\t\t\t\t\t| undefined,\n\t\t\t\tquality: (this.engine === \"neural\" ? \"neural\" : \"standard\") as\n\t\t\t\t\t| \"neural\"\n\t\t\t\t\t| \"standard\"\n\t\t\t\t\t| \"premium\",\n\t\t\t\tsupportedFeatures: {\n\t\t\t\t\tssml: true,\n\t\t\t\t\temotions: false,\n\t\t\t\t\tstyles: false,\n\t\t\t\t},\n\t\t\t\tproviderMetadata: {\n\t\t\t\t\tsupportedEngines: voice.SupportedEngines,\n\t\t\t\t\tadditionalLanguageCodes: voice.AdditionalLanguageCodes,\n\t\t\t\t},\n\t\t\t})).filter((voice) => {\n\t\t\t\t// Apply filters\n\t\t\t\tif (options?.gender && voice.gender !== options.gender) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tif (options?.quality && voice.quality !== options.quality) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tthrow new TTSError(\n\t\t\t\tTTSErrorCode.PROVIDER_ERROR,\n\t\t\t\t`Failed to get voices: ${error instanceof Error ? error.message : String(error)}`,\n\t\t\t\t{ error },\n\t\t\t\tthis.providerId,\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Get AWS Polly capabilities.\n\t *\n\t * Clearly documents what features are W3C-standard vs AWS-specific.\n\t */\n\tgetCapabilities(): ServerProviderCapabilities {\n\t\treturn {\n\t\t\t// W3C Standard features\n\t\t\tstandard: {\n\t\t\t\tsupportsSSML: true, // ✅ Full SSML 1.1 + AWS extensions\n\t\t\t\tsupportsPitch: true, // ✅ Via SSML <prosody pitch> (not direct API param)\n\t\t\t\tsupportsRate: true, // ✅ Via SSML <prosody rate> (not direct API param)\n\t\t\t\tsupportsVolume: false, // ❌ Not supported by Polly API (handle client-side)\n\t\t\t\tsupportsMultipleVoices: true, // ✅ 60+ voices across 25+ languages\n\t\t\t\tmaxTextLength: 3000, // AWS Polly limit per request\n\t\t\t},\n\n\t\t\t// Provider-specific extensions\n\t\t\textensions: {\n\t\t\t\tsupportsSpeechMarks: true, // ✅ Native WORD speech marks (millisecond precision)\n\t\t\t\tsupportedFormats: [\"mp3\", \"ogg\", \"pcm\"],\n\t\t\t\tsupportsSampleRate: true, // ✅ Configurable sample rate\n\n\t\t\t\t// AWS Polly-specific features\n\t\t\t\tproviderSpecific: {\n\t\t\t\t\tengines: [\"neural\", \"standard\"], // Engine selection\n\t\t\t\t\tsupportedSpeechMarkTypes: [\"word\", \"sentence\", \"ssml\"],\n\t\t\t\t\tsupportsLexicons: false, // Not yet implemented\n\t\t\t\t\tawsSSMLExtensions: true, // <aws-break>, <aws-emphasis>, <aws-w>, etc.\n\t\t\t\t\tneuralVoicesCount: 30, // ~30 neural voices available\n\t\t\t\t\tstandardVoicesCount: 30, // ~30 standard voices available\n\t\t\t\t\tlanguagesCount: 25, // 25+ languages supported\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\t/**\n\t * Clean up AWS Polly client\n\t */\n\tasync destroy(): Promise<void> {\n\t\tif (this.client) {\n\t\t\tthis.client.destroy();\n\t\t}\n\t\tawait super.destroy();\n\t}\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -4,4 +4,3 @@
4
4
  */
5
5
  export type { PollyProviderConfig } from "./PollyServerProvider.js";
6
6
  export { PollyServerProvider } from "./PollyServerProvider.js";
7
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC","sourcesContent":["/**\n * AWS Polly server-side TTS provider\n * @module @pie-players/tts-server-polly\n */\n\nexport type { PollyProviderConfig } from \"./PollyServerProvider.js\";\nexport { PollyServerProvider } from \"./PollyServerProvider.js\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-players/tts-server-polly",
3
- "version": "0.3.42",
3
+ "version": "0.3.44",
4
4
  "description": "AWS Polly provider for server-side TTS with speech marks support",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@aws-sdk/client-polly": "^3.1033.0",
42
- "@pie-players/tts-server-core": "0.3.42"
42
+ "@pie-players/tts-server-core": "0.3.44"
43
43
  },
44
44
  "devDependencies": {
45
45
  "typescript": "^5.9.3",
@@ -1 +0,0 @@
1
- {"version":3,"file":"PollyServerProvider.d.ts","sourceRoot":"","sources":["../src/PollyServerProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EACN,eAAe,EACf,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAE/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EAGvB,KAAK,eAAe,EACpB,KAAK,KAAK,EACV,MAAM,8BAA8B,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC3D;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,WAAW,CAAC,EAAE;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE/B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,eAAe;IACvD,QAAQ,CAAC,UAAU,eAAe;IAClC,QAAQ,CAAC,YAAY,eAAe;IACpC,QAAQ,CAAC,OAAO,WAAW;IAE3B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAmC;IACjD,OAAO,CAAC,YAAY,CAAY;IAEhC,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,sBAAsB;IAsB9B;;;;;;;;OAQG;IACG,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC5D;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA2CzE;;OAEG;YACW,eAAe;IAyD7B;;OAEG;YACW,qBAAqB;IAuEnC;;OAEG;IACG,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IA8D7D;;;;OAIG;IACH,eAAe,IAAI,0BAA0B;IAgC7C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC"}