mirror of
https://github.com/harivansh-afk/sandbox-agent.git
synced 2026-04-15 19:05:18 +00:00
30 lines
1.3 KiB
JavaScript
30 lines
1.3 KiB
JavaScript
import { Database } from "bun:sqlite";
|
|
import { TO_CLIENT_VERSIONED, decodeWorkflowHistoryTransport } from "rivetkit/inspector";
|
|
import util from "node:util";
|
|
|
|
const actorId = "2e443238457137bf";
|
|
const db = new Database(`/root/.local/share/openhandoff/rivetkit/databases/${actorId}.db`, { readonly: true });
|
|
const row = db.query("SELECT value FROM kv WHERE hex(key) = ?").get("03");
|
|
const token = new TextDecoder().decode(row.value);
|
|
|
|
const ws = new WebSocket(`ws://127.0.0.1:7750/gateway/${actorId}/inspector/connect`, [`rivet_inspector_token.${token}`]);
|
|
ws.binaryType = "arraybuffer";
|
|
const timeout = setTimeout(() => process.exit(2), 15000);
|
|
ws.onmessage = (ev) => {
|
|
const data = ev.data instanceof ArrayBuffer ? new Uint8Array(ev.data) : new Uint8Array(ev.data.buffer);
|
|
const msg = TO_CLIENT_VERSIONED.deserializeWithEmbeddedVersion(data);
|
|
const init = msg.body?.tag === "Init" ? msg.body.val : null;
|
|
if (!init) {
|
|
console.log("unexpected", util.inspect(msg, { depth: 4 }));
|
|
process.exit(1);
|
|
}
|
|
const decoded = decodeWorkflowHistoryTransport(init.workflowHistory);
|
|
console.log(util.inspect(decoded, { depth: 10, colors: false, compact: false, breakLength: 140 }));
|
|
clearTimeout(timeout);
|
|
ws.close();
|
|
process.exit(0);
|
|
};
|
|
ws.onerror = () => {
|
|
clearTimeout(timeout);
|
|
process.exit(1);
|
|
};
|