orez 0.4.5 → 0.4.7

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.
Files changed (42) hide show
  1. package/dist/cf-do/tx-journal.d.ts +62 -0
  2. package/dist/cf-do/tx-journal.d.ts.map +1 -0
  3. package/dist/cf-do/tx-journal.js +163 -0
  4. package/dist/cf-do/tx-journal.js.map +1 -0
  5. package/dist/cf-do/worker.d.ts +15 -2
  6. package/dist/cf-do/worker.d.ts.map +1 -1
  7. package/dist/cf-do/worker.js +46 -8
  8. package/dist/cf-do/worker.js.map +1 -1
  9. package/dist/pg-proxy-browser.d.ts.map +1 -1
  10. package/dist/pg-proxy-browser.js +127 -15
  11. package/dist/pg-proxy-browser.js.map +1 -1
  12. package/dist/pg-proxy-do-backend.d.ts +2 -5
  13. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  14. package/dist/pg-proxy-do-backend.js +36 -63
  15. package/dist/pg-proxy-do-backend.js.map +1 -1
  16. package/dist/pg-proxy.d.ts.map +1 -1
  17. package/dist/pg-proxy.js +73 -17
  18. package/dist/pg-proxy.js.map +1 -1
  19. package/dist/replication/change-tracker.d.ts +28 -0
  20. package/dist/replication/change-tracker.d.ts.map +1 -1
  21. package/dist/replication/change-tracker.js +53 -0
  22. package/dist/replication/change-tracker.js.map +1 -1
  23. package/dist/replication/handler.d.ts +13 -0
  24. package/dist/replication/handler.d.ts.map +1 -1
  25. package/dist/replication/handler.js +145 -36
  26. package/dist/replication/handler.js.map +1 -1
  27. package/dist/worker/cf-patches.d.ts.map +1 -1
  28. package/dist/worker/cf-patches.js +17 -0
  29. package/dist/worker/cf-patches.js.map +1 -1
  30. package/dist/worker/local-sql-backend.d.ts +35 -0
  31. package/dist/worker/local-sql-backend.d.ts.map +1 -0
  32. package/dist/worker/local-sql-backend.js +106 -0
  33. package/dist/worker/local-sql-backend.js.map +1 -0
  34. package/dist/worker/zero-cache-embed-cf.d.ts +1 -11
  35. package/dist/worker/zero-cache-embed-cf.d.ts.map +1 -1
  36. package/dist/worker/zero-cache-embed-cf.js +56 -14
  37. package/dist/worker/zero-cache-embed-cf.js.map +1 -1
  38. package/dist/zero-litestream-patch.d.ts +6 -0
  39. package/dist/zero-litestream-patch.d.ts.map +1 -1
  40. package/dist/zero-litestream-patch.js +15 -7
  41. package/dist/zero-litestream-patch.js.map +1 -1
  42. package/package.json +2 -2
@@ -0,0 +1,106 @@
1
+ /**
2
+ * embed-local SQL backend: serves the DoBackend HTTP protocol (/exec, /batch,
3
+ * /commit-tx, /rollback-tx) directly against the Durable Object's OWN SQLite
4
+ * storage, with no cross-DO hop.
5
+ *
6
+ * zero-cache's CVR and change DBs are private state of the view-syncer /
7
+ * change-streamer running inside ZeroCacheDO — nothing else reads them. wiring
8
+ * their pg sessions to the remote ZeroSqlDO turned every CVR statement into a
9
+ * cross-DO HTTP round-trip (~270 POST /exec per IDE hydration measured live);
10
+ * keeping them local makes those statements synchronous storage calls while
11
+ * the DoBackend pg semantics stay byte-identical (same SQL translation, same
12
+ * tx journal, same endpoints).
13
+ *
14
+ * the upstream `postgres` db must NOT use this backend: it is shared with the
15
+ * app worker and lives in ZeroSqlDO.
16
+ */
17
+ import { commitTxJournal, recoverTxJournal, rollbackTxJournal, } from '../cf-do/tx-journal.js';
18
+ export function createLocalSqlBackend(storage) {
19
+ const sqlite = storage;
20
+ if (!sqlite || typeof sqlite.exec !== 'function') {
21
+ throw new Error('local sql backend: storage must expose exec()');
22
+ }
23
+ if (typeof sqlite.transactionSync !== 'function') {
24
+ throw new Error('local sql backend: storage must expose transactionSync()');
25
+ }
26
+ const sql = sqlite;
27
+ const journalSql = {
28
+ exec(query, ...params) {
29
+ // DO cursors are one-shot; materialize so toArray()/one() both work.
30
+ const rows = sql.exec(query, ...params).toArray();
31
+ return {
32
+ toArray: () => rows,
33
+ one: () => rows[0],
34
+ };
35
+ },
36
+ };
37
+ function executeStatement(statement) {
38
+ if (statement.track) {
39
+ // change tracking belongs to the shared upstream db (ZeroSqlDO); the
40
+ // local cvr/cdb stores are never replicated.
41
+ throw new Error('local sql backend: change tracking is not supported');
42
+ }
43
+ const cursor = sql.exec(statement.sql, ...(statement.params ?? []));
44
+ const rows = cursor.toArray().map((row) => ({ ...row }));
45
+ const columns = Array.isArray(cursor.columnNames)
46
+ ? cursor.columnNames
47
+ : rows.length > 0
48
+ ? Object.keys(rows[0])
49
+ : [];
50
+ return { rows, columns };
51
+ }
52
+ async function handle(request) {
53
+ const url = new URL(request.url);
54
+ const body = (await request.json().catch(() => ({})));
55
+ switch (url.pathname) {
56
+ case '/exec': {
57
+ const result = executeStatement({
58
+ sql: String(body.sql ?? ''),
59
+ params: Array.isArray(body.params) ? body.params : [],
60
+ track: body.track,
61
+ });
62
+ return Response.json(result);
63
+ }
64
+ case '/batch': {
65
+ const statements = Array.isArray(body.statements) ? body.statements : [];
66
+ const results = sql.transactionSync(() => statements
67
+ .map((statement) => typeof statement === 'string' ? { sql: statement } : statement)
68
+ .filter((statement) => statement?.sql?.trim())
69
+ .map((statement) => executeStatement(statement)));
70
+ return Response.json({ results });
71
+ }
72
+ case '/commit-tx': {
73
+ const transactionID = String(body.transactionID || '');
74
+ if (!transactionID)
75
+ throw new Error('missing transactionID');
76
+ sql.transactionSync(() => commitTxJournal(journalSql, transactionID));
77
+ return Response.json({ ok: true });
78
+ }
79
+ case '/rollback-tx': {
80
+ const transactionID = String(body.transactionID || '');
81
+ if (!transactionID)
82
+ throw new Error('missing transactionID');
83
+ sql.transactionSync(() => rollbackTxJournal(journalSql, transactionID));
84
+ return Response.json({ ok: true });
85
+ }
86
+ default:
87
+ return Response.json({ error: `local sql backend: unknown path ${url.pathname}` }, { status: 404 });
88
+ }
89
+ }
90
+ return {
91
+ async fetch(input, init) {
92
+ const request = new Request(input, init);
93
+ try {
94
+ return await handle(request);
95
+ }
96
+ catch (err) {
97
+ const message = err instanceof Error ? err.message : String(err);
98
+ return Response.json({ error: message }, { status: 500 });
99
+ }
100
+ },
101
+ recoverOrphanedTransactions() {
102
+ return sql.transactionSync(() => recoverTxJournal(journalSql));
103
+ },
104
+ };
105
+ }
106
+ //# sourceMappingURL=local-sql-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-sql-backend.js","sourceRoot":"","sources":["../../src/worker/local-sql-backend.ts"],"names":[],"mappings":"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"}
@@ -36,26 +36,16 @@
36
36
  * `shouldHibernateIdleZeroCache` in ./zero-cache-do-idle.ts.
37
37
  */
38
38
  import './shims/zero-process-env.js';
39
- import { DoBackend } from '../pg-proxy-do-backend.js';
40
39
  import { type DurableObjectWebSocketHandoffContext } from './durable-object-websocket-handoff.js';
41
40
  export interface ZeroCacheEmbedCFOptions {
42
41
  /** DO SQLite storage (also registered on globalThis.__orez_do_sqlite) */
43
42
  doSqlite: unknown;
44
- /**
45
- * base URL for the DO SQL execution endpoints (`/exec`, `/batch`).
46
- * ignored when `backends` is supplied.
47
- */
43
+ /** base URL for the DO SQL execution endpoints (`/exec`, `/batch`). */
48
44
  backendUrl?: string;
49
45
  /** custom fetch used by DoBackend; lets a DO route directly to another DO stub. */
50
46
  backendFetch?: typeof fetch;
51
47
  /** namespace sent to the DO SQL endpoints. */
52
48
  backendNamespace?: string;
53
- /** pre-created DoBackend instances. mainly useful for tests. */
54
- backends?: {
55
- postgres: DoBackend;
56
- cvr: DoBackend;
57
- cdb: DoBackend;
58
- };
59
49
  /** postgres username/password expected by the in-process proxy. */
60
50
  pgUser?: string;
61
51
  pgPassword?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed-cf.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,6BAA6B,CAAA;AAUpC,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAGL,KAAK,oCAAoC,EAE1C,MAAM,uCAAuC,CAAA;AAO9C,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,KAAK,CAAA;IAE3B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,gEAAgE;IAChE,QAAQ,CAAC,EAAE;QACT,QAAQ,EAAE,SAAS,CAAA;QACnB,GAAG,EAAE,SAAS,CAAA;QACd,GAAG,EAAE,SAAS,CAAA;KACf,CAAA;IAED,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;IAEvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAEhC;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAaD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAgS3B"}
1
+ {"version":3,"file":"zero-cache-embed-cf.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,6BAA6B,CAAA;AAapC,OAAO,EAGL,KAAK,oCAAoC,EAE1C,MAAM,uCAAuC,CAAA;AAQ9C,MAAM,WAAW,uBAAuB;IACtC,yEAAyE;IACzE,QAAQ,EAAE,OAAO,CAAA;IAEjB,uEAAuE;IACvE,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,mFAAmF;IACnF,YAAY,CAAC,EAAE,OAAO,KAAK,CAAA;IAE3B,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB,oCAAoC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAE5B,mEAAmE;IACnE,QAAQ,CAAC,EAAE,OAAO,KAAK,CAAA;IAEvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IAEvB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAEhC;;;;OAIG;IACH,aAAa,CACX,OAAO,EAAE,OAAO,EAChB,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAEpB,sBAAsB;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAuCD;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA0T3B"}
@@ -41,10 +41,32 @@ import { EventEmitter } from 'node:events';
41
41
  // zero-cache with all its transitive deps + our shim aliases.
42
42
  // @ts-expect-error — internal zero-cache module, no type declarations
43
43
  import { runWorker as _runWorker } from '@rocicorp/zero/out/zero-cache/src/server/runner/run-worker.js';
44
+ import { setLogLevel } from '../log.js';
44
45
  import { createBrowserProxy } from '../pg-proxy-browser.js';
45
46
  import { DoBackend } from '../pg-proxy-do-backend.js';
47
+ import { resetReplicationState } from '../replication/handler.js';
46
48
  import { DurableObjectWebSocketHandoff, } from './durable-object-websocket-handoff.js';
49
+ import { createLocalSqlBackend } from './local-sql-backend.js';
47
50
  const runWorkerFn = _runWorker;
51
+ // tx-journal owner id for every pg session this embed opens. recovery at
52
+ // embed boot targets exactly this owner, so it can never roll back another
53
+ // client's live transaction on the shared upstream db (e.g. the app worker's
54
+ // in-DO pg session).
55
+ const EMBED_TX_OWNER = 'orez-embed';
56
+ // roll back journaled transactions a dead embed generation left on the
57
+ // remote SQL DO (upstream db sessions killed mid-transaction).
58
+ async function recoverRemoteTransactions(url, backendFetch) {
59
+ const fetcher = backendFetch ?? fetch;
60
+ const resp = await fetcher(url, {
61
+ method: 'POST',
62
+ headers: { 'Content-Type': 'application/json' },
63
+ body: JSON.stringify({ owner: EMBED_TX_OWNER }),
64
+ });
65
+ if (!resp.ok) {
66
+ const text = await resp.text().catch(() => '');
67
+ throw new Error(`zero-cache CF embed: tx recovery failed: HTTP ${resp.status} ${text.slice(0, 500)}`);
68
+ }
69
+ }
48
70
  function addProtocolSessionFactory(backend, createProtocolSession) {
49
71
  return Object.assign(backend, { createProtocolSession });
50
72
  }
@@ -55,6 +77,17 @@ function addProtocolSessionFactory(backend, createProtocolSession) {
55
77
  * a DoBackend target for upstream/CVR/change Postgres connections.
56
78
  */
57
79
  export async function startZeroCacheEmbedCF(opts) {
80
+ // wire orez's own logger from env, mirroring the node path's setLogLevel
81
+ // (index.ts). without this, OREZ_LOG_LEVEL=debug on a CF deploy is silently
82
+ // ignored and the replication poll loop is undebuggable in tails.
83
+ setLogLevel(opts.env?.OREZ_LOG_LEVEL || 'warn');
84
+ // generation hermeticity: the isolate (module state) outlives a stop() —
85
+ // CF reuses it across DO instance recreation after idle-hibernation
86
+ // teardown. a fresh embed must start from the replication-handler state a
87
+ // fresh isolate would have (lsn floor, stream watermark, schema caches);
88
+ // the reconnect reconciliation in handleStartReplication is designed to
89
+ // resume from durable state, not from a prior generation's module vars.
90
+ resetReplicationState();
58
91
  const appId = opts.appId || 'zero';
59
92
  const publications = opts.publications?.join(',') || `orez_${appId}_public`;
60
93
  const readyTimeout = opts.readyTimeout ?? 30000;
@@ -62,22 +95,31 @@ export async function startZeroCacheEmbedCF(opts) {
62
95
  const pgPassword = opts.pgPassword || '';
63
96
  const backendUrl = opts.backendUrl || 'https://orez-do-backend.local';
64
97
  const backendNamespace = opts.backendNamespace || appId;
98
+ // zero-cache's CVR and change DBs are embed-private state; they live in
99
+ // THIS Durable Object's SQLite so their pg sessions never pay a cross-DO
100
+ // round-trip. only the shared upstream `postgres` db routes to ZeroSqlDO.
101
+ const localSql = createLocalSqlBackend(opts.doSqlite);
65
102
  const createBackend = (dbName) => new DoBackend(backendUrl, dbName, backendNamespace, {
66
- fetch: opts.backendFetch,
103
+ fetch: dbName === 'postgres' ? opts.backendFetch : localSql.fetch,
104
+ txOwner: EMBED_TX_OWNER,
67
105
  });
68
- const backends = opts.backends ??
69
- {
70
- postgres: createBackend('postgres'),
71
- cvr: createBackend('zero_cvr'),
72
- cdb: createBackend('zero_cdb'),
73
- };
74
- const proxyBackends = opts.backends
75
- ? backends
76
- : {
77
- postgres: addProtocolSessionFactory(backends.postgres, () => createBackend('postgres')),
78
- cvr: addProtocolSessionFactory(backends.cvr, () => createBackend('zero_cvr')),
79
- cdb: addProtocolSessionFactory(backends.cdb, () => createBackend('zero_cdb')),
80
- };
106
+ // crash recovery: this embed boot proves the previous embed generation is
107
+ // dead, so any journaled transaction it left mid-flight (DO eviction,
108
+ // deploy upgrade-kill) is rolled back BEFORE any pg session opens. without
109
+ // this, a partially-persisted tx (e.g. the change-streamer's cdc changeLog
110
+ // write) wedges replication on every subsequent boot.
111
+ localSql.recoverOrphanedTransactions();
112
+ await recoverRemoteTransactions(`${backendUrl.replace(/\/+$/, '')}/recover-txs?db=postgres&ns=${encodeURIComponent(backendNamespace)}`, opts.backendFetch);
113
+ const backends = {
114
+ postgres: createBackend('postgres'),
115
+ cvr: createBackend('zero_cvr'),
116
+ cdb: createBackend('zero_cdb'),
117
+ };
118
+ const proxyBackends = {
119
+ postgres: addProtocolSessionFactory(backends.postgres, () => createBackend('postgres')),
120
+ cvr: addProtocolSessionFactory(backends.cvr, () => createBackend('zero_cvr')),
121
+ cdb: addProtocolSessionFactory(backends.cdb, () => createBackend('zero_cdb')),
122
+ };
81
123
  await Promise.all([
82
124
  backends.postgres.waitReady,
83
125
  backends.cvr.waitReady,
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed-cf.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-cache-embed-cf.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,12 @@
30
30
  * own resolved @rocicorp/zero, which is what every orez launch path (node
31
31
  * spawn, node in-process, and the browser bundle built from these files) loads.
32
32
  */
33
+ /**
34
+ * apply the restore-guard to a specific compiled litestream commands.js —
35
+ * shared by the in-place node path and the CF overlay (cf-patches.ts).
36
+ * idempotent.
37
+ */
38
+ export declare function applyLitestreamRestoreGuard(commandsPath: string): void;
33
39
  /**
34
40
  * patch zero-cache so the change-streamer's replica restore is a no-op when
35
41
  * no litestream backup is configured. idempotent and safe to call on every
@@ -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,4BAA4B,IAAI,IAAI,CAmBnD"}
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"}
@@ -56,14 +56,11 @@ function findLitestreamCommands() {
56
56
  return existsSync(commandsPath) ? commandsPath : null;
57
57
  }
58
58
  /**
59
- * patch zero-cache so the change-streamer's replica restore is a no-op when
60
- * no litestream backup is configured. idempotent and safe to call on every
61
- * startup.
59
+ * apply the restore-guard to a specific compiled litestream commands.js —
60
+ * shared by the in-place node path and the CF overlay (cf-patches.ts).
61
+ * idempotent.
62
62
  */
63
- export function disableZeroLitestreamRestore() {
64
- const commandsPath = findLitestreamCommands();
65
- if (!commandsPath)
66
- return;
63
+ export function applyLitestreamRestoreGuard(commandsPath) {
67
64
  const content = readFileSync(commandsPath, 'utf-8');
68
65
  if (content.includes(OREZ_MARKER))
69
66
  return; // already patched
@@ -77,4 +74,15 @@ export function disableZeroLitestreamRestore() {
77
74
  const patched = content.replace(anchor, `${anchor}\n\t${GUARD}`);
78
75
  writeFileSync(commandsPath, patched);
79
76
  }
77
+ /**
78
+ * patch zero-cache so the change-streamer's replica restore is a no-op when
79
+ * no litestream backup is configured. idempotent and safe to call on every
80
+ * startup.
81
+ */
82
+ export function disableZeroLitestreamRestore() {
83
+ const commandsPath = findLitestreamCommands();
84
+ if (!commandsPath)
85
+ return;
86
+ applyLitestreamRestoreGuard(commandsPath);
87
+ }
80
88
  //# sourceMappingURL=zero-litestream-patch.js.map
@@ -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,4BAA4B;IAC1C,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAA;IAC7C,IAAI,CAAC,YAAY;QAAE,OAAM;IAEzB,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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
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.5",
90
+ "bedrock-sqlite": "0.4.7",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",