@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.
- package/README.md +128 -5
- package/dist/middleware/services/tts/index.d.ts +1 -1
- package/dist/middleware/services/tts/index.d.ts.map +1 -1
- package/dist/middleware/services/tts/index.js +2 -1
- package/dist/middleware/services/tts/index.js.map +1 -1
- package/dist/middleware/services/tts/providers/base-tts-provider.d.ts +57 -0
- package/dist/middleware/services/tts/providers/base-tts-provider.d.ts.map +1 -1
- package/dist/middleware/services/tts/providers/base-tts-provider.js +67 -1
- package/dist/middleware/services/tts/providers/base-tts-provider.js.map +1 -1
- package/dist/middleware/services/tts/providers/index.d.ts +1 -1
- package/dist/middleware/services/tts/providers/index.d.ts.map +1 -1
- package/dist/middleware/services/tts/providers/index.js +2 -1
- package/dist/middleware/services/tts/providers/index.js.map +1 -1
- package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.d.ts +68 -2
- package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.d.ts.map +1 -1
- package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.js +424 -24
- package/dist/middleware/services/tts/providers/vertex-ai-tts-provider.js.map +1 -1
- package/dist/middleware/services/tts/types/common.types.d.ts +1 -0
- package/dist/middleware/services/tts/types/common.types.d.ts.map +1 -1
- package/dist/middleware/services/tts/types/common.types.js +1 -0
- package/dist/middleware/services/tts/types/common.types.js.map +1 -1
- package/dist/middleware/services/tts/types/index.d.ts +1 -1
- package/dist/middleware/services/tts/types/index.d.ts.map +1 -1
- package/dist/middleware/services/tts/types/index.js.map +1 -1
- package/dist/middleware/services/tts/types/provider-options.types.d.ts +113 -1
- package/dist/middleware/services/tts/types/provider-options.types.d.ts.map +1 -1
- package/dist/middleware/services/tts/types/provider-options.types.js.map +1 -1
- package/dist/middleware/services/tts/utils/index.d.ts +2 -0
- package/dist/middleware/services/tts/utils/index.d.ts.map +1 -1
- package/dist/middleware/services/tts/utils/index.js +5 -1
- package/dist/middleware/services/tts/utils/index.js.map +1 -1
- package/dist/middleware/services/tts/utils/request-logger.utils.d.ts +96 -0
- package/dist/middleware/services/tts/utils/request-logger.utils.d.ts.map +1 -0
- package/dist/middleware/services/tts/utils/request-logger.utils.js +194 -0
- package/dist/middleware/services/tts/utils/request-logger.utils.js.map +1 -0
- package/package.json +2 -1
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
export { TTSProvider, TTSErrorCode, AudioFormat, } from './common.types';
|
|
9
9
|
export type { AudioOptions, VoiceConfig, TTSSynthesizeRequest, TTSResponse, TTSResponseMetadata, TTSBillingInfo, TTSVoice, TTSVoiceMetadata, } from './common.types';
|
|
10
10
|
export type { AzureProviderOptions, OpenAIProviderOptions, ElevenLabsProviderOptions, GoogleCloudTTSProviderOptions, GoogleCloudProviderOptions, // deprecated alias
|
|
11
|
-
GoogleCloudTTSRegion, DeepgramProviderOptions, EdenAIProviderOptions, FishAudioProviderOptions, InworldProviderOptions, VertexAITTSProviderOptions, ProviderOptions, } from './provider-options.types';
|
|
11
|
+
GoogleCloudTTSRegion, DeepgramProviderOptions, EdenAIProviderOptions, FishAudioProviderOptions, InworldProviderOptions, VertexAITTSProviderOptions, DialogSpeaker, DialogTurn, DialogSegment, SynthesizeDialogRequest, ProviderOptions, } from './provider-options.types';
|
|
12
12
|
export { isAzureOptions, isOpenAIOptions, isElevenLabsOptions, isGoogleCloudTTSOptions, isGoogleCloudOptions, // deprecated alias
|
|
13
13
|
isDeepgramOptions, isEdenAIOptions, isFishAudioOptions, isInworldOptions, isVertexAITTSOptions, } from './provider-options.types';
|
|
14
14
|
/**
|
|
@@ -1 +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,6BAA6B,EAC7B,0BAA0B,EAAE,mBAAmB;AAC/C,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EAAE,mBAAmB;AACzC,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
|
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,6BAA6B,EAC7B,0BAA0B,EAAE,mBAAmB;AAC/C,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,aAAa,EACb,UAAU,EACV,aAAa,EACb,uBAAuB,EACvB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EAAE,mBAAmB;AACzC,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;GAOG;AACH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC"}
|
|
@@ -1 +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;
|
|
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;AAmCd,mEAWkC;AAVhC,wHAAA,cAAc,OAAA;AACd,yHAAA,eAAe,OAAA;AACf,6HAAA,mBAAmB,OAAA;AACnB,iIAAA,uBAAuB,OAAA;AACvB,8HAAA,oBAAoB,OAAA;AACpB,2HAAA,iBAAiB,OAAA;AACjB,yHAAA,eAAe,OAAA;AACf,4HAAA,kBAAkB,OAAA;AAClB,0HAAA,gBAAgB,OAAA;AAChB,8HAAA,oBAAoB,OAAA;AAGtB;;;;;;;GAOG;AACH,iDAA+B;AAC/B,2DAAyC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @MVP ✅ Azure options are implemented
|
|
8
8
|
* @Future 🔮 Other providers typed but not implemented yet
|
|
9
9
|
*/
|
|
10
|
+
import type { RetryConfig } from '../utils/retry.utils';
|
|
10
11
|
/**
|
|
11
12
|
* Azure Speech Services provider options
|
|
12
13
|
*
|
|
@@ -563,21 +564,35 @@ export interface VertexAITTSProviderOptions {
|
|
|
563
564
|
* @options
|
|
564
565
|
* - 'gemini-2.5-flash-preview-tts': Budget, fast ($0.50/M input + $10/M audio output tokens)
|
|
565
566
|
* - 'gemini-2.5-pro-preview-tts': Premium, natural ($1.00/M input + $20/M audio output tokens)
|
|
567
|
+
* - 'gemini-3.1-flash-tts-preview': Expressive with audio tags + native multi-speaker
|
|
568
|
+
* ($1.00/M input + $20/M audio output tokens)
|
|
566
569
|
*
|
|
567
570
|
* @default 'gemini-2.5-flash-preview-tts'
|
|
568
571
|
*/
|
|
569
|
-
model?: 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts';
|
|
572
|
+
model?: 'gemini-2.5-flash-preview-tts' | 'gemini-2.5-pro-preview-tts' | 'gemini-3.1-flash-tts-preview';
|
|
570
573
|
/**
|
|
571
574
|
* Natural language style instruction prepended to the text
|
|
572
575
|
*
|
|
573
576
|
* @description Controls voice style/emotion via prompt engineering.
|
|
574
577
|
* The instruction is prepended to the synthesis text, e.g. "Say cheerfully: {text}".
|
|
575
578
|
*
|
|
579
|
+
* For Gemini 3.1 Flash TTS, inline audio tags like [sigh], [whispering],
|
|
580
|
+
* [laughing], [short pause] can additionally be embedded directly in the text.
|
|
581
|
+
*
|
|
576
582
|
* @example 'Say in a spooky whisper:'
|
|
577
583
|
* @example 'Read this cheerfully:'
|
|
578
584
|
* @example 'Speak in a calm, professional tone:'
|
|
579
585
|
*/
|
|
580
586
|
stylePrompt?: string;
|
|
587
|
+
/**
|
|
588
|
+
* Output randomness / expressiveness (Gemini 3.1 Flash TTS only)
|
|
589
|
+
*
|
|
590
|
+
* @description Controls how varied the generated speech is. Higher values
|
|
591
|
+
* produce more expressive delivery. Typical range 0.0–2.0.
|
|
592
|
+
*
|
|
593
|
+
* @default undefined (provider default)
|
|
594
|
+
*/
|
|
595
|
+
temperature?: number;
|
|
581
596
|
/**
|
|
582
597
|
* Per-request Vertex AI region override
|
|
583
598
|
*
|
|
@@ -589,6 +604,103 @@ export interface VertexAITTSProviderOptions {
|
|
|
589
604
|
*/
|
|
590
605
|
region?: string;
|
|
591
606
|
}
|
|
607
|
+
/**
|
|
608
|
+
* Speaker definition for dialog synthesis
|
|
609
|
+
*
|
|
610
|
+
* @description Maps a speaker alias (used in dialog turns) to a prebuilt voice.
|
|
611
|
+
* Speaker aliases must be alphanumeric without whitespace.
|
|
612
|
+
*
|
|
613
|
+
* @example { speaker: 'Alice', voice: 'Aoede' }
|
|
614
|
+
*/
|
|
615
|
+
export interface DialogSpeaker {
|
|
616
|
+
/** Alphanumeric alias referenced in DialogTurn.speaker */
|
|
617
|
+
speaker: string;
|
|
618
|
+
/** Prebuilt voice name (e.g. 'Kore', 'Puck', 'Charon', 'Aoede') */
|
|
619
|
+
voice: string;
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Single turn in a dialog segment
|
|
623
|
+
*
|
|
624
|
+
* @description Text may contain Gemini 3.1 audio tags like [sigh], [whispering],
|
|
625
|
+
* [short pause], etc. The assigned speaker must match a DialogSpeaker alias.
|
|
626
|
+
*/
|
|
627
|
+
export interface DialogTurn {
|
|
628
|
+
/** Must match a DialogSpeaker.speaker in the surrounding request */
|
|
629
|
+
speaker: string;
|
|
630
|
+
/** Turn text, optionally with inline audio tags */
|
|
631
|
+
text: string;
|
|
632
|
+
}
|
|
633
|
+
/**
|
|
634
|
+
* Dialog segment — one synthesis request with a shared style prompt
|
|
635
|
+
*
|
|
636
|
+
* @description Each segment maps to exactly one Vertex AI request. Use
|
|
637
|
+
* multiple segments when you need different style prompts for different
|
|
638
|
+
* parts of a larger dialog (e.g. narrator → argument → narrator).
|
|
639
|
+
*/
|
|
640
|
+
export interface DialogSegment {
|
|
641
|
+
/** Global style direction for this segment (applies to all turns) */
|
|
642
|
+
stylePrompt?: string;
|
|
643
|
+
/** Ordered turns within this segment */
|
|
644
|
+
turns: DialogTurn[];
|
|
645
|
+
/** Optional per-segment temperature override */
|
|
646
|
+
temperature?: number;
|
|
647
|
+
}
|
|
648
|
+
/**
|
|
649
|
+
* Request payload for VertexAITTSProvider.synthesizeDialog()
|
|
650
|
+
*
|
|
651
|
+
* @description Multi-segment, multi-speaker dialog synthesis. The provider
|
|
652
|
+
* runs one Vertex AI request per segment sequentially, concatenates the
|
|
653
|
+
* raw PCM buffers, and returns a single converted audio file. Billing
|
|
654
|
+
* aggregates characters across all segments and turns.
|
|
655
|
+
*
|
|
656
|
+
* Requires model 'gemini-3.1-flash-tts-preview' (or newer).
|
|
657
|
+
*
|
|
658
|
+
* @example
|
|
659
|
+
* ```typescript
|
|
660
|
+
* const result = await provider.synthesizeDialog({
|
|
661
|
+
* speakers: [
|
|
662
|
+
* { speaker: 'Narrator', voice: 'Charon' },
|
|
663
|
+
* { speaker: 'Alice', voice: 'Aoede' },
|
|
664
|
+
* { speaker: 'Bob', voice: 'Puck' },
|
|
665
|
+
* ],
|
|
666
|
+
* segments: [
|
|
667
|
+
* {
|
|
668
|
+
* stylePrompt: 'Calm audiobook narration',
|
|
669
|
+
* turns: [{ speaker: 'Narrator', text: 'The tavern was loud that night.' }],
|
|
670
|
+
* },
|
|
671
|
+
* {
|
|
672
|
+
* stylePrompt: 'Heated argument between two friends',
|
|
673
|
+
* turns: [
|
|
674
|
+
* { speaker: 'Alice', text: '[shouting] You lied to me!' },
|
|
675
|
+
* { speaker: 'Bob', text: '[sigh] Calm down, would you?' },
|
|
676
|
+
* ],
|
|
677
|
+
* },
|
|
678
|
+
* ],
|
|
679
|
+
* voice: { languageCode: 'en-US' },
|
|
680
|
+
* audio: { format: 'mp3' },
|
|
681
|
+
* providerOptions: { model: 'gemini-3.1-flash-tts-preview' },
|
|
682
|
+
* });
|
|
683
|
+
* ```
|
|
684
|
+
*/
|
|
685
|
+
export interface SynthesizeDialogRequest {
|
|
686
|
+
/** Speaker-to-voice mapping, referenced by DialogTurn.speaker */
|
|
687
|
+
speakers: DialogSpeaker[];
|
|
688
|
+
/** One or more dialog segments, synthesized in order */
|
|
689
|
+
segments: DialogSegment[];
|
|
690
|
+
/** Language code and other voice-level config (voice.id is ignored in dialog mode) */
|
|
691
|
+
voice?: {
|
|
692
|
+
languageCode?: string;
|
|
693
|
+
id?: string;
|
|
694
|
+
};
|
|
695
|
+
/** Audio output options (format, etc.) */
|
|
696
|
+
audio?: {
|
|
697
|
+
format?: 'mp3' | 'wav' | string;
|
|
698
|
+
};
|
|
699
|
+
/** Provider-specific options (model, region, temperature) */
|
|
700
|
+
providerOptions?: VertexAITTSProviderOptions;
|
|
701
|
+
/** Retry config for transient errors, as in TTSSynthesizeRequest */
|
|
702
|
+
retry?: boolean | RetryConfig;
|
|
703
|
+
}
|
|
592
704
|
/**
|
|
593
705
|
* Union type of all provider options
|
|
594
706
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-options.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/provider-options.types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"provider-options.types.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/provider-options.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-options.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/provider-options.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"provider-options.types.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/types/provider-options.types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA+yBH,wCAQC;AAKD,0CASC;AAKD,kDAQC;AAKD,0DAQC;AAUD,8CAQC;AAKD,0CAWC;AAKD,gDAWC;AAKD,4CAUC;AAKD,oDAYC;AArID;;GAEG;AACH,SAAgB,cAAc,CAC5B,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,SAAS,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,CAC7C,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,OAAO,IAAI,OAAO;QAClB,OAAQ,OAA8B,CAAC,KAAK,KAAK,QAAQ,CAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,WAAW,IAAI,OAAO,IAAI,kBAAkB,IAAI,OAAO,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,kBAAkB,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,CAAC,CACvD,CAAC;AACJ,CAAC;AAED;;GAEG;AACU,QAAA,oBAAoB,GAAG,uBAAuB,CAAC;AAE5D;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,UAAU,IAAI,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAC7B,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,oBAAoB,IAAI,OAAO;YAC9B,aAAa,IAAI,OAAO;YACxB,QAAQ,IAAI,OAAO;YACnB,UAAU,IAAI,OAAO,CAAC,CACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAChC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,aAAa,IAAI,OAAO;YACvB,MAAM,IAAI,OAAO;YACjB,mBAAmB,IAAI,OAAO;YAC9B,aAAa,IAAI,OAAO,CAAC,CAC5B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAC9B,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,SAAS,IAAI,OAAO;YACnB,eAAe,IAAI,OAAO;YAC1B,wBAAwB,IAAI,OAAO,CAAC,CACvC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAClC,OAAgB;IAEhB,OAAO,CACL,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,aAAa,IAAI,OAAO;YACvB,gBAAgB,IAAI,OAAO;YAC3B,CAAC,OAAO,IAAI,OAAO;gBACjB,OAAQ,OAA8B,CAAC,KAAK,KAAK,QAAQ;gBACxD,OAA6B,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CACjE,CAAC;AACJ,CAAC"}
|
|
@@ -9,4 +9,6 @@ export { setLogger, getLogger, resetLogger, setLogLevel, getLogLevel, silentLogg
|
|
|
9
9
|
export type { TTSLogger, LogLevel } from './logger.utils';
|
|
10
10
|
export { executeWithRetry, isRetryableError, calculateDelay, DEFAULT_RETRY_CONFIG, } from './retry.utils';
|
|
11
11
|
export type { RetryConfig, RetryLogger } from './retry.utils';
|
|
12
|
+
export { writeRequestLog, isRequestLoggingEnabled, } from './request-logger.utils';
|
|
13
|
+
export type { TTSRequestLogEntry, TTSRequestLogKind, } from './request-logger.utils';
|
|
12
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,GAAG,GACJ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,GAAG,GACJ,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,GACrB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,EACL,eAAe,EACf,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,wBAAwB,CAAC"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Export all utility functions for TTS operations
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.DEFAULT_RETRY_CONFIG = exports.calculateDelay = exports.isRetryableError = exports.executeWithRetry = exports.log = exports.silentLogger = exports.getLogLevel = exports.setLogLevel = exports.resetLogger = exports.getLogger = exports.setLogger = exports.getMp3Duration = exports.formatCharacterCount = exports.estimateAudioDuration = exports.countBillableCharacters = exports.validateCharacterCount = exports.countCharactersWithoutSSML = exports.countCharacters = void 0;
|
|
8
|
+
exports.isRequestLoggingEnabled = exports.writeRequestLog = exports.DEFAULT_RETRY_CONFIG = exports.calculateDelay = exports.isRetryableError = exports.executeWithRetry = exports.log = exports.silentLogger = exports.getLogLevel = exports.setLogLevel = exports.resetLogger = exports.getLogger = exports.setLogger = exports.getMp3Duration = exports.formatCharacterCount = exports.estimateAudioDuration = exports.countBillableCharacters = exports.validateCharacterCount = exports.countCharactersWithoutSSML = exports.countCharacters = void 0;
|
|
9
9
|
var character_counter_utils_1 = require("./character-counter.utils");
|
|
10
10
|
Object.defineProperty(exports, "countCharacters", { enumerable: true, get: function () { return character_counter_utils_1.countCharacters; } });
|
|
11
11
|
Object.defineProperty(exports, "countCharactersWithoutSSML", { enumerable: true, get: function () { return character_counter_utils_1.countCharactersWithoutSSML; } });
|
|
@@ -30,4 +30,8 @@ Object.defineProperty(exports, "executeWithRetry", { enumerable: true, get: func
|
|
|
30
30
|
Object.defineProperty(exports, "isRetryableError", { enumerable: true, get: function () { return retry_utils_1.isRetryableError; } });
|
|
31
31
|
Object.defineProperty(exports, "calculateDelay", { enumerable: true, get: function () { return retry_utils_1.calculateDelay; } });
|
|
32
32
|
Object.defineProperty(exports, "DEFAULT_RETRY_CONFIG", { enumerable: true, get: function () { return retry_utils_1.DEFAULT_RETRY_CONFIG; } });
|
|
33
|
+
// Request logger (per-call Markdown debug logs, gated by DEBUG_TTS_REQUESTS)
|
|
34
|
+
var request_logger_utils_1 = require("./request-logger.utils");
|
|
35
|
+
Object.defineProperty(exports, "writeRequestLog", { enumerable: true, get: function () { return request_logger_utils_1.writeRequestLog; } });
|
|
36
|
+
Object.defineProperty(exports, "isRequestLoggingEnabled", { enumerable: true, get: function () { return request_logger_utils_1.isRequestLoggingEnabled; } });
|
|
33
37
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAOmC;AANjC,0HAAA,eAAe,OAAA;AACf,qIAAA,0BAA0B,OAAA;AAC1B,iIAAA,sBAAsB,OAAA;AACtB,kIAAA,uBAAuB,OAAA;AACvB,gIAAA,qBAAqB,OAAA;AACrB,+HAAA,oBAAoB,OAAA;AAGtB,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,+CAQwB;AAPtB,yGAAA,SAAS,OAAA;AACT,yGAAA,SAAS,OAAA;AACT,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AACZ,mGAAA,GAAG,OAAA;AAKL,kBAAkB;AAClB,6CAKuB;AAJrB,+GAAA,gBAAgB,OAAA;AAChB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,mHAAA,oBAAoB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,qEAOmC;AANjC,0HAAA,eAAe,OAAA;AACf,qIAAA,0BAA0B,OAAA;AAC1B,iIAAA,sBAAsB,OAAA;AACtB,kIAAA,uBAAuB,OAAA;AACvB,gIAAA,qBAAqB,OAAA;AACrB,+HAAA,oBAAoB,OAAA;AAGtB,2DAAsD;AAA7C,oHAAA,cAAc,OAAA;AAEvB,mBAAmB;AACnB,+CAQwB;AAPtB,yGAAA,SAAS,OAAA;AACT,yGAAA,SAAS,OAAA;AACT,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,2GAAA,WAAW,OAAA;AACX,4GAAA,YAAY,OAAA;AACZ,mGAAA,GAAG,OAAA;AAKL,kBAAkB;AAClB,6CAKuB;AAJrB,+GAAA,gBAAgB,OAAA;AAChB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,mHAAA,oBAAoB,OAAA;AAKtB,6EAA6E;AAC7E,+DAGgC;AAF9B,uHAAA,eAAe,OAAA;AACf,+HAAA,uBAAuB,OAAA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TTS Request Logger
|
|
3
|
+
*
|
|
4
|
+
* Provider-agnostic request/response logger that writes one Markdown file per
|
|
5
|
+
* upstream API call (e.g. per Google Vertex AI generateContent invocation).
|
|
6
|
+
*
|
|
7
|
+
* Activated via the `DEBUG_TTS_REQUESTS` environment variable. When disabled,
|
|
8
|
+
* `writeRequestLog()` is a no-op so instrumentation adds zero cost.
|
|
9
|
+
*
|
|
10
|
+
* Files are written to `<cwd>/logs/tts/requests/` (override via
|
|
11
|
+
* `TTS_REQUEST_LOG_DIR`). Filename pattern:
|
|
12
|
+
* `{ISO_TIMESTAMP}_{provider}_{kind}[_{suffix}].md`
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Kind of upstream call being logged.
|
|
16
|
+
*
|
|
17
|
+
* - `dialog-segment` — one segment of a multi-speaker dialog synthesis
|
|
18
|
+
* - `single-synthesize` — a single-speaker synthesis
|
|
19
|
+
* - `other` — anything else a provider wants to log
|
|
20
|
+
*/
|
|
21
|
+
export type TTSRequestLogKind = 'dialog-segment' | 'single-synthesize' | 'other';
|
|
22
|
+
/**
|
|
23
|
+
* Context describing a single upstream TTS API call.
|
|
24
|
+
*
|
|
25
|
+
* Providers populate this before the network call (request side) and, after the
|
|
26
|
+
* call completes, fill in the response-side fields. The logger then serialises
|
|
27
|
+
* the whole entry to a Markdown file.
|
|
28
|
+
*/
|
|
29
|
+
export interface TTSRequestLogEntry {
|
|
30
|
+
/** Provider identifier, e.g. `vertex-ai` */
|
|
31
|
+
provider: string;
|
|
32
|
+
/** What kind of call this is */
|
|
33
|
+
kind: TTSRequestLogKind;
|
|
34
|
+
/** ISO 8601 timestamp when the request was issued */
|
|
35
|
+
timestamp: string;
|
|
36
|
+
/** Model / deployment / variant being called, when known */
|
|
37
|
+
model?: string;
|
|
38
|
+
/** Region / datacenter, when known */
|
|
39
|
+
region?: string;
|
|
40
|
+
/** Full endpoint URL the request was sent to */
|
|
41
|
+
endpointUrl?: string;
|
|
42
|
+
/** HTTP method (default implied: POST) */
|
|
43
|
+
httpMethod?: string;
|
|
44
|
+
/** Dialog segment index (only for `dialog-segment`) */
|
|
45
|
+
segmentIndex?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Speaker → voice mapping actually used for this specific call (after filtering
|
|
48
|
+
* to speakers that appear in the segment's turns).
|
|
49
|
+
*/
|
|
50
|
+
speakers?: Array<{
|
|
51
|
+
speaker: string;
|
|
52
|
+
voice: string;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Shape of the request body (provider-specific). For Vertex AI dialog:
|
|
56
|
+
* `single-voice` or `multi-speaker`.
|
|
57
|
+
*/
|
|
58
|
+
requestShape?: string;
|
|
59
|
+
/** The final request body that was serialised and sent upstream */
|
|
60
|
+
requestBody: unknown;
|
|
61
|
+
/** HTTP status code (populated after the call) */
|
|
62
|
+
httpStatus?: number;
|
|
63
|
+
/**
|
|
64
|
+
* Response body. On success store lightweight metadata (audio size, mime type,
|
|
65
|
+
* durations). On error store the full error payload for debugging.
|
|
66
|
+
*/
|
|
67
|
+
responseBody?: unknown;
|
|
68
|
+
/** Total duration of the upstream call in milliseconds */
|
|
69
|
+
durationMs?: number;
|
|
70
|
+
/** Set when the call failed */
|
|
71
|
+
error?: {
|
|
72
|
+
message: string;
|
|
73
|
+
stack?: string;
|
|
74
|
+
name?: string;
|
|
75
|
+
};
|
|
76
|
+
/** Free-form extra fields the caller wants to record */
|
|
77
|
+
extras?: Record<string, unknown>;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Check whether request logging is enabled via the `DEBUG_TTS_REQUESTS` env var.
|
|
81
|
+
*
|
|
82
|
+
* Truthy values: `1`, `true`, `yes`, `on` (case-insensitive). Anything else is
|
|
83
|
+
* treated as disabled.
|
|
84
|
+
*/
|
|
85
|
+
export declare function isRequestLoggingEnabled(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Write a request log entry as Markdown.
|
|
88
|
+
*
|
|
89
|
+
* No-op when `DEBUG_TTS_REQUESTS` is not enabled. Never throws — logging failures
|
|
90
|
+
* must not break TTS synthesis. Errors are reported on stderr for visibility.
|
|
91
|
+
*
|
|
92
|
+
* @returns The absolute file path of the written log, or `null` when disabled
|
|
93
|
+
* or the write failed.
|
|
94
|
+
*/
|
|
95
|
+
export declare function writeRequestLog(entry: TTSRequestLogEntry): string | null;
|
|
96
|
+
//# sourceMappingURL=request-logger.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-logger.utils.d.ts","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/request-logger.utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,OAAO,CAAC;AAEjF;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IACxB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAElB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,mEAAmE;IACnE,WAAW,EAAE,OAAO,CAAC;IAErB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,+BAA+B;IAC/B,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;IAEF,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAKjD;AAuJD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAgBxE"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* TTS Request Logger
|
|
4
|
+
*
|
|
5
|
+
* Provider-agnostic request/response logger that writes one Markdown file per
|
|
6
|
+
* upstream API call (e.g. per Google Vertex AI generateContent invocation).
|
|
7
|
+
*
|
|
8
|
+
* Activated via the `DEBUG_TTS_REQUESTS` environment variable. When disabled,
|
|
9
|
+
* `writeRequestLog()` is a no-op so instrumentation adds zero cost.
|
|
10
|
+
*
|
|
11
|
+
* Files are written to `<cwd>/logs/tts/requests/` (override via
|
|
12
|
+
* `TTS_REQUEST_LOG_DIR`). Filename pattern:
|
|
13
|
+
* `{ISO_TIMESTAMP}_{provider}_{kind}[_{suffix}].md`
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.isRequestLoggingEnabled = isRequestLoggingEnabled;
|
|
17
|
+
exports.writeRequestLog = writeRequestLog;
|
|
18
|
+
const fs_1 = require("fs");
|
|
19
|
+
const path_1 = require("path");
|
|
20
|
+
/**
|
|
21
|
+
* Check whether request logging is enabled via the `DEBUG_TTS_REQUESTS` env var.
|
|
22
|
+
*
|
|
23
|
+
* Truthy values: `1`, `true`, `yes`, `on` (case-insensitive). Anything else is
|
|
24
|
+
* treated as disabled.
|
|
25
|
+
*/
|
|
26
|
+
function isRequestLoggingEnabled() {
|
|
27
|
+
const raw = process.env.DEBUG_TTS_REQUESTS;
|
|
28
|
+
if (!raw)
|
|
29
|
+
return false;
|
|
30
|
+
const v = raw.trim().toLowerCase();
|
|
31
|
+
return v === '1' || v === 'true' || v === 'yes' || v === 'on';
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Resolve the directory where log files are written.
|
|
35
|
+
*
|
|
36
|
+
* Override via `TTS_REQUEST_LOG_DIR`. Defaults to `<cwd>/logs/tts/requests`.
|
|
37
|
+
*/
|
|
38
|
+
function resolveLogDir() {
|
|
39
|
+
const override = process.env.TTS_REQUEST_LOG_DIR;
|
|
40
|
+
if (override && override.trim().length > 0) {
|
|
41
|
+
return (0, path_1.resolve)(override.trim());
|
|
42
|
+
}
|
|
43
|
+
return (0, path_1.resolve)(process.cwd(), 'logs', 'tts', 'requests');
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Make a string safe to embed in a filename across Windows/macOS/Linux.
|
|
47
|
+
* Replaces reserved characters with `-` and collapses repeats.
|
|
48
|
+
*/
|
|
49
|
+
function sanitiseForFilename(value) {
|
|
50
|
+
return value
|
|
51
|
+
// eslint-disable-next-line no-control-regex
|
|
52
|
+
.replace(/[<>:"/\\|?*\x00-\x1F]/g, '-')
|
|
53
|
+
.replace(/-+/g, '-')
|
|
54
|
+
.replace(/^-+|-+$/g, '')
|
|
55
|
+
.slice(0, 80);
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Build the filename for a log entry.
|
|
59
|
+
*
|
|
60
|
+
* Pattern: `{ISO}_{provider}_{kind}[_{suffix}].md` where `ISO` has colons and
|
|
61
|
+
* dots replaced so it works on Windows.
|
|
62
|
+
*/
|
|
63
|
+
function buildFilename(entry) {
|
|
64
|
+
const isoSafe = entry.timestamp.replace(/[:.]/g, '-');
|
|
65
|
+
const parts = [isoSafe, sanitiseForFilename(entry.provider), sanitiseForFilename(entry.kind)];
|
|
66
|
+
if (entry.kind === 'dialog-segment' && typeof entry.segmentIndex === 'number') {
|
|
67
|
+
parts.push(`seg${entry.segmentIndex}`);
|
|
68
|
+
}
|
|
69
|
+
if (entry.requestShape) {
|
|
70
|
+
parts.push(sanitiseForFilename(entry.requestShape));
|
|
71
|
+
}
|
|
72
|
+
return `${parts.join('_')}.md`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Serialise unknown data to a fenced JSON code block.
|
|
76
|
+
*
|
|
77
|
+
* Handles circular references and BigInts without throwing; text content is
|
|
78
|
+
* written verbatim (no truncation) so the full upstream payload is preserved.
|
|
79
|
+
*/
|
|
80
|
+
function toJsonBlock(label, data) {
|
|
81
|
+
let json;
|
|
82
|
+
try {
|
|
83
|
+
json = JSON.stringify(data, (_key, value) => (typeof value === 'bigint' ? value.toString() : value), 2);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
json = `/* Failed to stringify ${label}: ${err.message} */`;
|
|
87
|
+
}
|
|
88
|
+
return ['```json', json, '```'].join('\n');
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Render a log entry to Markdown. The output includes every field that is
|
|
92
|
+
* populated; no truncation is performed.
|
|
93
|
+
*/
|
|
94
|
+
function renderMarkdown(entry) {
|
|
95
|
+
const lines = [];
|
|
96
|
+
lines.push(`# TTS Request Log — ${entry.provider} / ${entry.kind}`);
|
|
97
|
+
lines.push('');
|
|
98
|
+
lines.push('## Meta');
|
|
99
|
+
lines.push(`- **Timestamp**: ${entry.timestamp}`);
|
|
100
|
+
lines.push(`- **Provider**: ${entry.provider}`);
|
|
101
|
+
lines.push(`- **Kind**: ${entry.kind}`);
|
|
102
|
+
if (entry.model)
|
|
103
|
+
lines.push(`- **Model**: ${entry.model}`);
|
|
104
|
+
if (entry.region)
|
|
105
|
+
lines.push(`- **Region**: ${entry.region}`);
|
|
106
|
+
if (entry.endpointUrl)
|
|
107
|
+
lines.push(`- **Endpoint**: ${entry.endpointUrl}`);
|
|
108
|
+
if (entry.httpMethod)
|
|
109
|
+
lines.push(`- **HTTP Method**: ${entry.httpMethod}`);
|
|
110
|
+
if (typeof entry.durationMs === 'number') {
|
|
111
|
+
lines.push(`- **Duration**: ${entry.durationMs} ms`);
|
|
112
|
+
}
|
|
113
|
+
if (typeof entry.httpStatus === 'number') {
|
|
114
|
+
lines.push(`- **HTTP Status**: ${entry.httpStatus}`);
|
|
115
|
+
}
|
|
116
|
+
lines.push('');
|
|
117
|
+
if (typeof entry.segmentIndex === 'number' ||
|
|
118
|
+
entry.requestShape ||
|
|
119
|
+
(entry.speakers && entry.speakers.length > 0)) {
|
|
120
|
+
lines.push('## Dialog Context');
|
|
121
|
+
if (typeof entry.segmentIndex === 'number') {
|
|
122
|
+
lines.push(`- **Segment Index**: ${entry.segmentIndex}`);
|
|
123
|
+
}
|
|
124
|
+
if (entry.requestShape) {
|
|
125
|
+
lines.push(`- **Request Shape**: ${entry.requestShape}`);
|
|
126
|
+
}
|
|
127
|
+
if (entry.speakers && entry.speakers.length > 0) {
|
|
128
|
+
lines.push(`- **Speaker Count**: ${entry.speakers.length}`);
|
|
129
|
+
lines.push('- **Speaker → Voice**:');
|
|
130
|
+
for (const s of entry.speakers) {
|
|
131
|
+
lines.push(` - \`${s.speaker}\` → \`${s.voice}\``);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
lines.push('');
|
|
135
|
+
}
|
|
136
|
+
lines.push('## Request Body');
|
|
137
|
+
lines.push(toJsonBlock('requestBody', entry.requestBody));
|
|
138
|
+
lines.push('');
|
|
139
|
+
if (entry.responseBody !== undefined) {
|
|
140
|
+
lines.push('## Response');
|
|
141
|
+
lines.push(toJsonBlock('responseBody', entry.responseBody));
|
|
142
|
+
lines.push('');
|
|
143
|
+
}
|
|
144
|
+
if (entry.error) {
|
|
145
|
+
lines.push('## Error');
|
|
146
|
+
if (entry.error.name)
|
|
147
|
+
lines.push(`- **Name**: ${entry.error.name}`);
|
|
148
|
+
lines.push(`- **Message**: ${entry.error.message}`);
|
|
149
|
+
if (entry.error.stack) {
|
|
150
|
+
lines.push('');
|
|
151
|
+
lines.push('```');
|
|
152
|
+
lines.push(entry.error.stack);
|
|
153
|
+
lines.push('```');
|
|
154
|
+
}
|
|
155
|
+
lines.push('');
|
|
156
|
+
}
|
|
157
|
+
if (entry.extras && Object.keys(entry.extras).length > 0) {
|
|
158
|
+
lines.push('## Extras');
|
|
159
|
+
lines.push(toJsonBlock('extras', entry.extras));
|
|
160
|
+
lines.push('');
|
|
161
|
+
}
|
|
162
|
+
lines.push('---');
|
|
163
|
+
lines.push(`*Generated on ${new Date().toISOString()}*`);
|
|
164
|
+
lines.push('');
|
|
165
|
+
return lines.join('\n');
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Write a request log entry as Markdown.
|
|
169
|
+
*
|
|
170
|
+
* No-op when `DEBUG_TTS_REQUESTS` is not enabled. Never throws — logging failures
|
|
171
|
+
* must not break TTS synthesis. Errors are reported on stderr for visibility.
|
|
172
|
+
*
|
|
173
|
+
* @returns The absolute file path of the written log, or `null` when disabled
|
|
174
|
+
* or the write failed.
|
|
175
|
+
*/
|
|
176
|
+
function writeRequestLog(entry) {
|
|
177
|
+
if (!isRequestLoggingEnabled())
|
|
178
|
+
return null;
|
|
179
|
+
try {
|
|
180
|
+
const dir = resolveLogDir();
|
|
181
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
182
|
+
const filename = buildFilename(entry);
|
|
183
|
+
const fullPath = (0, path_1.join)(dir, filename);
|
|
184
|
+
(0, fs_1.writeFileSync)(fullPath, renderMarkdown(entry), 'utf8');
|
|
185
|
+
return fullPath;
|
|
186
|
+
}
|
|
187
|
+
catch (err) {
|
|
188
|
+
// Never let logging break the main flow.
|
|
189
|
+
// eslint-disable-next-line no-console
|
|
190
|
+
console.error('[tts-request-logger] Failed to write log:', err.message);
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=request-logger.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-logger.utils.js","sourceRoot":"","sources":["../../../../../src/middleware/services/tts/utils/request-logger.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loonylabs/tts-middleware",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.1",
|
|
4
4
|
"description": "Provider-agnostic Text-to-Speech middleware for Azure, OpenAI, ElevenLabs, Google Cloud, Deepgram, Fish Audio, Inworld AI, and Vertex AI TTS",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
61
|
"dependencies": {
|
|
62
|
+
"@breezystack/lamejs": "^1.2.7",
|
|
62
63
|
"@google-cloud/text-to-speech": "^6.4.0",
|
|
63
64
|
"microsoft-cognitiveservices-speech-sdk": "^1.38.0"
|
|
64
65
|
},
|