"use client" import { fieldsToJsonSchema } from "@/ai/schema" import { saveSettingsAction } from "@/app/(app)/settings/actions" import { FormError } from "@/components/forms/error" import { FormInput, FormTextarea } from "@/components/forms/simple" import { Button } from "@/components/ui/button" import { Card, CardTitle } from "@/components/ui/card" import { Field } from "@prisma/client" import { CircleCheckBig, Edit } from "lucide-react" import Link from "next/link" import { useActionState } from "react" export default function LLMSettingsForm({ settings, fields, showApiKey = true, }: { settings: Record fields: Field[] showApiKey?: boolean }) { const [saveState, saveAction, pending] = useActionState(saveSettingsAction, null) return ( <>
{showApiKey && ( <> Get your API key from{" "} OpenAI Platform Console )}
{saveState?.success && (

Saved!

)}
{saveState?.error && {saveState.error}} Current JSON Schema for{" "} structured output Edit Fields
          {JSON.stringify(fieldsToJsonSchema(fields), null, 2)}
        
) }