orez 0.4.39 → 0.4.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"native-postgres.d.ts","sourceRoot":"","sources":["../src/native-postgres.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;IACjE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,CAAA;IACpB,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,UAAU,CAAA;IACf,gBAAgB,EAAE,KAAK,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,CAAA;IAC5B,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC;;;OAGG;IACH,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CACzC;AAsID,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAuLzB"}
1
+ {"version":3,"file":"native-postgres.d.ts","sourceRoot":"","sources":["../src/native-postgres.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;IACjE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,UAAU,CAAA;IACpB,GAAG,EAAE,UAAU,CAAA;IACf,GAAG,EAAE,UAAU,CAAA;IACf,gBAAgB,EAAE,KAAK,EAAE,CAAA;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,iBAAiB,CAAA;IAC5B,mEAAmE;IACnE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB;;;;OAIG;IACH,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACnC;;;OAGG;IACH,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;CACzC;AA0JD,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CA8MzB"}
@@ -16,6 +16,18 @@ const ZERO_DATABASES = ['zero_cvr', 'zero_cdb'];
16
16
  // synchronous_commit=off matches the durability posture of the pglite
17
17
  // backend (relaxedDurability): fast writes, no corruption risk, at most the
18
18
  // last moments of commits lost on a hard crash.
19
+ //
20
+ // the timeout + keepalive flags make the cluster self-healing against the
21
+ // backends a SIGKILL'd zero-cache generation leaves behind. those clients die
22
+ // without closing their sockets, so their backends sit TCP-half-open — an
23
+ // idle-in-transaction change-streamer holding the migrate-schema advisory
24
+ // lock, or a session mid slot-snapshot holding an open xid — and every later
25
+ // zero-cache boot deadlocks on them (ensureSchemaMigrated lock_timeout,
26
+ // CREATE_REPLICATION_SLOT 55P03) until something reaps them. orez's
27
+ // terminateZeroBackends sweep is the fast path; these flags are the backstop
28
+ // postgres applies even when the sweep can't run (e.g. under OOM/swap
29
+ // thrash). sessions that legitimately idle in a transaction opt out with
30
+ // SET LOCAL, which zero-cache's shadow-sync snapshot holder already does.
19
31
  const SERVER_FLAGS = [
20
32
  '-c',
21
33
  'wal_level=logical',
@@ -25,6 +37,14 @@ const SERVER_FLAGS = [
25
37
  'synchronous_commit=off',
26
38
  '-c',
27
39
  'unix_socket_directories=',
40
+ '-c',
41
+ 'idle_in_transaction_session_timeout=120000',
42
+ '-c',
43
+ 'tcp_keepalives_idle=15',
44
+ '-c',
45
+ 'tcp_keepalives_interval=5',
46
+ '-c',
47
+ 'tcp_keepalives_count=3',
28
48
  ];
29
49
  /**
30
50
  * resolve a transitive dependency of embedded-postgres (the platform binary
@@ -235,25 +255,42 @@ export async function startNativePostgres(config) {
235
255
  // zero_cvr + zero_cdb.
236
256
  const ORPHAN_FILTER = `pid <> pg_backend_pid() AND application_name LIKE 'zero-%'`;
237
257
  const terminateZeroBackends = async () => {
238
- const listOrphans = async () => (await upstream.query(`SELECT pid FROM pg_stat_activity WHERE ${ORPHAN_FILTER}`)).rows;
258
+ const listOrphans = async () => (await upstream.query(`SELECT pid, state, left(query, 120) AS query
259
+ FROM pg_stat_activity WHERE ${ORPHAN_FILTER}`)).rows;
239
260
  try {
240
261
  const orphans = await listOrphans();
241
262
  if (orphans.length === 0)
242
263
  return 0;
243
- await upstream.exec(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE ${ORPHAN_FILTER}`);
244
264
  // pg_terminate_backend only signals; the backend exits and releases its
245
- // slot/locks a moment later. wait for the orphans to actually clear so the
246
- // next zero-cache doesn't race a still-active walsender (up to ~2s).
247
- for (let i = 0; i < 20; i++) {
265
+ // slot/locks a moment later. re-signal on every check: a single signal
266
+ // can be swallowed by a backend stuck in an uninterruptible wait (disk
267
+ // I/O under swap thrash the exact conditions these orphans appear in),
268
+ // and launching zero-cache while a survivor still holds the
269
+ // migrate-schema advisory lock or an open xid guarantees a doomed
270
+ // 30s+crash cycle.
271
+ let remaining = orphans;
272
+ for (let i = 0; i < 50 && remaining.length > 0; i++) {
273
+ await upstream.exec(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE ${ORPHAN_FILTER}`);
248
274
  await new Promise((r) => setTimeout(r, 100));
249
- if ((await listOrphans()).length === 0)
250
- break;
275
+ remaining = await listOrphans();
276
+ }
277
+ if (remaining.length > 0) {
278
+ // loud on purpose: a surviving orphan means the next zero-cache boot
279
+ // will very likely wedge on it. this must be visible in the log next
280
+ // to the crash it causes, not buried at debug level.
281
+ log.orez(`WARNING: ${remaining.length} zero-cache backend(s) survived termination: ` +
282
+ remaining
283
+ .map((o) => `pid ${o.pid} (${o.state ?? '?'}) ${o.query ?? ''}`.trim())
284
+ .join('; '));
251
285
  }
252
- log.orez(`terminated ${orphans.length} orphaned zero-cache backend(s)`);
253
- return orphans.length;
286
+ log.orez(`terminated ${orphans.length - remaining.length} orphaned zero-cache backend(s)`);
287
+ return orphans.length - remaining.length;
254
288
  }
255
289
  catch (err) {
256
- log.debug.pg(`terminateZeroBackends failed: ${err}`);
290
+ // not debug: if the sweep itself fails (connection refused, pool
291
+ // saturated), the launch that follows starts against a dirty cluster
292
+ // and the resulting lock_timeout crash needs this line to explain it.
293
+ log.orez(`WARNING: zero backend sweep failed: ${err}`);
257
294
  return 0;
258
295
  }
259
296
  };
@@ -1 +1 @@
1
- {"version":3,"file":"native-postgres.js","sourceRoot":"","sources":["../src/native-postgres.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-postgres.js","sourceRoot":"","sources":["../src/native-postgres.ts"],"names":[],"mappings":"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"}
@@ -1,29 +1,39 @@
1
1
  /**
2
2
  * neutralize zero-cache's litestream replica restore for orez.
3
3
  *
4
- * zero 1.5's dedicated change-streamer worker unconditionally calls
5
- * `restoreReplica()` on startup whenever the change-log already has rows
6
- * (i.e. on every restart after the first replication). it assumes a litestream
7
- * backup exists to restore the SQLite replica from. orez has no litestream
8
- * backup it owns the replica on disk directly — so the restore throws
9
- * "Missing --litestream-executable" (or "Missing required value" for the backup
10
- * URL), which zero logs as an error and "recovers" from by wastefully
11
- * re-syncing the entire replica from scratch.
4
+ * zero's dedicated change-streamer worker unconditionally calls
5
+ * `restoreReplica()` on startup whenever the change-log already has rows.
6
+ * it assumes a litestream backup exists to restore the SQLite replica from.
7
+ * orez has no litestream backup it owns the replica on disk directly so
8
+ * without a guard the restore throws "Missing --litestream-executable" (or
9
+ * "Missing required value" for the backup URL) after a retry, which zero
10
+ * logs at error level on every warm restart.
12
11
  *
13
12
  * the correct config gate doesn't exist for the dedicated change-streamer:
14
- * - leaving litestream unconfigured -> the error above + resync.
13
+ * - leaving litestream unconfigured -> the noisy double-attempt error above.
15
14
  * - setting ZERO_LITESTREAM_BACKUP_URL to satisfy the restore -> switches the
16
15
  * replicator into "serving-copy" mode (VACUUM INTO a copy on every start)
17
16
  * and spawns a backup worker + litestream `replicate` subprocess. wrong for
18
17
  * an ephemeral dev backend.
19
18
  *
20
- * so we patch the compiled `restoreReplica` to be a no-op when no litestream
21
- * backup URL is configured. zero's own dispatcher (`main.js`) already gates all
22
- * backup/restore work behind `litestream.backupURL`; this brings the dedicated
23
- * change-streamer in line. a no-op restore leaves orez's existing local replica
24
- * in place with the purge-lock held identical to the path where a real
25
- * restore found a backup matching the current replica so the change-streamer
26
- * resumes from the local replica and releases the lock on ownership assumption.
19
+ * so we patch the compiled `restoreReplica` for the no-backup case. the guard
20
+ * must preserve upstream's LOCK-RELEASE semantics, not just silence the error:
21
+ * the change-streamer acquires a changeLog purge lock before restoring — an
22
+ * open `SELECT ... FOR SHARE` transaction, which holds a real xid — and its
23
+ * caller only releases that lock when restoreReplica THROWS. a plain
24
+ * `return` here (the original v1 guard) kept the lock held into
25
+ * `initializePostgresChangeSource`; whenever the local replica was missing
26
+ * (unclean shutdown, cache-only reset), initial sync then ran with the lock
27
+ * still open and `CREATE_REPLICATION_SLOT` waited on our own transaction's
28
+ * xid — a deterministic self-deadlock, crash-looping the change-streamer on
29
+ * `ensureSchemaMigrated`/55P03 lock timeouts until the change db was dropped.
30
+ *
31
+ * throwing `BackupNotFoundException` mirrors what unpatched zero does when
32
+ * litestream config is absent (its `must(backupURL)` throws and the caller
33
+ * releases the lock, logs at warn, and proceeds): a valid local replica is
34
+ * resumed exactly as before, an invalid/missing one initial-syncs lock-free.
35
+ * the purge lock only exists to fence multi-node purge races during a real
36
+ * backup restore; single-node orez has neither.
27
37
  *
28
38
  * this mirrors orez's existing in-place patching of @rocicorp/zero-sqlite3
29
39
  * (see sqlite-mode/apply-mode.ts). it is idempotent and only touches orez's
@@ -33,7 +43,7 @@
33
43
  /**
34
44
  * apply the restore-guard to a specific compiled litestream commands.js —
35
45
  * shared by the in-place node path and the CF overlay (cf-patches.ts).
36
- * idempotent.
46
+ * idempotent; upgrades a v1 guard in place.
37
47
  */
38
48
  export declare function applyLitestreamRestoreGuard(commandsPath: string): void;
39
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zero-litestream-patch.d.ts","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAwCH;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAgBtE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAInD"}
1
+ {"version":3,"file":"zero-litestream-patch.d.ts","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAmDH;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CA8BtE;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAInD"}
@@ -1,29 +1,39 @@
1
1
  /**
2
2
  * neutralize zero-cache's litestream replica restore for orez.
3
3
  *
4
- * zero 1.5's dedicated change-streamer worker unconditionally calls
5
- * `restoreReplica()` on startup whenever the change-log already has rows
6
- * (i.e. on every restart after the first replication). it assumes a litestream
7
- * backup exists to restore the SQLite replica from. orez has no litestream
8
- * backup it owns the replica on disk directly — so the restore throws
9
- * "Missing --litestream-executable" (or "Missing required value" for the backup
10
- * URL), which zero logs as an error and "recovers" from by wastefully
11
- * re-syncing the entire replica from scratch.
4
+ * zero's dedicated change-streamer worker unconditionally calls
5
+ * `restoreReplica()` on startup whenever the change-log already has rows.
6
+ * it assumes a litestream backup exists to restore the SQLite replica from.
7
+ * orez has no litestream backup it owns the replica on disk directly so
8
+ * without a guard the restore throws "Missing --litestream-executable" (or
9
+ * "Missing required value" for the backup URL) after a retry, which zero
10
+ * logs at error level on every warm restart.
12
11
  *
13
12
  * the correct config gate doesn't exist for the dedicated change-streamer:
14
- * - leaving litestream unconfigured -> the error above + resync.
13
+ * - leaving litestream unconfigured -> the noisy double-attempt error above.
15
14
  * - setting ZERO_LITESTREAM_BACKUP_URL to satisfy the restore -> switches the
16
15
  * replicator into "serving-copy" mode (VACUUM INTO a copy on every start)
17
16
  * and spawns a backup worker + litestream `replicate` subprocess. wrong for
18
17
  * an ephemeral dev backend.
19
18
  *
20
- * so we patch the compiled `restoreReplica` to be a no-op when no litestream
21
- * backup URL is configured. zero's own dispatcher (`main.js`) already gates all
22
- * backup/restore work behind `litestream.backupURL`; this brings the dedicated
23
- * change-streamer in line. a no-op restore leaves orez's existing local replica
24
- * in place with the purge-lock held identical to the path where a real
25
- * restore found a backup matching the current replica so the change-streamer
26
- * resumes from the local replica and releases the lock on ownership assumption.
19
+ * so we patch the compiled `restoreReplica` for the no-backup case. the guard
20
+ * must preserve upstream's LOCK-RELEASE semantics, not just silence the error:
21
+ * the change-streamer acquires a changeLog purge lock before restoring — an
22
+ * open `SELECT ... FOR SHARE` transaction, which holds a real xid — and its
23
+ * caller only releases that lock when restoreReplica THROWS. a plain
24
+ * `return` here (the original v1 guard) kept the lock held into
25
+ * `initializePostgresChangeSource`; whenever the local replica was missing
26
+ * (unclean shutdown, cache-only reset), initial sync then ran with the lock
27
+ * still open and `CREATE_REPLICATION_SLOT` waited on our own transaction's
28
+ * xid — a deterministic self-deadlock, crash-looping the change-streamer on
29
+ * `ensureSchemaMigrated`/55P03 lock timeouts until the change db was dropped.
30
+ *
31
+ * throwing `BackupNotFoundException` mirrors what unpatched zero does when
32
+ * litestream config is absent (its `must(backupURL)` throws and the caller
33
+ * releases the lock, logs at warn, and proceeds): a valid local replica is
34
+ * resumed exactly as before, an invalid/missing one initial-syncs lock-free.
35
+ * the purge lock only exists to fence multi-node purge races during a real
36
+ * backup restore; single-node orez has neither.
27
37
  *
28
38
  * this mirrors orez's existing in-place patching of @rocicorp/zero-sqlite3
29
39
  * (see sqlite-mode/apply-mode.ts). it is idempotent and only touches orez's
@@ -33,11 +43,21 @@
33
43
  import { existsSync, readFileSync, writeFileSync } from 'node:fs';
34
44
  import { dirname, resolve } from 'node:path';
35
45
  import { resolvePackage } from './sqlite-mode/package-resolve.js';
36
- const OREZ_MARKER = '/* orez: litestream restore disabled (no backup configured) */';
37
- // the early-return guard injected at the top of restoreReplica's body. when
38
- // no backup URL is configured there is nothing to restore, so the local
39
- // replica is used as-is and the change-streamer resumes from it.
40
- const GUARD = `${OREZ_MARKER}\n\tif (!config.litestream?.backupURL) return;`;
46
+ const OREZ_MARKER = '/* orez: litestream restore disabled (no backup configured) — v2 */';
47
+ // the previous guard generation: silenced the error but swallowed the throw
48
+ // the caller relies on to release the changeLog purge lock (see header).
49
+ // stripped on sight so upgrades replace it instead of stacking guards.
50
+ const OREZ_MARKER_V1 = '/* orez: litestream restore disabled (no backup configured) */';
51
+ const GUARD_V1 = `${OREZ_MARKER_V1}\n\tif (!config.litestream?.backupURL) return;`;
52
+ // the guard injected at the top of restoreReplica's body. when no backup URL
53
+ // is configured there is nothing to restore; surfacing not-found makes the
54
+ // caller release the purge lock before any initial sync (the deadlock fix),
55
+ // while callers without a lock (replicaConstraints == null) just proceed.
56
+ const GUARD = `${OREZ_MARKER}
57
+ if (!config.litestream?.backupURL) {
58
+ if (replicaConstraints) throw new BackupNotFoundException("(litestream disabled)");
59
+ return;
60
+ }`;
41
61
  /** locate the compiled litestream commands.js inside the resolved @rocicorp/zero */
42
62
  function findLitestreamCommands() {
43
63
  const zeroEntry = resolvePackage('@rocicorp/zero');
@@ -58,12 +78,24 @@ function findLitestreamCommands() {
58
78
  /**
59
79
  * apply the restore-guard to a specific compiled litestream commands.js —
60
80
  * shared by the in-place node path and the CF overlay (cf-patches.ts).
61
- * idempotent.
81
+ * idempotent; upgrades a v1 guard in place.
62
82
  */
63
83
  export function applyLitestreamRestoreGuard(commandsPath) {
64
- const content = readFileSync(commandsPath, 'utf-8');
65
- if (content.includes(OREZ_MARKER))
84
+ let content = readFileSync(commandsPath, 'utf-8');
85
+ // strip the v1 guard BEFORE the already-patched check: a v1-era orez run
86
+ // against an already-v2-patched file re-injects v1 above the v2 guard
87
+ // (its marker check doesn't recognize v2), and v1's early `return` then
88
+ // shadows the fix. checking the v2 marker first would return early here
89
+ // and leave that stacked v1 in place. observed live on 2026-07-07.
90
+ const hadV1 = content.includes(GUARD_V1);
91
+ if (hadV1) {
92
+ content = content.replace(`\n\t${GUARD_V1}`, '');
93
+ }
94
+ if (content.includes(OREZ_MARKER)) {
95
+ if (hadV1)
96
+ writeFileSync(commandsPath, content);
66
97
  return; // already patched
98
+ }
67
99
  const anchor = 'async function restoreReplica(lc, config, replicaConstraints) {';
68
100
  if (!content.includes(anchor)) {
69
101
  // upstream shape changed — fail loudly rather than silently leaving the
@@ -1 +1 @@
1
- {"version":3,"file":"zero-litestream-patch.js","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEjE,MAAM,WAAW,GAAG,gEAAgE,CAAA;AAEpF,4EAA4E;AAC5E,wEAAwE;AACxE,iEAAiE;AACjE,MAAM,KAAK,GAAG,GAAG,WAAW,gDAAgD,CAAA;AAE5E,oFAAoF;AACpF,SAAS,sBAAsB;IAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EACH,KAAK,EACL,YAAY,EACZ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,aAAa,CACd,CAAA;IACD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAM,CAAC,kBAAkB;IAE5D,MAAM,MAAM,GAAG,iEAAiE,CAAA;IAChF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,KAAK,CACb,+FAA+F,YAAY,IAAI;YAC7G,mEAAmE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,KAAK,EAAE,CAAC,CAAA;IAChE,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC,YAAY;QAAE,OAAM;IACzB,2BAA2B,CAAC,YAAY,CAAC,CAAA;AAC3C,CAAC"}
1
+ {"version":3,"file":"zero-litestream-patch.js","sourceRoot":"","sources":["../src/zero-litestream-patch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEjE,MAAM,WAAW,GAAG,qEAAqE,CAAA;AAEzF,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AACvE,MAAM,cAAc,GAAG,gEAAgE,CAAA;AACvF,MAAM,QAAQ,GAAG,GAAG,cAAc,gDAAgD,CAAA;AAElF,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,0EAA0E;AAC1E,MAAM,KAAK,GAAG,GAAG,WAAW;;;;GAIzB,CAAA;AAEH,oFAAoF;AACpF,SAAS,sBAAsB;IAC7B,MAAM,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAE3B,8EAA8E;IAC9E,sEAAsE;IACtE,IAAI,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAC5B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,GAAG;YAAE,MAAK;QACzB,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IAED,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EACH,KAAK,EACL,YAAY,EACZ,KAAK,EACL,UAAU,EACV,YAAY,EACZ,aAAa,CACd,CAAA;IACD,OAAO,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,YAAoB;IAC9D,IAAI,OAAO,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;IAEjD,yEAAyE;IACzE,sEAAsE;IACtE,wEAAwE;IACxE,wEAAwE;IACxE,mEAAmE;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACxC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK;YAAE,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC/C,OAAM,CAAC,kBAAkB;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,iEAAiE,CAAA;IAChF,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,KAAK,CACb,+FAA+F,YAAY,IAAI;YAC7G,mEAAmE,CACtE,CAAA;IACH,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,OAAO,KAAK,EAAE,CAAC,CAAA;IAChE,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B;IAC1C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC,YAAY;QAAE,OAAM;IACzB,2BAA2B,CAAC,YAAY,CAAC,CAAA;AAC3C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.4.39",
3
+ "version": "0.4.41",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -87,7 +87,7 @@
87
87
  "@electric-sql/pglite": "0.4.1",
88
88
  "@electric-sql/pglite-tools": "^0.3.1",
89
89
  "@pgsql/traverse": "17.2.6",
90
- "bedrock-sqlite": "0.4.39",
90
+ "bedrock-sqlite": "0.4.41",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",