@adonis-agora/agent
Version:
Governed, durable-backed AI agent (chat + tool-calling + governance) for AdonisJS — part of the Agora ecosystem.
24 lines • 817 B
JavaScript
import { dialectOf } from './sql-dialect.js';
let sqliteWriter = Promise.resolve();
/**
* A synchronous SQLite driver cannot wait for another writer in this process while that writer
* needs the JS event loop to finish its transaction. Queue our own transactions before opening
* them; actual database locks and proposal version fences still govern other processes.
*/
export async function withStoreTransaction(db, callback) {
if (!/sqlite/i.test(dialectOf(db)))
return db.transaction(callback);
const previous = sqliteWriter;
let release;
sqliteWriter = new Promise((resolve) => {
release = resolve;
});
await previous;
try {
return await db.transaction(callback);
}
finally {
release();
}
}
//# sourceMappingURL=sqlite-transactions.js.map