This repository has been archived on 2026-10-29. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
EvePlugins/plugins/eve-plugin-fields/src/sidecar.mjs
2026-07-10 14:50:47 +01:00

27 lines
816 B
JavaScript

#!/usr/bin/env node
import readline from "node:readline";
import { dispatch, pluginId } from "./plugin.mjs";
readline.createInterface({ input: process.stdin }).on("line", line => {
if (!line.trim()) return;
let request;
try {
request = JSON.parse(line.replace(/^\uFEFF/, ""));
respond(request, dispatch(request));
} catch (error) {
respond(request, {}, "rejected", error instanceof Error ? error.message : String(error));
}
});
function respond(request, output, status = "accepted", message) {
process.stdout.write(`${JSON.stringify({
schema: "gamecult.eve.plugin_abi.response.v1",
pluginId,
operation: request?.operation || "unknown",
requestId: request?.requestId || "unknown",
status,
output,
...(message ? { diagnostics: [{ message }] } : {}),
})}\n`);
}