* feat: automate yiacad pr review lane * fix: stabilize yiacad review and spec gates * fix: scope kicad exports to repo hardware * fix: ignore kicad block library sources in exports * feat: Add infra VPS monitoring runbook and healthcheck scripts - Created INFRA_VPS_RUNBOOK_2026.md detailing operational procedures for monitoring VPS services. - Added infra_vps_healthcheck.sh script for automated health checks on DNS, TLS, TCP, and HTTP for VPS services. - Introduced infra_vps_security_audit.sh for non-intrusive security checks on external VPS services. - Established JSON schema for infra VPS inventory in infra_vps.schema.json. - Developed integration for runtime status reporting in the Next.js API route. - Implemented Playwright tests for smoke testing the application and ensuring core functionalities. - Updated Makefile for development dependencies and testing commands. - Created various test files for unit and end-to-end testing across different components. * feat(agentics): update mesh agents, gates, prompts, and workflows
35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
import { existsSync, mkdirSync } from "node:fs";
|
|
import { dirname, resolve } from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import { spawn } from "node:child_process";
|
|
|
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
const root = resolve(here, "..");
|
|
const persistenceDir = resolve(root, "realtime", "data");
|
|
const serverEntryCandidates = [
|
|
resolve(root, "node_modules", "@y", "websocket-server", "src", "server.js"),
|
|
resolve(root, "node_modules", "y-websocket", "bin", "server.js")
|
|
];
|
|
|
|
const serverEntry = serverEntryCandidates.find((candidate) => {
|
|
// Prefer the modern @y/websocket-server entrypoint when available.
|
|
return existsSync(candidate);
|
|
}) ?? serverEntryCandidates[0];
|
|
|
|
mkdirSync(persistenceDir, { recursive: true });
|
|
|
|
const child = spawn(process.execPath, [serverEntry], {
|
|
cwd: root,
|
|
stdio: "inherit",
|
|
env: {
|
|
...process.env,
|
|
HOST: process.env.HOST ?? "0.0.0.0",
|
|
PORT: process.env.PORT ?? "1234",
|
|
YPERSISTENCE: process.env.YPERSISTENCE ?? persistenceDir
|
|
}
|
|
});
|
|
|
|
child.on("exit", (code) => {
|
|
process.exit(code ?? 0);
|
|
});
|