Source identity
| Field | Recorded value |
|---|---|
| Source type | GitHub source |
| Original record | Janady13/ai-music-system / index.js |
| Date | Not specified in source |
| Repository | Janady13/ai-music-system |
| Revision | 9a816470ef81edba7a5d8f3aae62c05eead638a7 |
| Branch | main |
| Path or archive member | index.js |
| Original SHA-256 | 8edb021e4b63a06d58435637fa9d08ad7ca8052af113b8db1cd3e8f9147176d7 |
| Git blob SHA | a34853c0761b0ca8990a1f61ba2815fcca254051 |
| Reading-copy SHA-256 | 8edb021e4b63a06d58435637fa9d08ad7ca8052af113b8db1cd3e8f9147176d7 |
Every recorded occurrence
These 2 records contain identical original source bytes. Their paths and revisions remain part of the archive.
| Original record | Branch or archive | Revision / identifier | Original location |
|---|---|---|---|
| Janady13/ai-music-system / index.js | main | 9a816470ef81edba7a5d8f3aae62c05eead638a7 | Open original |
| Janady13/ai-music-system / index.js | codex/create-ai-for-music-generation | 017052c0e72c6175378aebb7a7f9dd96e82c3ce2 | Open original |
Recovered source transcript
Download complete source text ↓65 lines · 2.1 KB
const fs = require("fs");
const os = require("os");
const path = require("path");
const express = require("express");
const http = require("http");
const { Server } = require("socket.io");
const pino = require("pino");
const { generateMusicPlan } = require("./lib/music/generator");
const { loadMeta } = require("./lib/training");
const PORT = Number(process.env.PORT || 0);
const log = pino({ name: "ai-music" });
const app = express();
app.use(express.json());
app.get("/health", (req, res) => {
try {
const meta = loadMeta();
res.json({ ok: true, uptime: process.uptime(), training: { step: meta.step, loss: meta.loss } });
} catch (err) {
log.error({ err: err.message }, "health check failed");
res.status(500).json({ ok: false, error: err.message });
}
});
app.post("/api/generate", (req, res) => {
try {
const plan = generateMusicPlan(req.body || {});
res.json(plan);
} catch (err) {
log.warn({ err: err.message }, "api generation failed");
res.status(400).json({ ok: false, error: err.message });
}
});
app.use(express.static(path.join(__dirname, "public")));
const server = http.createServer(app);
const io = new Server(server, { cors: { origin: "*" } });
io.on("connection", socket => {
log.info({ id: socket.id }, "client connected");
socket.on("disconnect", () => log.info({ id: socket.id }, "client disconnected"));
socket.on("generate-music", params => {
log.info({ id: socket.id, params }, "music generation requested");
try {
const plan = generateMusicPlan(params || {});
socket.emit("music-generated", plan);
} catch (err) {
log.error({ id: socket.id, err: err.message }, "generation failed");
socket.emit("music-generated", { ok: false, error: err.message });
}
});
});
server.listen(PORT, () => {
const addr = server.address();
const port = typeof addr === "object" && addr ? addr.port : 0;
log.info({ port }, "ai music server listening");
try { fs.writeFileSync(path.join(os.homedir(), ".skynet_port"), String(port)); }
catch (err) { log.warn({ err: err.message }, "failed to persist port file"); }
});