UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

42 lines (41 loc) • 1.11 kB
//#region packages/gateway-client/src/device-auth.ts function normalizeDeviceMetadataForAuth(value) { if (typeof value !== "string") return ""; return value.trim().replace(/[A-Z]/g, (char) => String.fromCharCode(char.charCodeAt(0) + 32)); } function buildDeviceAuthPayload(params) { const scopes = params.scopes.join(","); const token = params.token ?? ""; return [ "v2", params.deviceId, params.clientId, params.clientMode, params.role, scopes, String(params.signedAtMs), token, params.nonce ].join("|"); } function buildDeviceAuthPayloadV3(params) { const scopes = params.scopes.join(","); const token = params.token ?? ""; const platform = normalizeDeviceMetadataForAuth(params.platform); const deviceFamily = normalizeDeviceMetadataForAuth(params.deviceFamily); return [ "v3", params.deviceId, params.clientId, params.clientMode, params.role, scopes, String(params.signedAtMs), token, params.nonce, platform, deviceFamily ].join("|"); } //#endregion export { buildDeviceAuthPayloadV3 as n, normalizeDeviceMetadataForAuth as r, buildDeviceAuthPayload as t };