morphbox
Version:
Docker-based AI sandbox for development with Claude integration
35 lines (33 loc) • 1.4 kB
JavaScript
function createMorphFile(metadata, code, initialPrompt) {
const now = (/* @__PURE__ */ new Date()).toISOString();
return {
formatVersion: "1.0",
metadata,
code,
promptHistory: initialPrompt ? [{
prompt: initialPrompt,
timestamp: now,
type: "create",
resultingVersion: metadata.version
}] : [],
createdAt: now,
updatedAt: now
};
}
function validateMorphFile(data) {
if (!data || typeof data !== "object") return false;
if (data.formatVersion !== "1.0") return false;
if (!data.metadata || typeof data.metadata !== "object") return false;
if (!data.metadata.id || typeof data.metadata.id !== "string") return false;
if (!data.metadata.name || typeof data.metadata.name !== "string") return false;
if (!data.metadata.description || typeof data.metadata.description !== "string") return false;
if (!data.metadata.version || typeof data.metadata.version !== "string") return false;
if (!Array.isArray(data.metadata.features)) return false;
if (!data.code || typeof data.code !== "string") return false;
if (!Array.isArray(data.promptHistory)) return false;
if (!data.createdAt || typeof data.createdAt !== "string") return false;
if (!data.updatedAt || typeof data.updatedAt !== "string") return false;
return true;
}
export { createMorphFile as c, validateMorphFile as v };
//# sourceMappingURL=morph-f-EPjDPR.js.map