{
+ setValue(`${service}_${field}`, voiceId, { shouldDirty: true });
+ }}
+ />
+ );
+ }
+ }
+
+ // Handle LLM model field with manual input toggle (uses examples from schema)
+ if (service === "llm" && field === "model" && actualSchema?.examples) {
+ const currentValue = watch(`${service}_${field}`) as string || "";
+ const modelOptions = actualSchema.examples;
+
+ if (isManualModelInput) {
+ return (
+
+
{
+ setValue(`${service}_${field}`, e.target.value, { shouldDirty: true });
+ }}
+ />
+
+ {
+ setIsManualModelInput(checked as boolean);
+ if (!checked && modelOptions.length > 0) {
+ // Reset to first option when switching back
+ setValue(`${service}_${field}`, modelOptions[0], { shouldDirty: true });
+ }
+ }}
+ />
+
+
+
+ );
+ }
+
+ return (
+
+
+
+ {
+ setIsManualModelInput(checked as boolean);
+ }}
+ />
+
+
+
+ );
+ }
+
if (actualSchema?.enum) {
+ // Use friendly display names for language and voice fields
+ const getDisplayName = (value: string) => {
+ if (field === "language") {
+ return LANGUAGE_DISPLAY_NAMES[value] || value;
+ }
+ if (field === "voice") {
+ return VOICE_DISPLAY_NAMES[value] || value;
+ }
+ return value;
+ };
+
return (