UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

26 lines (25 loc) • 1.44 kB
import { d as runOpenClawAgentWriteTransaction } from "./openclaw-agent-db-CFSa_Qik.mjs"; import { a as readExactSessionEntryRow } from "./session-accessor.sqlite-entry-read-BLXI9I-v.mjs"; import { f as writeSessionEntry } from "./session-accessor.sqlite-entry-store-BVV5x7kL.mjs"; import { isDeepStrictEqual } from "node:util"; //#region src/config/sessions/provider-review-store.worker.ts function compareSessionProviderReviewInWorker(database, options, input, admit) { return runOpenClawAgentWriteTransaction((current) => { if (current.db !== database.db) throw new Error("Provider review lost its canonical database owner"); admit("transaction"); const entry = readExactSessionEntryRow(current, input.sessionKey)?.entry; if (!entry || entry.sessionId !== input.sessionId || entry.lifecycleRevision !== input.lifecycleRevision || !isDeepStrictEqual(entry.providerReview, input.expectedReview) || input.nextReview && input.nextReview.sessionId !== input.sessionId) throw new Error("Provider review changed; refresh the findings before continuing"); const next = { ...entry, providerReview: input.nextReview }; const updated = writeSessionEntry(current, input.sessionKey, next, { canonicalPreviousEntry: entry, providerReviewMutation: true }); admit("commit"); return updated; }, options, { operationLabel: "session.provider-review.compare" }); } //#endregion export { compareSessionProviderReviewInWorker };