UNPKG

morphbox

Version:

Docker-based AI sandbox for development with Claude integration

53 lines (50 loc) 1.75 kB
import { j as json } from './index-3BbzJtgI.js'; import { readFile, writeFile } from 'fs/promises'; import { join } from 'path'; import { homedir } from 'os'; const PANELS_DIR = join(homedir(), "morphbox", "panels"); const POST = async ({ request }) => { try { const { panelId, code } = await request.json(); if (!panelId || !code) { return json({ error: "Panel ID and code are required" }, { status: 400 }); } const filepath = join(PANELS_DIR, `${panelId}.morph`); const fileContent = await readFile(filepath, "utf-8"); const morphFile = JSON.parse(fileContent); if ("code" in morphFile) { morphFile.code = code; } else if ("content" in morphFile) { morphFile.content = code; } else { morphFile.code = code; } if (morphFile.metadata) { morphFile.metadata.updatedAt = (/* @__PURE__ */ new Date()).toISOString(); if (!morphFile.metadata.promptHistory) { morphFile.metadata.promptHistory = []; } morphFile.metadata.promptHistory.push({ prompt: "Manual code edit", timestamp: (/* @__PURE__ */ new Date()).toISOString(), type: "morph" }); } await writeFile(filepath, JSON.stringify(morphFile, null, 2), "utf-8"); return json({ success: true, metadata: morphFile.metadata }); } catch (error) { console.error("Failed to update panel code:", error); if (error.code === "ENOENT") { return json({ error: "Panel not found" }, { status: 404 }); } return json({ error: "Failed to update panel code", details: error instanceof Error ? error.message : "Unknown error" }, { status: 500 }); } }; export { POST }; //# sourceMappingURL=_server.ts-CzlVWd0i.js.map