UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

42 lines (41 loc) 1.97 kB
import { c as normalizeOptionalString } from "./string-coerce-mnp54Vah.js"; import { in as errorShape, rn as ErrorCodes } from "./schema-BwaBORnA.js"; import { t as formatValidationErrors } from "./src-oj0IwW6K.js"; import { t as formatForLog } from "./ws-log-DlzuStZb.js"; //#region src/gateway/server-json.ts /** Safely parses an optional JSON string, returning a payloadJSON wrapper on parse failure. */ function safeParseJson(value) { const trimmed = normalizeOptionalString(value); if (!trimmed) return; try { return JSON.parse(trimmed); } catch { return { payloadJSON: value }; } } //#endregion //#region src/gateway/server-methods/nodes.helpers.ts /** Responds with the protocol validation error for invalid method params. */ function respondInvalidParams(params) { params.respond(false, void 0, errorShape(ErrorCodes.INVALID_REQUEST, `invalid ${params.method} params: ${formatValidationErrors(params.validator.errors)}`)); } /** Converts thrown node-handler failures into `UNAVAILABLE` protocol errors. */ async function respondUnavailableOnThrow(respond, fn) { try { await fn(); } catch (err) { respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, formatForLog(err))); } } /** Narrows successful node invoke results or responds with the node error details. */ function respondUnavailableOnNodeInvokeError(respond, res) { if (res.ok) return true; const nodeError = res.error && typeof res.error === "object" ? res.error : null; const nodeCode = normalizeOptionalString(nodeError?.code) ?? ""; const nodeMessage = normalizeOptionalString(nodeError?.message) ?? "node invoke failed"; const message = nodeCode ? `${nodeCode}: ${nodeMessage}` : nodeMessage; respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, message, { details: { nodeError: res.error ?? null } })); return false; } //#endregion export { safeParseJson as i, respondUnavailableOnNodeInvokeError as n, respondUnavailableOnThrow as r, respondInvalidParams as t };