UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

34 lines (33 loc) • 1.55 kB
import { t as deferSqlitePostCommitPublication } from "./sqlite-post-commit-PDRfkj0T.mjs"; import { i as runWithSqliteWorkerStateContext } from "./sqlite-worker-state-context-ifl-DKqr.mjs"; import { l as runOpenClawStateWriteTransaction } from "./openclaw-state-db-VZFEEleX.mjs"; import { h as getOperatorApprovalResolutionKey } from "./operator-approval-store.transitions-B59qeaAf.mjs"; import { t as executeOperatorApprovalOperation } from "./operator-approval-store.operations-GH4gqiDV.mjs"; //#region src/gateway/operator-approval-store.native.ts function executeNativeOperatorApproval(type, input, context, assertCurrent, onCommitted) { context.admission.assertCurrent(); return runWithSqliteWorkerStateContext(context, () => { const options = { env: context.environment, path: context.admission.databasePath }; return runOpenClawStateWriteTransaction((database) => { assertCurrent(); const result = executeOperatorApprovalOperation(type, input, { ...options, database }); if (onCommitted && type === "operatorApprovals.resolve" && "outcome" in result && result.outcome === "resolved") { const receipt = { type: "operatorApprovals.resolve", resolutionKey: getOperatorApprovalResolutionKey(result.record) }; if (!deferSqlitePostCommitPublication(database.db, () => onCommitted(receipt))) throw new Error("Operator approval commit receipt requires a transaction owner"); } assertCurrent(); return result; }, options); }); } //#endregion export { executeNativeOperatorApproval };