UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

45 lines (44 loc) 1.43 kB
import { u as toStringifiedError } from "../error-coercion-D_-xJ90S.js"; import { m as setSqliteBusyTimeout, t as openNodeSqliteDatabase } from "../node-sqlite-BpQX3W0e.js"; import { t as assertSqliteIntegrity } from "../sqlite-integrity-NpEtFIdK.js"; import { n as readSqliteIntegrityFileIdentity } from "../sqlite-integrity-worker-CWVt3BRk.js"; import { parentPort, workerData } from "node:worker_threads"; //#region src/infra/sqlite-integrity.worker.ts function nativeErrorDetails(error) { const nativeError = error; return { message: error.message, code: nativeError.code, errcode: nativeError.errcode }; } const input = workerData; let database; let failure; try { readSqliteIntegrityFileIdentity(input.pathname, input.identity); database = openNodeSqliteDatabase(input.pathname, { readOnly: true }); setSqliteBusyTimeout(database, input.busyTimeoutMs); readSqliteIntegrityFileIdentity(input.pathname, input.identity); assertSqliteIntegrity(database, input.pathname); } catch (error) { failure = toStringifiedError(error); } finally { try { database?.close(); } catch (error) { failure = toStringifiedError(error); } } let result = { ok: true }; if (failure) result = { ok: false, error: { name: failure.name, ...nativeErrorDetails(failure), ...failure.cause instanceof Error ? { cause: nativeErrorDetails(failure.cause) } : {} } }; parentPort?.postMessage(result, []); //#endregion export {};