UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

33 lines (32 loc) 1.62 kB
import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import { t as ErrorCodes } from "./gateway-error-details-w0nAGBBp.js"; import { d as errorShape } from "./error-codes-Bo8q2D1o.js"; import { t as formatForLog } from "./ws-log-Dkg9wKNU.js"; //#region src/gateway/server-methods/nodes.helpers.ts /** 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) { return respondUnavailableOnNodeInvokeErrorWithProvenance(respond, res); } function respondUnavailableOnNodeInvokeErrorWithProvenance(respond, res, provenance) { 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; const details = { nodeError: res.error ?? null, ...provenance ? { nodeCommandDispatched: provenance.nodeCommandDispatched } : {} }; respond(false, void 0, errorShape(ErrorCodes.UNAVAILABLE, message, { details })); return false; } //#endregion export { respondUnavailableOnNodeInvokeErrorWithProvenance as n, respondUnavailableOnThrow as r, respondUnavailableOnNodeInvokeError as t };