it("matches known entrypoints across slash and case variants", () => {
expect(isGatewayArgv(["NODE", "C:\\OpenClaw\\DIST\\ENTRY.JS", "gateway"])).toBe(true);
expect(isGatewayArgv(["bun", "/srv/openclaw/scripts/run-node.mjs", "gateway"])).toBe(true);
expect(isGatewayArgv(["node", "/srv/openclaw/openclaw.mjs", "gateway"])).toBe(true);
expect(isGatewayArgv(["tsx", "/srv/openclaw/src/entry.ts", "gateway"])).toBe(true);
expect(isGatewayArgv(["tsx", "/srv/openclaw/src/index.ts", "gateway"])).toBe(true);
});
it("matches the openclaw executable but gates the gateway binary behind the opt-in flag", () => {
expect(isGatewayArgv(["C:\\bin\\openclaw.cmd", "gateway"])).toBe(true);
expect(isGatewayArgv(["/usr/local/bin/openclaw-gateway", "gateway"])).toBe(false);
expect(
isGatewayArgv(["/usr/local/bin/openclaw-gateway", "gateway"], {
allowGatewayBinary: true,
}),
).toBe(true);
expect(
isGatewayArgv(["C:\\bin\\openclaw-gateway.EXE", "gateway"], {
allowGatewayBinary: true,
}),
).toBe(true);
});
it("rejects unknown gateway argv even when the token is present", () => {
expect(isGatewayArgv(["node", "/srv/openclaw/custom.js", "gateway"])).toBe(false);
expect(isGatewayArgv(["python", "gateway", "script.py"])).toBe(false);
});
});
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.17Bemerkung:
(vorverarbeitet am 2026-06-09)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.