UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

30 lines (29 loc) • 1.11 kB
import { s as retryAsync } from "./src-DqaLEvc_.mjs"; //#region packages/memory-host-sdk/src/host/read-retry.ts const TRANSIENT_MEMORY_READ_ERRNO = -11; const TRANSIENT_MEMORY_READ_CODES = /* @__PURE__ */ new Set([ "EAGAIN", "EWOULDBLOCK", "EDEADLK" ]); const TRANSIENT_MEMORY_READ_MESSAGE = /Unknown system error -11\b/i; /** Return true for transient memory read failures that should be retried. */ function isTransientMemoryReadError(error) { const details = error; const code = details?.code; if (typeof code === "string" && TRANSIENT_MEMORY_READ_CODES.has(code)) return true; if (details?.errno === TRANSIENT_MEMORY_READ_ERRNO) return true; return error instanceof Error && TRANSIENT_MEMORY_READ_MESSAGE.test(error.message); } /** Retry a memory read with the narrow transient error predicate. */ async function retryTransientMemoryRead(read, label = "memory read") { return await retryAsync(read, { attempts: 3, minDelayMs: 25, maxDelayMs: 50, label, shouldRetry: isTransientMemoryReadError }); } //#endregion export { retryTransientMemoryRead as n, isTransientMemoryReadError as t };