feat: single-image transform, NAS/FTP in delivery, backup-all any target, metadata sidecar, prompt view, preset manager, API token + MCP server
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XNQ8ghPfzAfsyVYd6HgFb6
This commit is contained in:
+6
-8
@@ -91,7 +91,7 @@ export async function processItem(itemId: string): Promise<ProcessResult> {
|
||||
// Prompt + ob das Modell überhaupt gebraucht wird, je Modus.
|
||||
let prompt: string;
|
||||
let needsModel: boolean;
|
||||
if (mode === 'compose') { prompt = buildComposePrompt(description, cropMode === 'extend'); needsModel = true; }
|
||||
if (mode === 'compose') { prompt = buildComposePrompt(description, cropMode === 'extend', sourceKeys.length); needsModel = true; }
|
||||
else if (mode === 'generate') { prompt = buildGeneratePrompt(description); needsModel = true; }
|
||||
else {
|
||||
prompt = buildPrompt({ tasks, cropMode, customInstruction: r.custom_instruction });
|
||||
@@ -161,13 +161,11 @@ export async function processItem(itemId: string): Promise<ProcessResult> {
|
||||
for (const k of sourceKeys) await deleteObject(k).catch(() => {});
|
||||
}
|
||||
|
||||
// Zweite Sicherung auf NAS (best effort, blockiert den Erfolg nicht).
|
||||
if (cfg?.nas_enabled) {
|
||||
try {
|
||||
const { mirrorItemToNas } = await import('./nas');
|
||||
await mirrorItemToNas(itemId);
|
||||
} catch (e) { console.error('[process] NAS-Spiegelung fehlgeschlagen', e); }
|
||||
}
|
||||
// Zweite Sicherung auf alle Backup-Ziele (NAS + is_backup-Ziele), best effort.
|
||||
try {
|
||||
const { backupItem } = await import('./backup');
|
||||
await backupItem(itemId);
|
||||
} catch (e) { console.error('[process] Backup fehlgeschlagen', e); }
|
||||
|
||||
return { ok: true, cost };
|
||||
} catch (e: any) {
|
||||
|
||||
Reference in New Issue
Block a user