Files
hermes-os/app/cron/jobs/[id]/output/route.ts
T
Hermes 218d12b8d7 Cron detail page with output history, markdown skill rendering
- /cron/[id]: job details, prompt, output history from filesystem
- Cron list items now link to detail pages
- Skills render SKILL.md as proper markdown (headings, code, tables)
- Cron output proxy reads from ~/.hermes/cron/output/
2026-04-09 21:26:34 -05:00

30 lines
924 B
TypeScript

import { NextRequest, NextResponse } from "next/server";
import { promises as fs } from "fs";
import path from "path";
const OUTPUT_DIR = process.env.HERMES_CRON_OUTPUT || "/home/hermes/.hermes/cron/output";
export async function GET(_req: NextRequest, { params }: { params: Promise<{ id: string }> }) {
const { id } = await params;
const jobDir = path.join(OUTPUT_DIR, id);
try {
const files = await fs.readdir(jobDir);
const outputs = await Promise.all(
files
.filter((f) => f.endsWith(".md"))
.sort()
.reverse()
.slice(0, 20)
.map(async (f) => {
const content = await fs.readFile(path.join(jobDir, f), "utf-8");
const timestamp = f.replace(".md", "").replace(/_/g, " ");
return { timestamp, content };
})
);
return NextResponse.json({ outputs });
} catch {
return NextResponse.json({ outputs: [] });
}
}