Files
Clément SAILLANTandGitHub 5efb380da5 feat: automate yiacad PR review lane (#18)
* 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
2026-03-29 17:14:16 +02:00

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);
});