sandbox-agent/factory/packages/backend/tmp-inspect-workflow.mjs
2026-03-09 14:00:20 -07:00

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);
};