UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

44 lines (43 loc) 1.17 kB
//#region packages/gateway-client/src/device-auth.ts function normalizeDeviceMetadataForAuth(value) { if (typeof value !== "string") return ""; const trimmed = value.trim(); if (!trimmed) return ""; return trimmed.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 };