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:
Mieszko Makuch 2026-03-26 01:56:40 +01:00
parent f158f07ee0
commit dead7b9d6b
2 changed files with 13 additions and 5 deletions

View file

@ -478,10 +478,14 @@ const sttOpenaiSchema = z.object({
url: z.string().optional(),
apiKey: z.string(),
model: z.string(),
language: z.string().optional(),
extraParams: z.record(z.unknown()).optional(),
language: z
.string()
.regex(/^[a-z]{2}(-[a-z]{2})?$/)
.optional(),
extraParams: z.record(z.union([z.string(), z.number(), z.boolean()])).optional(),
});
/** Note: language and extraParams are only supported for the OpenAI provider. */
const sttAzureOpenAISchema = z.object({
instanceName: z.string(),
apiKey: z.string(),