UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

21 lines (20 loc) • 1.4 kB
import { i as deferSqliteWorkerCommitReceipt } from "./sqlite-worker-operation-admission-C5lBzzTk.mjs"; import { l as runOpenClawStateWriteTransaction } from "./openclaw-state-db-DJZ7EKoI.mjs"; import { r as assertOpenClawStateLeasesWorkerOwnedInTransaction } from "./openclaw-state-lease-worker-Ddwq3QcA.mjs"; import { n as assertWorktreeRegistryPredicates } from "./registry-run-end.worker-W5Zshx2D.mjs"; import { n as mutateLocalWorkspaceProjection } from "./local-workspace-store.kernel-D2jBpv9J.mjs"; //#region src/gateway/worker-environments/local-workspace-store.worker.ts const localWorkspaceOperations = { "localWorkspace.mutate": (input, { open }) => { if (!input.leases.some((lease) => lease.scope === "workspace.local-reconciliation" && lease.key === input.id)) throw new Error("Local workspace mutation requires reconciliation custody"); return runOpenClawStateWriteTransaction(({ db }) => { assertOpenClawStateLeasesWorkerOwnedInTransaction(db, input.leases); assertWorktreeRegistryPredicates(db, input.predicates); const row = mutateLocalWorkspaceProjection(db, input.id, input.mutation); assertOpenClawStateLeasesWorkerOwnedInTransaction(db, input.leases, "commit"); assertWorktreeRegistryPredicates(db, input.predicates); deferSqliteWorkerCommitReceipt(db, input.receipt); return row; }, { database: open() }); } }; //#endregion export { localWorkspaceOperations };