Let queued video, image, and music jobs open in an inspect modal.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-03 00:15:02 -05:00
co-authored by Cursor
parent 53990192e4
commit f05f8f3597
12 changed files with 1257 additions and 37 deletions
+23
View File
@@ -13,6 +13,7 @@ import {
type GenerationPreset,
type GenerationPresetKind,
type ImagePresetSettings,
type MusicPresetSettings,
type VideoPresetSettings
} from '~/utils/generationPresets'
import {
@@ -35,6 +36,13 @@ import {
parseImageV2Task,
type ImageV2PresetSettings
} from '~/utils/imageV2'
import {
clampMusicCfg,
clampMusicDuration,
clampMusicSteps,
sanitizeMusicLyrics,
sanitizeMusicTags
} from '~/utils/music'
import { coerceVideoWorkflow, isXaigenStudio, parseVideoWorkflow } from '~/utils/videoModels'
const writeChains = new Map<string, Promise<unknown>>()
@@ -155,9 +163,24 @@ function sanitizeImageV2Settings(raw: unknown): ImageV2PresetSettings {
}
}
function sanitizeMusicSettings(raw: unknown): MusicPresetSettings {
const rec = raw && typeof raw === 'object' ? raw as Record<string, unknown> : {}
const instrumental = rec.instrumental === true
return {
tags: sanitizeMusicTags(rec.tags),
lyrics: sanitizeMusicLyrics(rec.lyrics, instrumental),
instrumental,
duration: clampMusicDuration(rec.duration),
steps: clampMusicSteps(rec.steps),
seed: typeof rec.seed === 'number' && Number.isFinite(rec.seed) ? Math.max(0, Math.floor(rec.seed)) : undefined,
cfg: rec.cfg == null ? undefined : clampMusicCfg(rec.cfg)
}
}
function sanitizeSettings(kind: GenerationPresetKind, raw: unknown) {
if (kind === 'image') return sanitizeImageSettings(raw)
if (kind === 'imagev2') return sanitizeImageV2Settings(raw)
if (kind === 'music') return sanitizeMusicSettings(raw)
return sanitizeVideoSettings(raw)
}