UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

50 lines (49 loc) 1.97 kB
import { o as asRecord } from "./record-coerce-DItp3I4t.js"; import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; //#region src/shared/node-list-parse.ts function normalizePendingRequest(row) { const requestId = normalizeOptionalString(row.requestId); const nodeId = normalizeOptionalString(row.nodeId); if (requestId === void 0 || nodeId === void 0) return null; return { ...row, requestId, nodeId, displayName: normalizeOptionalString(row.displayName), platform: normalizeOptionalString(row.platform), version: normalizeOptionalString(row.version), coreVersion: normalizeOptionalString(row.coreVersion), uiVersion: normalizeOptionalString(row.uiVersion), remoteIp: normalizeOptionalString(row.remoteIp) }; } function normalizePairedNode(row) { const nodeId = normalizeOptionalString(row.nodeId); if (nodeId === void 0) return null; return { ...row, nodeId, displayName: normalizeOptionalString(row.displayName), platform: normalizeOptionalString(row.platform), version: normalizeOptionalString(row.version), coreVersion: normalizeOptionalString(row.coreVersion), uiVersion: normalizeOptionalString(row.uiVersion), remoteIp: normalizeOptionalString(row.remoteIp), lastSeenReason: normalizeOptionalString(row.lastSeenReason) }; } /** Extracts pending and paired node arrays from permissive node.pair.list payloads. */ function parsePairingList(value) { const obj = asRecord(value); return { pending: Array.isArray(obj.pending) ? obj.pending.map(normalizePendingRequest).filter((row) => row !== null) : [], paired: Array.isArray(obj.paired) ? obj.paired.map(normalizePairedNode).filter((row) => row !== null) : [] }; } /** Extracts the nodes array from a node.list response, treating malformed payloads as empty. */ function parseNodeList(value) { const obj = asRecord(value); return Array.isArray(obj.nodes) ? obj.nodes : []; } //#endregion export { parsePairingList as n, parseNodeList as t };