feat: llms.txt (AI-readable docs), job delete, friendly missing-source error

- /llms.txt: public machine-readable capability/API/MCP doc for agents.
- Job delete action + queue button for terminal jobs; cleans objects.
- process.ts: clear 'Quelle nicht mehr vorhanden' message instead of raw
  EISDIR/ENOENT when a source was purged.
- Docs corrected: Picdrop 'missing images' was web-UI sorting, not PNG;
  JPG delivery kept as size/perf improvement.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XNQ8ghPfzAfsyVYd6HgFb6
This commit is contained in:
2026-07-24 08:57:31 +00:00
parent d54d322d6a
commit ae91f4bfd5
7 changed files with 125 additions and 7 deletions
+7
View File
@@ -78,6 +78,13 @@ export default function QueueApp({ jobId }: { jobId: string | null }) {
{job?.status === 'paused' && <button className="mini" onClick={() => act(`/api/jobs/${jobId}/resume`)}>Fortsetzen</button>}
{failed > 0 && <button className="mini" onClick={() => act(`/api/jobs/${jobId}/retry-failed`)}>Fehlgeschlagene erneut</button>}
{['queued', 'running', 'paused'].includes(job?.status) && <button className="mini" onClick={() => act(`/api/jobs/${jobId}/cancel`)}>Abbrechen</button>}
{['done', 'failed', 'cancelled'].includes(job?.status) && (
<button className="mini" onClick={async () => {
if (!confirm('Diesen Auftrag löschen?')) return;
await fetch(`/api/jobs/${jobId}/delete`, { method: 'POST' });
location.href = '/warteschlange';
}}>Löschen</button>
)}
</div>
</div>