UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

47 lines (46 loc) • 2.65 kB
import { c as isRecord } from "../../record-coerce-TIsquoVR.mjs"; import { t as openNodeSqliteDatabase } from "../../node-sqlite-DWTcT2ek.mjs"; import { i as tableExists } from "../../openclaw-state-db-schema-helpers-DsjDX6BL.mjs"; import { f as runSqliteReadOnlyWorkerSync } from "../../sqlite-readonly-worker-5mtnBdTa.mjs"; import { V as cronRunRecordStoreKey } from "../../openclaw-state-db-existing-schema-CUJtAJx4.mjs"; import { r as openOpenClawStateReadConnection, t as assertStateReadSchema } from "../../openclaw-state-db-read-connection-BJvrRbLq.mjs"; import { n as serveWorkerTasks } from "../../worker-task-server-CF3aSh39.mjs"; import { t as inspectCronRowsForDoctor } from "../../doctor-inventory-Cl1RqRf6.mjs"; import { n as serializeCronLoadError } from "../../load-error-CCqCdGGN.mjs"; import { t as loadCronStoreFromDatabase } from "../../load.kernel-B_tPrMaO.mjs"; import { n as readCronRunRecordsInDatabase } from "../../run-history.kernel-Dy9n3N8b.mjs"; //#region src/cron/store/read-only.worker.ts serveWorkerTasks(async (input, _channel, control) => { try { if (!isRecord(input) || typeof input.location !== "string" || input.storeKey !== void 0 && typeof input.storeKey !== "string" || input.stagingRoot !== void 0 && typeof input.stagingRoot !== "string" || input.history !== void 0 && (typeof input.storeKey !== "string" || !isRecord(input.history) || input.history.jobId !== void 0 && typeof input.history.jobId !== "string")) throw new Error("Cron read-only worker requires a database location and an optional store key"); const { location, storeKey, stagingRoot } = input; return await control.runNativeSection(() => { const connection = stagingRoot ? openOpenClawStateReadConnection(location, runSqliteReadOnlyWorkerSync(location, stagingRoot), void 0, stagingRoot) : void 0; const db = connection?.database.db ?? openNodeSqliteDatabase(location, { readOnly: true }); try { if (isRecord(input.history)) { assertStateReadSchema(db, location); return { ok: true, history: readCronRunRecordsInDatabase(db, typeof input.history.jobId === "string" ? input.history.jobId : void 0).filter((row) => cronRunRecordStoreKey(row) === storeKey) }; } return { ok: true, inventory: storeKey === void 0 ? inspectCronRowsForDoctor(db) : void 0, loaded: storeKey !== void 0 && tableExists(db, "cron_jobs") ? loadCronStoreFromDatabase(db, storeKey) : void 0 }; } finally { if (connection) connection.close(); else db.close(); } }); } catch (error) { return { ok: false, error: serializeCronLoadError(error) }; } }); //#endregion export {};