mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-04-07 00:15:23 +02:00
fix(stt): address review feedback — reserved fields guard, schema validation, docs
- Filter reserved fields (file, model, language) from extraParams before merge - Change extraParams schema to z.record(z.union([z.string(), z.number(), z.boolean()])) - Add regex validation for language field in Zod schema - Add JSDoc note about extraParams in openAIProvider - Add comment clarifying language/extraParams are OpenAI-only (not Azure) - Remove unnecessary optional chaining on sttSchema
This commit is contained in:
parent
f158f07ee0
commit
dead7b9d6b
2 changed files with 13 additions and 5 deletions
|
|
@ -186,7 +186,7 @@ class STTService {
|
|||
|
||||
/**
|
||||
* Prepares the request for the OpenAI STT provider.
|
||||
* @param {Object} sttSchema - The STT schema for OpenAI.
|
||||
* @param {Object} sttSchema - The STT schema for OpenAI (includes optional language and extraParams).
|
||||
* @param {Stream} audioReadStream - The audio data to be transcribed.
|
||||
* @param {Object} audioFile - The audio file object (unused in OpenAI provider).
|
||||
* @param {string} language - The language code for the transcription.
|
||||
|
|
@ -206,8 +206,12 @@ class STTService {
|
|||
data.language = validLanguage;
|
||||
}
|
||||
|
||||
if (sttSchema?.extraParams) {
|
||||
Object.assign(data, sttSchema.extraParams);
|
||||
if (sttSchema.extraParams) {
|
||||
const reservedFields = new Set(['file', 'model', 'language']);
|
||||
const safeParams = Object.fromEntries(
|
||||
Object.entries(sttSchema.extraParams).filter(([key]) => !reservedFields.has(key)),
|
||||
);
|
||||
Object.assign(data, safeParams);
|
||||
}
|
||||
|
||||
const headers = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue