refactor: reuse gateway talk provider schema fields

This commit is contained in:
Peter Steinberger 2026-03-13 16:36:39 +00:00
parent 7b8e48ffb6
commit e94ac57f80
1 changed files with 13 additions and 20 deletions

View File

@ -16,16 +16,17 @@ export const TalkConfigParamsSchema = Type.Object(
{ additionalProperties: false },
);
const TalkProviderConfigSchema = Type.Object(
{
const talkProviderFieldSchemas = {
voiceId: Type.Optional(Type.String()),
voiceAliases: Type.Optional(Type.Record(Type.String(), Type.String())),
modelId: Type.Optional(Type.String()),
outputFormat: Type.Optional(Type.String()),
apiKey: Type.Optional(SecretInputSchema),
},
{ additionalProperties: true },
);
};
const TalkProviderConfigSchema = Type.Object(talkProviderFieldSchemas, {
additionalProperties: true,
});
const ResolvedTalkConfigSchema = Type.Object(
{
@ -37,11 +38,7 @@ const ResolvedTalkConfigSchema = Type.Object(
const LegacyTalkConfigSchema = Type.Object(
{
voiceId: Type.Optional(Type.String()),
voiceAliases: Type.Optional(Type.Record(Type.String(), Type.String())),
modelId: Type.Optional(Type.String()),
outputFormat: Type.Optional(Type.String()),
apiKey: Type.Optional(SecretInputSchema),
...talkProviderFieldSchemas,
interruptOnSpeech: Type.Optional(Type.Boolean()),
silenceTimeoutMs: Type.Optional(Type.Integer({ minimum: 1 })),
},
@ -53,11 +50,7 @@ const NormalizedTalkConfigSchema = Type.Object(
provider: Type.Optional(Type.String()),
providers: Type.Optional(Type.Record(Type.String(), TalkProviderConfigSchema)),
resolved: ResolvedTalkConfigSchema,
voiceId: Type.Optional(Type.String()),
voiceAliases: Type.Optional(Type.Record(Type.String(), Type.String())),
modelId: Type.Optional(Type.String()),
outputFormat: Type.Optional(Type.String()),
apiKey: Type.Optional(SecretInputSchema),
...talkProviderFieldSchemas,
interruptOnSpeech: Type.Optional(Type.Boolean()),
silenceTimeoutMs: Type.Optional(Type.Integer({ minimum: 1 })),
},