openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
21 lines (20 loc) • 1.4 kB
JavaScript
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 };