[HLCC-ICE-000001][ZY-CONTRIB-20260723-001] feat: 以来光者贡献链启用冰朔第五域个人子频道

This commit is contained in:
光湖代码频道 · 铸渊 2026-07-24 10:39:10 +08:00
commit 5615453e4e
660 changed files with 122355 additions and 0 deletions

View file

@ -0,0 +1,27 @@
"use strict";
const net = require("node:net");
const SOCKET_PATH = process.env.LAKE_LAMP_ACTION_SOCKET || "/run/guanghu/action-broker.sock";
const OWNER_ACCESS_SOCKET_PATH = process.env.LAKE_LAMP_OWNER_ACCESS_SOCKET || "/run/guanghu-owner-access/owner-access.sock";
const ARCHITECTURE_PROVISION_SOCKET_PATH = process.env.LAKE_LAMP_ARCHITECTURE_PROVISION_SOCKET || "/run/guanghu-architecture-provision/provision.sock";
function executeRegisteredAction(request, socketPath) {
const selectedSocket = socketPath || (request.action === "restore-owner-password-login" ? OWNER_ACCESS_SOCKET_PATH : request.action === "provision-approved-architecture" ? ARCHITECTURE_PROVISION_SOCKET_PATH : SOCKET_PATH);
return new Promise((resolve) => {
const socket = net.createConnection(selectedSocket);
let response = "";
let settled = false;
const finish = (value) => { if (!settled) { settled = true; resolve(value); } };
socket.setTimeout(request.action === "provision-approved-architecture" ? 150000 : 35000);
socket.on("connect", () => socket.end(`${JSON.stringify(request)}\n`));
socket.on("data", chunk => { response += chunk.toString("utf8"); if (response.length > 100000) socket.destroy(); });
socket.on("end", () => {
try { finish(JSON.parse(response)); } catch { finish({ ok: false, error: "invalid_broker_response" }); }
});
socket.on("timeout", () => { socket.destroy(); finish({ ok: false, error: "action_timeout" }); });
socket.on("error", () => finish({ ok: false, error: "action_broker_unavailable" }));
});
}
module.exports = { executeRegisteredAction, SOCKET_PATH, OWNER_ACCESS_SOCKET_PATH, ARCHITECTURE_PROVISION_SOCKET_PATH };