UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

34 lines (33 loc) • 1.41 kB
import { s as OPENCLAW_SQLITE_BUSY_TIMEOUT_MS } from "../../openclaw-state-db-contract-CQDemVBb.mjs"; import { a as runSqliteImmediateTransactionSync, t as assertTransactionUsable } from "../../sqlite-transaction-DlnLAQiX.mjs"; import { V as recordContextEngineTurnOutboxSchemaCommitted } from "../../openclaw-agent-db-validation-cache-D5sa3PLF.mjs"; import { n as executeContextEngineTurnOutboxCommand } from "../../context-engine-turn-outbox-iwoy2a8g.mjs"; //#region src/agents/harness/context-engine-turn-outbox.worker.ts /** Borrows the canonical agent connection for one admitted outbox operation. */ function bindSqliteWorkerBackend(_input, context) { const db = context.database; return { execute(command) { return runSqliteImmediateTransactionSync(db, () => { context.admit("transaction"); return executeContextEngineTurnOutboxCommand(db, command); }, { operationLabel: `context-engine.turn-outbox.${command.type}`, busyTimeoutMs: OPENCLAW_SQLITE_BUSY_TIMEOUT_MS, databaseLabel: context.databasePath, withCommit(commit) { context.admit("commit"); commit(); recordContextEngineTurnOutboxSchemaCommitted(db); } }); }, assertSettled() { assertTransactionUsable(db); if (db.isTransaction) throw new Error("Context-engine turn outbox transaction did not settle"); }, close() {} }; } //#endregion export { bindSqliteWorkerBackend };