mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-17 14:41:34 +00:00
32 lines
1.0 KiB
TypeScript
32 lines
1.0 KiB
TypeScript
// Prints the local node host device identity for pairing verification.
|
|
import {
|
|
loadDeviceIdentityIfPresent,
|
|
publicKeyRawBase64UrlFromPem,
|
|
} from "../../infra/device-identity.js";
|
|
import { defaultRuntime } from "../../runtime.js";
|
|
|
|
/**
|
|
* Read-only by design: the SSH-verified pairing probe calls this remotely and
|
|
* must never mint a fresh identity on a host that has not run the node host.
|
|
*/
|
|
export function runNodeIdentityShow(opts: { json?: boolean }) {
|
|
const identity = loadDeviceIdentityIfPresent();
|
|
if (!identity) {
|
|
defaultRuntime.error(
|
|
"no node device identity found (start the node host once with `openclaw node run` or `openclaw node install`)",
|
|
);
|
|
defaultRuntime.exit(1);
|
|
return;
|
|
}
|
|
const payload = {
|
|
deviceId: identity.deviceId,
|
|
publicKey: publicKeyRawBase64UrlFromPem(identity.publicKeyPem),
|
|
};
|
|
if (opts.json) {
|
|
defaultRuntime.log(JSON.stringify(payload));
|
|
return;
|
|
}
|
|
defaultRuntime.log(`deviceId: ${payload.deviceId}`);
|
|
defaultRuntime.log(`publicKey: ${payload.publicKey}`);
|
|
}
|