add ai job queue

This commit is contained in:
Garret Patti
2026-04-13 12:29:09 -04:00
parent 8557c80c52
commit fea55594d0
18 changed files with 818 additions and 167 deletions

View File

@@ -1,6 +1,6 @@
import { NextRequest, NextResponse } from 'next/server'
import { requireAdmin } from '@/lib/auth'
import { getAiConfig, updateAiConfig, getPreferredLanguage, setPreferredLanguage } from '@/lib/app-settings'
import { getAiConfig, updateAiConfig, getPreferredLanguage, setPreferredLanguage, getAiMaxRetries, setAiMaxRetries } from '@/lib/app-settings'
export async function GET(request: NextRequest) {
const auth = await requireAdmin(request)
@@ -8,7 +8,8 @@ export async function GET(request: NextRequest) {
const config = getAiConfig()
const preferredLanguage = getPreferredLanguage()
return NextResponse.json({ ...config, preferredLanguage })
const maxRetries = getAiMaxRetries()
return NextResponse.json({ ...config, preferredLanguage, maxRetries })
}
export async function PUT(request: NextRequest) {
@@ -28,6 +29,7 @@ export async function PUT(request: NextRequest) {
promptTagger?: string
promptExtract?: string
promptTranslate?: string
maxRetries?: number
}
try {
body = await request.json()
@@ -39,6 +41,7 @@ export async function PUT(request: NextRequest) {
endpoint, model, enabled, preferredLanguage,
modelTagging, modelDescribe, modelExtract, modelTranslate,
promptDescribe, promptTagger, promptExtract, promptTranslate,
maxRetries,
} = body
if (typeof endpoint !== 'string') {
@@ -69,6 +72,10 @@ export async function PUT(request: NextRequest) {
setPreferredLanguage(preferredLanguage.trim())
}
if (typeof maxRetries === 'number' && Number.isFinite(maxRetries)) {
setAiMaxRetries(maxRetries)
}
const config = getAiConfig()
return NextResponse.json({ ...config, preferredLanguage: getPreferredLanguage() })
return NextResponse.json({ ...config, preferredLanguage: getPreferredLanguage(), maxRetries: getAiMaxRetries() })
}