Add headless puppet bridge: control socket, renderer handlers, MCP daemon

This commit is contained in:
agent
2026-09-11 12:59:29 +02:00
parent 24447f5d93
commit 7e4fb7aa34
18 changed files with 2180 additions and 38 deletions
+26
View File
@@ -0,0 +1,26 @@
/*
* Veskslop Phase 0 — live DM send test through a running Vesktop instance.
*
* Sanctioned test target: user zzib. Set TEST_DM_USER_ID to their user ID.
* This talks to the control socket directly (which must be a real Vesktop,
* not the mock) and paces the command like everything else.
*
* Usage:
* TEST_DM_USER_ID=... pnpm poc:dm
* TEST_DM_USER_ID=... TEST_DM_CONTENT="hello" pnpm poc:dm
*/
import { paced } from "./pacing.js";
import { sendVesktopCommand, socketPath } from "./vesktop-socket.js";
const userId = process.env.TEST_DM_USER_ID;
const content = process.env.TEST_DM_CONTENT ?? "veskslop test dm";
if (!userId) {
console.error("TEST_DM_USER_ID is required (sanctioned test target: zzib)");
process.exit(1);
}
console.log(`[dm] socket: ${socketPath}`);
const result = await paced(() => sendVesktopCommand("dm:send", { userId, content }));
console.log("[dm]", result);