@loonylabs/tts-middleware 0.11.1 → 0.12.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 (36) hide show
  1. package/README.md +128 -5
  2. package/dist/middleware/services/tts/index.d.ts +1 -1
  3. package/dist/middleware/services/tts/index.d.ts.map +1 -1
  4. package/dist/middleware/services/tts/index.js +2 -1
  5. package/dist/middleware/services/tts/index.js.map +1 -1
  6. package/dist/middleware/services/tts/providers/base-tts-provider.d.ts +57 -0
  7. package/dist/middleware/services/tts/providers/base-tts-provider.d.ts.map +1 -1
  8. package/dist/middleware/services/tts/providers/base-tts-provider.js +67 -1
  9. package/dist/middleware/services/tts/providers/base-tts-provider.js.map +1 -1
  10. package/dist/middleware/services/tts/providers/index.d.ts +1 -1
  11. package/dist/middleware/services/tts/providers/index.d.ts.map +1 -1
  12. package/dist/middleware/services/tts/providers/index.js +2 -1
  13. package/dist/middleware/services/tts/providers/index.js.map +1 -1
  14. package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.d.ts +68 -2
  15. package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.d.ts.map +1 -1
  16. package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.js +424 -24
  17. package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.js.map +1 -1
  18. package/dist/middleware/services/tts/types/common.types.d.ts +1 -0
  19. package/dist/middleware/services/tts/types/common.types.d.ts.map +1 -1
  20. package/dist/middleware/services/tts/types/common.types.js +1 -0
  21. package/dist/middleware/services/tts/types/common.types.js.map +1 -1
  22. package/dist/middleware/services/tts/types/index.d.ts +1 -1
  23. package/dist/middleware/services/tts/types/index.d.ts.map +1 -1
  24. package/dist/middleware/services/tts/types/index.js.map +1 -1
  25. package/dist/middleware/services/tts/types/provider-options.types.d.ts +113 -1
  26. package/dist/middleware/services/tts/types/provider-options.types.d.ts.map +1 -1
  27. package/dist/middleware/services/tts/types/provider-options.types.js.map +1 -1
  28. package/dist/middleware/services/tts/utils/index.d.ts +2 -0
  29. package/dist/middleware/services/tts/utils/index.d.ts.map +1 -1
  30. package/dist/middleware/services/tts/utils/index.js +5 -1
  31. package/dist/middleware/services/tts/utils/index.js.map +1 -1
  32. package/dist/middleware/services/tts/utils/request-logger.utils.d.ts +96 -0
  33. package/dist/middleware/services/tts/utils/request-logger.utils.d.ts.map +1 -0
  34. package/dist/middleware/services/tts/utils/request-logger.utils.js +194 -0
  35. package/dist/middleware/services/tts/utils/request-logger.utils.js.map +1 -0
  36. package/package.json +2 -1
@@ -56,9 +56,34 @@ const types_1 = require("../types");
56
56
  const mp3_duration_utils_1 = require("../utils/mp3-duration.utils");
57
57
  const base_tts_provider_1 = require("./base-tts-provider");
58
58
  const retry_utils_1 = require("../utils/retry.utils");
59
+ /**
60
+ * Try to extract a JSON-parseable object from an HTTP response error body.
61
+ * Falls back to returning the raw text.
62
+ */
63
+ function parseErrorBody(raw) {
64
+ if (!raw)
65
+ return raw;
66
+ try {
67
+ return JSON.parse(raw);
68
+ }
69
+ catch {
70
+ return raw;
71
+ }
72
+ }
59
73
  const DEFAULT_MODEL = 'gemini-2.5-flash-preview-tts';
74
+ const DEFAULT_DIALOG_MODEL = 'gemini-3.1-flash-tts-preview';
60
75
  const DEFAULT_SAMPLE_RATE = 24000;
61
76
  const DEFAULT_REGION = 'us-central1';
77
+ /**
78
+ * Vertex AI Gemini TTS payload byte limits (UTF-8)
79
+ *
80
+ * @description Google rejects requests larger than these limits. We enforce them
81
+ * client-side so consumers get a typed PayloadTooLargeError *before* a billable
82
+ * API call is made.
83
+ */
84
+ const GEMINI_TTS_MAX_TEXT_BYTES = 4000;
85
+ const GEMINI_TTS_MAX_PROMPT_BYTES = 4000;
86
+ const GEMINI_TTS_MAX_COMBINED_BYTES = 8000;
62
87
  /**
63
88
  * Vertex AI TTS provider implementation
64
89
  *
@@ -168,8 +193,17 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
168
193
  textLength: text.length,
169
194
  requestedFormat,
170
195
  });
196
+ const logContext = {
197
+ kind: 'single-synthesize',
198
+ requestShape: 'single-voice',
199
+ speakers: [{ speaker: 'default', voice: voiceId }],
200
+ extras: {
201
+ textLength: text.length,
202
+ requestedFormat,
203
+ },
204
+ };
171
205
  try {
172
- const { pcmBuffer, region: usedRegion } = await this.callAPIWithRegionRotation(requestBody, model, options.region);
206
+ const { pcmBuffer, region: usedRegion } = await this.callAPIWithRegionRotation(requestBody, model, options.region, logContext);
173
207
  const { audioBuffer, audioFormat } = await this.convertPcmAudio(pcmBuffer, requestedFormat);
174
208
  const duration = Date.now() - startTime;
175
209
  this.log('info', 'Synthesis successful', {
@@ -205,7 +239,143 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
205
239
  }
206
240
  }
207
241
  /**
208
- * Build Vertex AI generateContent request payload
242
+ * Synthesize a multi-segment, multi-speaker dialog in a single call
243
+ *
244
+ * @description Runs one Vertex AI request per segment *sequentially* (keeps
245
+ * region rotation well-behaved and avoids quota bursts), concatenates the
246
+ * resulting raw PCM buffers, and converts once at the end. Billing aggregates
247
+ * characters across every turn and stylePrompt so consumer apps can charge
248
+ * their customers for the full amount actually sent to Google.
249
+ *
250
+ * Requires a Gemini 3.1 model. The 8 KB combined-byte limit is enforced per
251
+ * segment *before* the API call — consumers receive a typed PayloadTooLargeError
252
+ * without incurring cost.
253
+ *
254
+ * @param request - Dialog request with speakers and ordered segments
255
+ * @returns Single concatenated audio response with aggregated billing
256
+ * @throws {InvalidConfigError} If speakers/turns are invalid
257
+ * @throws {PayloadTooLargeError} If any segment exceeds the 8 KB limit
258
+ */
259
+ async synthesizeDialog(request) {
260
+ this.validateDialogRequest(request);
261
+ const startTime = Date.now();
262
+ const options = (request.providerOptions || {});
263
+ const model = options.model || DEFAULT_DIALOG_MODEL;
264
+ const requestedFormat = request.audio?.format || 'mp3';
265
+ this.log('debug', 'Synthesizing dialog with Vertex AI TTS', {
266
+ model,
267
+ segmentCount: request.segments.length,
268
+ speakerCount: request.speakers.length,
269
+ requestedFormat,
270
+ });
271
+ const pcmChunks = [];
272
+ const segmentBillings = [];
273
+ for (let i = 0; i < request.segments.length; i++) {
274
+ const segment = request.segments[i];
275
+ const requestBody = this.buildDialogRequest(segment, request.speakers, options, i);
276
+ // Derive log context from the actually-built request body so what we log
277
+ // is exactly what callAPI() will send. Shape is inferred from the
278
+ // speechConfig variant chosen by buildDialogRequest().
279
+ const logContext = this.buildDialogLogContext(requestBody, segment, request.speakers, i);
280
+ try {
281
+ const { pcmBuffer, region } = await this.callAPIWithRegionRotation(requestBody, model, options.region, logContext);
282
+ pcmChunks.push(pcmBuffer);
283
+ segmentBillings.push({
284
+ characters: this.countSegmentCharacters(segment),
285
+ region,
286
+ });
287
+ }
288
+ catch (error) {
289
+ this.log('error', 'Dialog segment synthesis failed', {
290
+ segmentIndex: i,
291
+ error: error.message,
292
+ });
293
+ throw this.handleError(error, `during Vertex AI TTS dialog segment #${i}`);
294
+ }
295
+ }
296
+ const combinedPcm = Buffer.concat(pcmChunks);
297
+ const { audioBuffer, audioFormat } = await this.convertPcmAudio(combinedPcm, requestedFormat);
298
+ const duration = Date.now() - startTime;
299
+ const totalCharacters = segmentBillings.reduce((sum, s) => sum + s.characters, 0);
300
+ this.log('info', 'Dialog synthesis successful', {
301
+ segmentCount: request.segments.length,
302
+ characters: totalCharacters,
303
+ duration,
304
+ audioSize: audioBuffer.length,
305
+ audioFormat,
306
+ });
307
+ return {
308
+ audio: audioBuffer,
309
+ metadata: {
310
+ provider: this.providerName,
311
+ voice: request.speakers.map((s) => `${s.speaker}:${s.voice}`).join(','),
312
+ duration,
313
+ audioDuration: audioFormat === 'mp3' ? (0, mp3_duration_utils_1.getMp3Duration)(audioBuffer) : undefined,
314
+ audioFormat,
315
+ sampleRate: DEFAULT_SAMPLE_RATE,
316
+ },
317
+ billing: {
318
+ characters: totalCharacters,
319
+ },
320
+ };
321
+ }
322
+ /**
323
+ * Validate a dialog request (speakers unique, turns reference known speakers, etc.)
324
+ *
325
+ * @private
326
+ * @throws {InvalidConfigError} If the request is structurally invalid
327
+ */
328
+ validateDialogRequest(request) {
329
+ if (!request.speakers || request.speakers.length === 0) {
330
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, 'Dialog request requires at least one speaker');
331
+ }
332
+ if (!request.segments || request.segments.length === 0) {
333
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, 'Dialog request requires at least one segment');
334
+ }
335
+ const speakerAliases = new Set();
336
+ for (const s of request.speakers) {
337
+ if (!s.speaker || !s.voice) {
338
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, 'Every speaker needs both "speaker" and "voice"');
339
+ }
340
+ if (!/^[A-Za-z0-9]+$/.test(s.speaker)) {
341
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Speaker alias "${s.speaker}" must be alphanumeric (no whitespace or symbols)`);
342
+ }
343
+ if (speakerAliases.has(s.speaker)) {
344
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Duplicate speaker alias "${s.speaker}"`);
345
+ }
346
+ speakerAliases.add(s.speaker);
347
+ }
348
+ for (let i = 0; i < request.segments.length; i++) {
349
+ const seg = request.segments[i];
350
+ if (!seg.turns || seg.turns.length === 0) {
351
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Segment #${i} has no turns`);
352
+ }
353
+ for (let j = 0; j < seg.turns.length; j++) {
354
+ const turn = seg.turns[j];
355
+ if (!turn.text || turn.text.trim().length === 0) {
356
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Segment #${i} turn #${j} has empty text`);
357
+ }
358
+ if (!speakerAliases.has(turn.speaker)) {
359
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Segment #${i} turn #${j} references unknown speaker "${turn.speaker}"`);
360
+ }
361
+ }
362
+ }
363
+ }
364
+ /**
365
+ * Count billable characters for a single dialog segment
366
+ *
367
+ * @private
368
+ * @description Counts all turn text plus the segment's stylePrompt.
369
+ * Speaker labels ("Alice: ") are included because they are part of what we
370
+ * send to Vertex AI.
371
+ */
372
+ countSegmentCharacters(segment) {
373
+ const turnsChars = segment.turns.reduce((sum, t) => sum + `${t.speaker}: ${t.text}`.length, 0);
374
+ const promptChars = segment.stylePrompt?.length ?? 0;
375
+ return turnsChars + promptChars;
376
+ }
377
+ /**
378
+ * Build Vertex AI generateContent request payload (single-voice)
209
379
  *
210
380
  * @private
211
381
  */
@@ -213,6 +383,20 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
213
383
  const synthesisText = options.stylePrompt
214
384
  ? `${options.stylePrompt} ${text}`
215
385
  : text;
386
+ this.assertPayloadWithinLimits(synthesisText, options.stylePrompt);
387
+ const generationConfig = {
388
+ responseModalities: ['AUDIO'],
389
+ speechConfig: {
390
+ voiceConfig: {
391
+ prebuiltVoiceConfig: {
392
+ voiceName: voiceId,
393
+ },
394
+ },
395
+ },
396
+ };
397
+ if (typeof options.temperature === 'number') {
398
+ generationConfig.temperature = options.temperature;
399
+ }
216
400
  return {
217
401
  contents: [
218
402
  {
@@ -220,18 +404,136 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
220
404
  parts: [{ text: synthesisText }],
221
405
  },
222
406
  ],
223
- generationConfig: {
224
- responseModalities: ['AUDIO'],
225
- speechConfig: {
226
- voiceConfig: {
227
- prebuiltVoiceConfig: {
228
- voiceName: voiceId,
407
+ generationConfig,
408
+ };
409
+ }
410
+ /**
411
+ * Build Vertex AI generateContent request payload for a dialog segment
412
+ *
413
+ * @private
414
+ * @description Chooses the request shape based on the number of distinct
415
+ * speakers actually used in the segment's turns:
416
+ * - 1 speaker → `prebuiltVoiceConfig` (single-voice request)
417
+ * - 2 speakers → `multiSpeakerVoiceConfig` (Vertex AI requires exactly 2 entries)
418
+ * - >2 speakers → InvalidConfigError (split the segment so each sub-segment has ≤2 speakers)
419
+ */
420
+ buildDialogRequest(segment, speakers, options, segmentIndex) {
421
+ const turnsText = segment.turns
422
+ .map((t) => `${t.speaker}: ${t.text}`)
423
+ .join('\n');
424
+ const synthesisText = segment.stylePrompt
425
+ ? `${segment.stylePrompt}\n${turnsText}`
426
+ : turnsText;
427
+ this.assertPayloadWithinLimits(synthesisText, segment.stylePrompt, segmentIndex);
428
+ const usedAliases = new Set(segment.turns.map((t) => t.speaker));
429
+ const usedSpeakers = speakers.filter((s) => usedAliases.has(s.speaker));
430
+ if (usedSpeakers.length === 0) {
431
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Segment #${segmentIndex} has no recognized speakers`);
432
+ }
433
+ if (usedSpeakers.length > 2) {
434
+ throw new base_tts_provider_1.InvalidConfigError(this.providerName, `Segment #${segmentIndex} uses ${usedSpeakers.length} distinct speakers, ` +
435
+ `but Vertex AI multi-speaker TTS supports at most 2 speakers per request. ` +
436
+ `Split the segment so each sub-segment has at most 2 speakers.`);
437
+ }
438
+ const temperature = segment.temperature ?? options.temperature;
439
+ const speechConfig = usedSpeakers.length === 1
440
+ ? {
441
+ voiceConfig: {
442
+ prebuiltVoiceConfig: { voiceName: usedSpeakers[0].voice },
443
+ },
444
+ }
445
+ : {
446
+ multiSpeakerVoiceConfig: {
447
+ speakerVoiceConfigs: usedSpeakers.map((s) => ({
448
+ speaker: s.speaker,
449
+ voiceConfig: {
450
+ prebuiltVoiceConfig: { voiceName: s.voice },
229
451
  },
230
- },
452
+ })),
231
453
  },
454
+ };
455
+ const generationConfig = {
456
+ responseModalities: ['AUDIO'],
457
+ speechConfig,
458
+ };
459
+ if (typeof temperature === 'number') {
460
+ generationConfig.temperature = temperature;
461
+ }
462
+ return {
463
+ contents: [
464
+ {
465
+ role: 'user',
466
+ parts: [{ text: synthesisText }],
467
+ },
468
+ ],
469
+ generationConfig,
470
+ };
471
+ }
472
+ /**
473
+ * Build a debug log context for one dialog segment.
474
+ *
475
+ * @private
476
+ * @description Inspects the already-built request body so the logged shape
477
+ * and speaker mapping exactly match what will be sent upstream. Reading the
478
+ * body (instead of re-deriving from `segment.turns`) ensures the log stays
479
+ * truthful if `buildDialogRequest()` evolves.
480
+ */
481
+ buildDialogLogContext(requestBody, segment, speakers, segmentIndex) {
482
+ const speechConfig = requestBody.generationConfig?.speechConfig;
483
+ let requestShape = 'single-voice';
484
+ let loggedSpeakers = [];
485
+ const multi = speechConfig?.multiSpeakerVoiceConfig;
486
+ if (multi?.speakerVoiceConfigs && multi.speakerVoiceConfigs.length > 0) {
487
+ requestShape = 'multi-speaker';
488
+ loggedSpeakers = multi.speakerVoiceConfigs.map((c) => ({
489
+ speaker: c.speaker,
490
+ voice: c.voiceConfig?.prebuiltVoiceConfig?.voiceName ?? '(unknown)',
491
+ }));
492
+ }
493
+ else {
494
+ const single = speechConfig?.voiceConfig;
495
+ const voiceName = single?.prebuiltVoiceConfig?.voiceName;
496
+ // Find the alias that maps to this voice (for readability in the log)
497
+ const usedAliases = new Set(segment.turns.map((t) => t.speaker));
498
+ const usedSpeaker = speakers.find((s) => usedAliases.has(s.speaker) && s.voice === voiceName);
499
+ loggedSpeakers = voiceName
500
+ ? [{ speaker: usedSpeaker?.speaker ?? '(unknown)', voice: voiceName }]
501
+ : [];
502
+ }
503
+ return {
504
+ kind: 'dialog-segment',
505
+ segmentIndex,
506
+ requestShape,
507
+ speakers: loggedSpeakers,
508
+ extras: {
509
+ turnCount: segment.turns.length,
510
+ hasStylePrompt: !!segment.stylePrompt,
511
+ stylePromptBytes: segment.stylePrompt ? Buffer.byteLength(segment.stylePrompt, 'utf8') : 0,
512
+ temperature: requestBody.generationConfig?.temperature,
232
513
  },
233
514
  };
234
515
  }
516
+ /**
517
+ * Validate payload byte limits before sending to Vertex AI
518
+ *
519
+ * @private
520
+ * @throws {PayloadTooLargeError} If text or combined payload exceeds limits
521
+ */
522
+ assertPayloadWithinLimits(combinedText, stylePrompt, segmentIndex) {
523
+ const combinedBytes = Buffer.byteLength(combinedText, 'utf8');
524
+ const promptBytes = stylePrompt ? Buffer.byteLength(stylePrompt, 'utf8') : 0;
525
+ const textBytes = combinedBytes - promptBytes;
526
+ const segmentLabel = segmentIndex !== undefined ? ` in segment #${segmentIndex}` : '';
527
+ if (textBytes > GEMINI_TTS_MAX_TEXT_BYTES) {
528
+ throw new base_tts_provider_1.PayloadTooLargeError(this.providerName, `Vertex AI TTS text${segmentLabel} is ${textBytes} bytes — exceeds ${GEMINI_TTS_MAX_TEXT_BYTES} byte limit. Split into smaller segments.`, textBytes, GEMINI_TTS_MAX_TEXT_BYTES, segmentIndex);
529
+ }
530
+ if (promptBytes > GEMINI_TTS_MAX_PROMPT_BYTES) {
531
+ throw new base_tts_provider_1.PayloadTooLargeError(this.providerName, `Vertex AI TTS stylePrompt${segmentLabel} is ${promptBytes} bytes — exceeds ${GEMINI_TTS_MAX_PROMPT_BYTES} byte limit.`, promptBytes, GEMINI_TTS_MAX_PROMPT_BYTES, segmentIndex);
532
+ }
533
+ if (combinedBytes > GEMINI_TTS_MAX_COMBINED_BYTES) {
534
+ throw new base_tts_provider_1.PayloadTooLargeError(this.providerName, `Vertex AI TTS combined payload${segmentLabel} is ${combinedBytes} bytes — exceeds ${GEMINI_TTS_MAX_COMBINED_BYTES} byte limit.`, combinedBytes, GEMINI_TTS_MAX_COMBINED_BYTES, segmentIndex);
535
+ }
536
+ }
235
537
  /**
236
538
  * Call the Vertex AI API with optional region rotation on quota errors
237
539
  *
@@ -241,17 +543,17 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
241
543
  * @param regionOverride - Optional per-request region override (skips rotation)
242
544
  * @returns The PCM audio buffer and the region that processed the request
243
545
  */
244
- async callAPIWithRegionRotation(requestBody, model, regionOverride) {
546
+ async callAPIWithRegionRotation(requestBody, model, regionOverride, logContext) {
245
547
  // Per-request override: skip rotation entirely
246
548
  if (regionOverride) {
247
- const pcmBuffer = await this.callAPI(requestBody, model, regionOverride);
549
+ const pcmBuffer = await this.callAPI(requestBody, model, regionOverride, logContext);
248
550
  return { pcmBuffer, region: regionOverride };
249
551
  }
250
552
  const rotationConfig = this.config.regionRotation;
251
553
  // No rotation configured: use static region from constructor config
252
554
  if (!rotationConfig) {
253
555
  const region = this.config.region || DEFAULT_REGION;
254
- const pcmBuffer = await this.callAPI(requestBody, model, region);
556
+ const pcmBuffer = await this.callAPI(requestBody, model, region, logContext);
255
557
  return { pcmBuffer, region };
256
558
  }
257
559
  // Region rotation: try each region in order, rotate on quota errors only
@@ -259,7 +561,7 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
259
561
  let lastQuotaError = null;
260
562
  for (const region of regionsToTry) {
261
563
  try {
262
- const pcmBuffer = await this.callAPI(requestBody, model, region);
564
+ const pcmBuffer = await this.callAPI(requestBody, model, region, logContext);
263
565
  return { pcmBuffer, region };
264
566
  }
265
567
  catch (error) {
@@ -276,7 +578,7 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
276
578
  // Bonus attempt: try fallback one more time (alwaysTryFallback default: true)
277
579
  if (rotationConfig.alwaysTryFallback !== false) {
278
580
  try {
279
- const pcmBuffer = await this.callAPI(requestBody, model, rotationConfig.fallback);
581
+ const pcmBuffer = await this.callAPI(requestBody, model, rotationConfig.fallback, logContext);
280
582
  return { pcmBuffer, region: rotationConfig.fallback };
281
583
  }
282
584
  catch (error) {
@@ -294,30 +596,128 @@ class VertexAITTSProvider extends base_tts_provider_1.BaseTTSProvider {
294
596
  * @param requestBody - The request payload
295
597
  * @param model - The model to use
296
598
  * @param region - The Vertex AI region to use
599
+ * @param logContext - Optional debug context. When provided (and
600
+ * `DEBUG_TTS_REQUESTS` is enabled), this call writes a Markdown log file
601
+ * with the full request body, response metadata, timing, and any error.
297
602
  * @returns Promise resolving to raw PCM audio buffer
298
603
  */
299
- async callAPI(requestBody, model, region) {
604
+ async callAPI(requestBody, model, region, logContext) {
300
605
  const accessToken = await this.getAccessToken();
301
606
  const projectId = this.config.projectId;
302
607
  const url = `https://${region}-aiplatform.googleapis.com/v1/projects/${projectId}/locations/${region}/publishers/google/models/${model}:generateContent`;
303
- const response = await fetch(url, {
304
- method: 'POST',
305
- headers: {
306
- 'Authorization': `Bearer ${accessToken}`,
307
- 'Content-Type': 'application/json',
308
- },
309
- body: JSON.stringify(requestBody),
310
- });
608
+ const logEnabled = !!logContext && this.isRequestLoggingEnabled();
609
+ const timestamp = new Date().toISOString();
610
+ const startedAt = Date.now();
611
+ let response;
612
+ try {
613
+ response = await fetch(url, {
614
+ method: 'POST',
615
+ headers: {
616
+ 'Authorization': `Bearer ${accessToken}`,
617
+ 'Content-Type': 'application/json',
618
+ },
619
+ body: JSON.stringify(requestBody),
620
+ });
621
+ }
622
+ catch (err) {
623
+ // Network-level failure (no response received)
624
+ if (logEnabled) {
625
+ this.logRequest({
626
+ kind: logContext.kind,
627
+ timestamp,
628
+ model,
629
+ region,
630
+ endpointUrl: url,
631
+ httpMethod: 'POST',
632
+ segmentIndex: logContext.segmentIndex,
633
+ speakers: logContext.speakers,
634
+ requestShape: logContext.requestShape,
635
+ requestBody,
636
+ durationMs: Date.now() - startedAt,
637
+ error: {
638
+ name: err.name,
639
+ message: err.message,
640
+ stack: err.stack,
641
+ },
642
+ extras: logContext.extras,
643
+ });
644
+ }
645
+ throw err;
646
+ }
311
647
  if (!response.ok) {
312
648
  const errorText = await response.text();
649
+ if (logEnabled) {
650
+ this.logRequest({
651
+ kind: logContext.kind,
652
+ timestamp,
653
+ model,
654
+ region,
655
+ endpointUrl: url,
656
+ httpMethod: 'POST',
657
+ segmentIndex: logContext.segmentIndex,
658
+ speakers: logContext.speakers,
659
+ requestShape: logContext.requestShape,
660
+ requestBody,
661
+ httpStatus: response.status,
662
+ responseBody: parseErrorBody(errorText),
663
+ durationMs: Date.now() - startedAt,
664
+ error: {
665
+ message: `Vertex AI API error (${response.status})`,
666
+ },
667
+ extras: logContext.extras,
668
+ });
669
+ }
313
670
  throw new Error(`Vertex AI API error (${response.status}): ${errorText}`);
314
671
  }
315
672
  const responseJson = await response.json();
316
673
  const inlineData = responseJson.candidates?.[0]?.content?.parts?.[0]?.inlineData;
317
674
  if (!inlineData?.data) {
675
+ if (logEnabled) {
676
+ this.logRequest({
677
+ kind: logContext.kind,
678
+ timestamp,
679
+ model,
680
+ region,
681
+ endpointUrl: url,
682
+ httpMethod: 'POST',
683
+ segmentIndex: logContext.segmentIndex,
684
+ speakers: logContext.speakers,
685
+ requestShape: logContext.requestShape,
686
+ requestBody,
687
+ httpStatus: response.status,
688
+ responseBody: responseJson,
689
+ durationMs: Date.now() - startedAt,
690
+ error: { message: 'Vertex AI API returned no audio data' },
691
+ extras: logContext.extras,
692
+ });
693
+ }
318
694
  throw new Error('Vertex AI API returned no audio data');
319
695
  }
320
- return Buffer.from(inlineData.data, 'base64');
696
+ const pcmBuffer = Buffer.from(inlineData.data, 'base64');
697
+ if (logEnabled) {
698
+ this.logRequest({
699
+ kind: logContext.kind,
700
+ timestamp,
701
+ model,
702
+ region,
703
+ endpointUrl: url,
704
+ httpMethod: 'POST',
705
+ segmentIndex: logContext.segmentIndex,
706
+ speakers: logContext.speakers,
707
+ requestShape: logContext.requestShape,
708
+ requestBody,
709
+ httpStatus: response.status,
710
+ responseBody: {
711
+ mimeType: inlineData.mimeType,
712
+ audioBytes: pcmBuffer.length,
713
+ audioBase64Length: inlineData.data.length,
714
+ candidateCount: responseJson.candidates?.length ?? 0,
715
+ },
716
+ durationMs: Date.now() - startedAt,
717
+ extras: logContext.extras,
718
+ });
719
+ }
720
+ return pcmBuffer;
321
721
  }
322
722
  /**
323
723
  * Resolve ffmpeg binary path with fallback chain:
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-ai-tts-provider.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/providers/vertex-ai-tts-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vertex-ai-tts-provider.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/providers/vertex-ai-tts-provider.ts"],"names":[],"mappings":"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"}
@@ -352,6 +352,7 @@ export declare enum TTSErrorCode {
352
352
  PROVIDER_UNAVAILABLE = "PROVIDER_UNAVAILABLE",
353
353
  SYNTHESIS_FAILED = "SYNTHESIS_FAILED",
354
354
  NETWORK_ERROR = "NETWORK_ERROR",
355
+ PAYLOAD_TOO_LARGE = "PAYLOAD_TOO_LARGE",
355
356
  UNKNOWN_ERROR = "UNKNOWN_ERROR"
356
357
  }
357
358
  //# sourceMappingURL=common.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,oBAAY,WAAW;IACrB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,SAAS,cAAc;CACxB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAElE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IAEvB;;;OAGG;IACH,KAAK,EAAE,WAAW,CAAC;IAEnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IAErB;;;;;;;;;;;;;;;;;;OAkBG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;;;;;;;OAWG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,QAAQ,EAAE,mBAAmB,CAAC;IAE9B;;;OAGG;IACH,OAAO,EAAE,cAAc,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEtC;;OAEG;IACH,QAAQ,EAAE,WAAW,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAEpB;;OAEG;IACH,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,oBAAY,YAAY;IACtB,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,oBAAoB,yBAAyB;IAC7C,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC"}
1
+ {"version":3,"file":"common.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,7 @@ var TTSErrorCode;
40
40
  TTSErrorCode["PROVIDER_UNAVAILABLE"] = "PROVIDER_UNAVAILABLE";
41
41
  TTSErrorCode["SYNTHESIS_FAILED"] = "SYNTHESIS_FAILED";
42
42
  TTSErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
43
+ TTSErrorCode["PAYLOAD_TOO_LARGE"] = "PAYLOAD_TOO_LARGE";
43
44
  TTSErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
44
45
  })(TTSErrorCode || (exports.TTSErrorCode = TTSErrorCode = {}));
45
46
  //# sourceMappingURL=common.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAkWD;;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"}
1
+ {"version":3,"file":"common.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/common.types.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AAEH;;;;;;;;;GASG;AACH,IAAY,WAUX;AAVD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,wCAAyB,CAAA;IACzB,kCAAmB,CAAA;IACnB,sCAAuB,CAAA;AACzB,CAAC,EAVW,WAAW,2BAAX,WAAW,QAUtB;AAkWD;;GAEG;AACH,IAAY,YASX;AATD,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,uDAAuC,CAAA;IACvC,+CAA+B,CAAA;AACjC,CAAC,EATW,YAAY,4BAAZ,YAAY,QASvB"}