diff --git a/packages/opencode/src/sync/index.ts b/packages/opencode/src/sync/index.ts index 1c3798dea0..f320f49357 100644 --- a/packages/opencode/src/sync/index.ts +++ b/packages/opencode/src/sync/index.ts @@ -235,22 +235,24 @@ export namespace SyncEvent { throw new Error(`SyncEvent.run: running old versions of events is not allowed: ${def.type}`) } - Database.transaction( - (tx) => { - const id = EventID.ascending() - const row = tx - .select({ seq: EventSequenceTable.seq }) - .from(EventSequenceTable) - .where(eq(EventSequenceTable.aggregate_id, agg)) - .get() - const seq = row?.seq != null ? row.seq + 1 : 0 + yield* Effect.sync(() => + Database.transaction( + (tx) => { + const id = EventID.ascending() + const row = tx + .select({ seq: EventSequenceTable.seq }) + .from(EventSequenceTable) + .where(eq(EventSequenceTable.aggregate_id, agg)) + .get() + const seq = row?.seq != null ? row.seq + 1 : 0 - const event = { id, seq, aggregateID: agg, data } - process(def, event, { publish: true }) - }, - { - behavior: "immediate", - }, + const event = { id, seq, aggregateID: agg, data } + process(def, event, { publish: true }) + }, + { + behavior: "immediate", + }, + ), ) })