@loonylabs/tts-middleware 0.1.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 (59) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +201 -0
  3. package/dist/index.d.ts +22 -0
  4. package/dist/index.d.ts.map +1 -0
  5. package/dist/index.js +39 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/middleware/services/tts/index.d.ts +30 -0
  8. package/dist/middleware/services/tts/index.d.ts.map +1 -0
  9. package/dist/middleware/services/tts/index.js +69 -0
  10. package/dist/middleware/services/tts/index.js.map +1 -0
  11. package/dist/middleware/services/tts/providers/azure-provider.d.ts +131 -0
  12. package/dist/middleware/services/tts/providers/azure-provider.d.ts.map +1 -0
  13. package/dist/middleware/services/tts/providers/azure-provider.js +375 -0
  14. package/dist/middleware/services/tts/providers/azure-provider.js.map +1 -0
  15. package/dist/middleware/services/tts/providers/base-tts-provider.d.ts +204 -0
  16. package/dist/middleware/services/tts/providers/base-tts-provider.d.ts.map +1 -0
  17. package/dist/middleware/services/tts/providers/base-tts-provider.js +267 -0
  18. package/dist/middleware/services/tts/providers/base-tts-provider.js.map +1 -0
  19. package/dist/middleware/services/tts/providers/edenai-provider.d.ts +112 -0
  20. package/dist/middleware/services/tts/providers/edenai-provider.d.ts.map +1 -0
  21. package/dist/middleware/services/tts/providers/edenai-provider.js +289 -0
  22. package/dist/middleware/services/tts/providers/edenai-provider.js.map +1 -0
  23. package/dist/middleware/services/tts/providers/index.d.ts +9 -0
  24. package/dist/middleware/services/tts/providers/index.d.ts.map +1 -0
  25. package/dist/middleware/services/tts/providers/index.js +29 -0
  26. package/dist/middleware/services/tts/providers/index.js.map +1 -0
  27. package/dist/middleware/services/tts/tts.service.d.ts +175 -0
  28. package/dist/middleware/services/tts/tts.service.d.ts.map +1 -0
  29. package/dist/middleware/services/tts/tts.service.js +287 -0
  30. package/dist/middleware/services/tts/tts.service.js.map +1 -0
  31. package/dist/middleware/services/tts/types/common.types.d.ts +303 -0
  32. package/dist/middleware/services/tts/types/common.types.d.ts.map +1 -0
  33. package/dist/middleware/services/tts/types/common.types.js +42 -0
  34. package/dist/middleware/services/tts/types/common.types.js.map +1 -0
  35. package/dist/middleware/services/tts/types/index.d.ts +22 -0
  36. package/dist/middleware/services/tts/types/index.d.ts.map +1 -0
  37. package/dist/middleware/services/tts/types/index.js +46 -0
  38. package/dist/middleware/services/tts/types/index.js.map +1 -0
  39. package/dist/middleware/services/tts/types/provider-options.types.d.ts +414 -0
  40. package/dist/middleware/services/tts/types/provider-options.types.d.ts.map +1 -0
  41. package/dist/middleware/services/tts/types/provider-options.types.js +71 -0
  42. package/dist/middleware/services/tts/types/provider-options.types.js.map +1 -0
  43. package/dist/middleware/services/tts/utils/character-counter.utils.d.ts +160 -0
  44. package/dist/middleware/services/tts/utils/character-counter.utils.d.ts.map +1 -0
  45. package/dist/middleware/services/tts/utils/character-counter.utils.js +205 -0
  46. package/dist/middleware/services/tts/utils/character-counter.utils.js.map +1 -0
  47. package/dist/middleware/services/tts/utils/index.d.ts +9 -0
  48. package/dist/middleware/services/tts/utils/index.d.ts.map +1 -0
  49. package/dist/middleware/services/tts/utils/index.js +25 -0
  50. package/dist/middleware/services/tts/utils/index.js.map +1 -0
  51. package/dist/middleware/services/tts/utils/logger.utils.d.ts +116 -0
  52. package/dist/middleware/services/tts/utils/logger.utils.d.ts.map +1 -0
  53. package/dist/middleware/services/tts/utils/logger.utils.js +186 -0
  54. package/dist/middleware/services/tts/utils/logger.utils.js.map +1 -0
  55. package/dist/middleware/shared/config/tts.config.d.ts +147 -0
  56. package/dist/middleware/shared/config/tts.config.d.ts.map +1 -0
  57. package/dist/middleware/shared/config/tts.config.js +162 -0
  58. package/dist/middleware/shared/config/tts.config.js.map +1 -0
  59. package/package.json +94 -0
@@ -0,0 +1,303 @@
1
+ /**
2
+ * Common types and interfaces for TTS Middleware
3
+ *
4
+ * These types form the contract between the TTS middleware and consuming applications.
5
+ * All provider parameters are pre-typed to prevent breaking API changes when adding new providers.
6
+ */
7
+ /**
8
+ * Supported TTS providers
9
+ *
10
+ * @MVP ✅ AZURE - Microsoft Azure Speech Services (EU-compliant, free tier)
11
+ * @Current ✅ EDENAI - EdenAI multi-provider aggregator
12
+ * @Future 🔮 OPENAI - OpenAI TTS API
13
+ * @Future 🔮 ELEVENLABS - ElevenLabs TTS API
14
+ * @Future 🔮 GOOGLE - Google Cloud Text-to-Speech
15
+ * @Future 🔮 DEEPGRAM - Deepgram TTS API
16
+ */
17
+ export declare enum TTSProvider {
18
+ AZURE = "azure",
19
+ EDENAI = "edenai",
20
+ OPENAI = "openai",
21
+ ELEVENLABS = "elevenlabs",
22
+ GOOGLE = "google",
23
+ DEEPGRAM = "deepgram"
24
+ }
25
+ /**
26
+ * Audio format options supported across providers
27
+ *
28
+ * @MVP ✅ mp3, wav, opus - Supported by Azure
29
+ * @Future 🔮 aac, flac - Additional formats for other providers
30
+ */
31
+ export type AudioFormat = 'mp3' | 'wav' | 'opus' | 'aac' | 'flac';
32
+ /**
33
+ * Audio configuration options
34
+ */
35
+ export interface AudioOptions {
36
+ /**
37
+ * Audio output format
38
+ * @MVP ✅ Implemented: mp3, wav, opus
39
+ * @Future 🔮 aac, flac
40
+ * @default 'mp3'
41
+ */
42
+ format?: AudioFormat;
43
+ /**
44
+ * Speech speed multiplier
45
+ * @MVP ✅ Implemented (Azure)
46
+ * @range 0.5 - 2.0
47
+ * @default 1.0
48
+ * @providers All providers support this
49
+ */
50
+ speed?: number;
51
+ /**
52
+ * Pitch adjustment in semitones
53
+ * @Future 🔮 Google, Azure
54
+ * @range -20 to 20
55
+ * @default 0
56
+ */
57
+ pitch?: number;
58
+ /**
59
+ * Volume gain in decibels
60
+ * @Future 🔮 Google
61
+ * @range -96 to 16
62
+ * @default 0
63
+ */
64
+ volumeGainDb?: number;
65
+ /**
66
+ * Audio sample rate in Hz
67
+ * @MVP ✅ Implemented (Azure)
68
+ * @options 8000, 16000, 24000, 48000
69
+ * @default 24000
70
+ */
71
+ sampleRate?: number;
72
+ }
73
+ /**
74
+ * Voice configuration
75
+ */
76
+ export interface VoiceConfig {
77
+ /**
78
+ * Voice identifier (provider-specific)
79
+ * @MVP ✅ Implemented
80
+ * @example Azure: 'de-DE-KatjaNeural', 'en-US-JennyNeural'
81
+ * @example OpenAI: 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'
82
+ * @example ElevenLabs: 'voice_xyz123'
83
+ */
84
+ id: string;
85
+ }
86
+ /**
87
+ * TTS synthesis request
88
+ *
89
+ * @description Request object for converting text to speech
90
+ *
91
+ * @example
92
+ * ```typescript
93
+ * const request: TTSSynthesizeRequest = {
94
+ * text: "Hello, how are you?",
95
+ * provider: TTSProvider.AZURE,
96
+ * voice: { id: 'en-US-JennyNeural' },
97
+ * audio: { speed: 1.0, format: 'mp3' }
98
+ * };
99
+ * ```
100
+ */
101
+ export interface TTSSynthesizeRequest {
102
+ /**
103
+ * Input text to synthesize
104
+ * @MVP ✅ Implemented
105
+ * @example "Hello, how are you?"
106
+ */
107
+ text: string;
108
+ /**
109
+ * TTS provider to use
110
+ * @MVP ✅ Implemented
111
+ * @optional Uses default provider if not specified
112
+ * @default TTSProvider.AZURE
113
+ */
114
+ provider?: TTSProvider;
115
+ /**
116
+ * Voice configuration
117
+ * @MVP ✅ Implemented
118
+ */
119
+ voice: VoiceConfig;
120
+ /**
121
+ * Audio output options
122
+ * @MVP ✅ Implemented (Azure supports format, speed, sampleRate)
123
+ * @Future 🔮 pitch, volumeGainDb
124
+ */
125
+ audio?: AudioOptions;
126
+ /**
127
+ * Provider-specific options
128
+ * @MVP ✅ Implemented (Azure: emotion, style)
129
+ * @Future 🔮 OpenAI, ElevenLabs, Google, Deepgram options
130
+ *
131
+ * @description Use this for provider-specific parameters that don't fit
132
+ * into the universal interface. See provider-options.types.ts for
133
+ * typed options per provider.
134
+ *
135
+ * @example Azure
136
+ * ```typescript
137
+ * providerOptions: { emotion: 'cheerful', style: 'chat' }
138
+ * ```
139
+ *
140
+ * @example ElevenLabs
141
+ * ```typescript
142
+ * providerOptions: { stability: 0.5, similarity_boost: 0.75 }
143
+ * ```
144
+ */
145
+ providerOptions?: Record<string, unknown>;
146
+ }
147
+ /**
148
+ * TTS response metadata
149
+ */
150
+ export interface TTSResponseMetadata {
151
+ /**
152
+ * Provider that generated the audio
153
+ * @MVP ✅ Implemented
154
+ */
155
+ provider: string;
156
+ /**
157
+ * Voice ID that was used
158
+ * @MVP ✅ Implemented
159
+ */
160
+ voice: string;
161
+ /**
162
+ * Audio duration in milliseconds
163
+ * @MVP ✅ Implemented
164
+ */
165
+ duration: number;
166
+ /**
167
+ * Audio format of the output
168
+ * @MVP ✅ Implemented
169
+ */
170
+ audioFormat: string;
171
+ /**
172
+ * Sample rate in Hz
173
+ * @MVP ✅ Implemented
174
+ */
175
+ sampleRate: number;
176
+ }
177
+ /**
178
+ * Billing information for the TTS request
179
+ *
180
+ * @description Consumer application uses this to calculate costs based on
181
+ * their provider rates. Middleware does not calculate costs.
182
+ */
183
+ export interface TTSBillingInfo {
184
+ /**
185
+ * Number of characters in the input text
186
+ * @MVP ✅ Implemented
187
+ *
188
+ * @description This count excludes SSML markup (for providers that use SSML internally).
189
+ * The count includes spaces, punctuation, and newlines.
190
+ *
191
+ * Consumer apps calculate cost as:
192
+ * - Azure: (characters / 1_000_000) * $16
193
+ * - OpenAI: (characters / 1_000_000) * $15
194
+ * - ElevenLabs: (characters / 1_000_000) * $150-200
195
+ */
196
+ characters: number;
197
+ /**
198
+ * Number of tokens used (for token-based providers)
199
+ * @Future 🔮 OpenAI gpt-4o-mini-tts
200
+ *
201
+ * @description Only populated for token-based providers like OpenAI's newer models.
202
+ * Most providers use character-based billing, so this will be undefined.
203
+ */
204
+ tokensUsed?: number;
205
+ }
206
+ /**
207
+ * TTS synthesis response
208
+ *
209
+ * @description Response from TTS synthesis containing audio data,
210
+ * metadata, and billing information
211
+ */
212
+ export interface TTSResponse {
213
+ /**
214
+ * Raw audio data as Buffer
215
+ * @MVP ✅ Implemented
216
+ *
217
+ * @description Binary audio data in the requested format (MP3, WAV, etc.)
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * import fs from 'fs';
222
+ * fs.writeFileSync('output.mp3', response.audio);
223
+ * ```
224
+ */
225
+ audio: Buffer;
226
+ /**
227
+ * Metadata about the synthesis
228
+ * @MVP ✅ Implemented
229
+ */
230
+ metadata: TTSResponseMetadata;
231
+ /**
232
+ * Billing information for cost calculation
233
+ * @MVP ✅ Implemented
234
+ */
235
+ billing: TTSBillingInfo;
236
+ }
237
+ /**
238
+ * Voice information (for future voice catalog feature)
239
+ *
240
+ * @Future 🔮 Not implemented in MVP - used for listVoices() API
241
+ */
242
+ export interface TTSVoice {
243
+ /**
244
+ * Unique voice identifier
245
+ */
246
+ id: string;
247
+ /**
248
+ * Human-readable voice name
249
+ */
250
+ name: string;
251
+ /**
252
+ * Language code (e.g., 'en-US', 'de-DE')
253
+ */
254
+ language: string;
255
+ /**
256
+ * Voice gender
257
+ */
258
+ gender: 'male' | 'female' | 'neutral';
259
+ /**
260
+ * Provider that offers this voice
261
+ */
262
+ provider: TTSProvider;
263
+ /**
264
+ * Additional provider-specific metadata
265
+ */
266
+ metadata?: TTSVoiceMetadata;
267
+ }
268
+ /**
269
+ * Provider-specific voice metadata
270
+ *
271
+ * @Future 🔮 Not implemented in MVP
272
+ */
273
+ export interface TTSVoiceMetadata {
274
+ /**
275
+ * Voice quality/tier (e.g., 'standard', 'neural', 'premium')
276
+ */
277
+ quality?: string;
278
+ /**
279
+ * Supported styles (Azure-specific)
280
+ */
281
+ styles?: string[];
282
+ /**
283
+ * Supported emotions (Azure-specific)
284
+ */
285
+ emotions?: string[];
286
+ /**
287
+ * Additional properties
288
+ */
289
+ [key: string]: unknown;
290
+ }
291
+ /**
292
+ * Error codes for TTS operations
293
+ */
294
+ export declare enum TTSErrorCode {
295
+ INVALID_CONFIG = "INVALID_CONFIG",
296
+ INVALID_VOICE = "INVALID_VOICE",
297
+ QUOTA_EXCEEDED = "QUOTA_EXCEEDED",
298
+ PROVIDER_UNAVAILABLE = "PROVIDER_UNAVAILABLE",
299
+ SYNTHESIS_FAILED = "SYNTHESIS_FAILED",
300
+ NETWORK_ERROR = "NETWORK_ERROR",
301
+ UNKNOWN_ERROR = "UNKNOWN_ERROR"
302
+ }
303
+ //# sourceMappingURL=common.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * Common types and interfaces for TTS Middleware
4
+ *
5
+ * These types form the contract between the TTS middleware and consuming applications.
6
+ * All provider parameters are pre-typed to prevent breaking API changes when adding new providers.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.TTSErrorCode = exports.TTSProvider = void 0;
10
+ /**
11
+ * Supported TTS providers
12
+ *
13
+ * @MVP ✅ AZURE - Microsoft Azure Speech Services (EU-compliant, free tier)
14
+ * @Current ✅ EDENAI - EdenAI multi-provider aggregator
15
+ * @Future 🔮 OPENAI - OpenAI TTS API
16
+ * @Future 🔮 ELEVENLABS - ElevenLabs TTS API
17
+ * @Future 🔮 GOOGLE - Google Cloud Text-to-Speech
18
+ * @Future 🔮 DEEPGRAM - Deepgram TTS API
19
+ */
20
+ var TTSProvider;
21
+ (function (TTSProvider) {
22
+ TTSProvider["AZURE"] = "azure";
23
+ TTSProvider["EDENAI"] = "edenai";
24
+ TTSProvider["OPENAI"] = "openai";
25
+ TTSProvider["ELEVENLABS"] = "elevenlabs";
26
+ TTSProvider["GOOGLE"] = "google";
27
+ TTSProvider["DEEPGRAM"] = "deepgram";
28
+ })(TTSProvider || (exports.TTSProvider = TTSProvider = {}));
29
+ /**
30
+ * Error codes for TTS operations
31
+ */
32
+ var TTSErrorCode;
33
+ (function (TTSErrorCode) {
34
+ TTSErrorCode["INVALID_CONFIG"] = "INVALID_CONFIG";
35
+ TTSErrorCode["INVALID_VOICE"] = "INVALID_VOICE";
36
+ TTSErrorCode["QUOTA_EXCEEDED"] = "QUOTA_EXCEEDED";
37
+ TTSErrorCode["PROVIDER_UNAVAILABLE"] = "PROVIDER_UNAVAILABLE";
38
+ TTSErrorCode["SYNTHESIS_FAILED"] = "SYNTHESIS_FAILED";
39
+ TTSErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
40
+ TTSErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
41
+ })(TTSErrorCode || (exports.TTSErrorCode = TTSErrorCode = {}));
42
+ //# sourceMappingURL=common.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;GASG;AACH,IAAY,WAOX;AAPD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAPW,WAAW,2BAAX,WAAW,QAOtB;AA4SD;;GAEG;AACH,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,iDAAiC,CAAA;IACjC,+CAA+B,CAAA;IAC/B,iDAAiC,CAAA;IACjC,6DAA6C,CAAA;IAC7C,qDAAqC,CAAA;IACrC,+CAA+B,CAAA;IAC/B,+CAA+B,CAAA;AACjC,CAAC,EARW,YAAY,4BAAZ,YAAY,QAQvB"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * TTS Middleware Types
3
+ *
4
+ * Public API exports for all TTS types and interfaces.
5
+ *
6
+ * @module @loonylabs/tts-middleware/types
7
+ */
8
+ export { TTSProvider, TTSErrorCode, AudioFormat, } from './common.types';
9
+ export type { AudioOptions, VoiceConfig, TTSSynthesizeRequest, TTSResponse, TTSResponseMetadata, TTSBillingInfo, TTSVoice, TTSVoiceMetadata, } from './common.types';
10
+ export type { AzureProviderOptions, OpenAIProviderOptions, ElevenLabsProviderOptions, GoogleCloudProviderOptions, DeepgramProviderOptions, EdenAIProviderOptions, ProviderOptions, } from './provider-options.types';
11
+ export { isAzureOptions, isOpenAIOptions, isElevenLabsOptions, isGoogleCloudOptions, isDeepgramOptions, isEdenAIOptions, } from './provider-options.types';
12
+ /**
13
+ * Re-export all types for convenience
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * import type * as TTSTypes from '@loonylabs/tts-middleware/types';
18
+ * ```
19
+ */
20
+ export * from './common.types';
21
+ export * from './provider-options.types';
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,GACZ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,YAAY,EACZ,WAAW,EACX,oBAAoB,EACpB,WAAW,EACX,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /**
3
+ * TTS Middleware Types
4
+ *
5
+ * Public API exports for all TTS types and interfaces.
6
+ *
7
+ * @module @loonylabs/tts-middleware/types
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
21
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
22
+ };
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.isEdenAIOptions = exports.isDeepgramOptions = exports.isGoogleCloudOptions = exports.isElevenLabsOptions = exports.isOpenAIOptions = exports.isAzureOptions = exports.TTSErrorCode = exports.TTSProvider = void 0;
25
+ // ===== Common Types (Universal) =====
26
+ var common_types_1 = require("./common.types");
27
+ Object.defineProperty(exports, "TTSProvider", { enumerable: true, get: function () { return common_types_1.TTSProvider; } });
28
+ Object.defineProperty(exports, "TTSErrorCode", { enumerable: true, get: function () { return common_types_1.TTSErrorCode; } });
29
+ var provider_options_types_1 = require("./provider-options.types");
30
+ Object.defineProperty(exports, "isAzureOptions", { enumerable: true, get: function () { return provider_options_types_1.isAzureOptions; } });
31
+ Object.defineProperty(exports, "isOpenAIOptions", { enumerable: true, get: function () { return provider_options_types_1.isOpenAIOptions; } });
32
+ Object.defineProperty(exports, "isElevenLabsOptions", { enumerable: true, get: function () { return provider_options_types_1.isElevenLabsOptions; } });
33
+ Object.defineProperty(exports, "isGoogleCloudOptions", { enumerable: true, get: function () { return provider_options_types_1.isGoogleCloudOptions; } });
34
+ Object.defineProperty(exports, "isDeepgramOptions", { enumerable: true, get: function () { return provider_options_types_1.isDeepgramOptions; } });
35
+ Object.defineProperty(exports, "isEdenAIOptions", { enumerable: true, get: function () { return provider_options_types_1.isEdenAIOptions; } });
36
+ /**
37
+ * Re-export all types for convenience
38
+ *
39
+ * @example
40
+ * ```typescript
41
+ * import type * as TTSTypes from '@loonylabs/tts-middleware/types';
42
+ * ```
43
+ */
44
+ __exportStar(require("./common.types"), exports);
45
+ __exportStar(require("./provider-options.types"), exports);
46
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,uCAAuC;AACvC,+CAIwB;AAHtB,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AA0Bd,mEAOkC;AANhC,wHAAA,cAAc,OAAA;AACd,yHAAA,eAAe,OAAA;AACf,6HAAA,mBAAmB,OAAA;AACnB,8HAAA,oBAAoB,OAAA;AACpB,2HAAA,iBAAiB,OAAA;AACjB,yHAAA,eAAe,OAAA;AAGjB;;;;;;;GAOG;AACH,iDAA+B;AAC/B,2DAAyC"}