orez 0.2.20 → 0.2.25

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 (58) hide show
  1. package/dist/browser.d.ts +5 -0
  2. package/dist/browser.d.ts.map +1 -1
  3. package/dist/browser.js +1 -0
  4. package/dist/browser.js.map +1 -1
  5. package/dist/cf-do/test-protocol.d.ts +11 -0
  6. package/dist/cf-do/test-protocol.d.ts.map +1 -0
  7. package/dist/cf-do/test-protocol.js +137 -0
  8. package/dist/cf-do/test-protocol.js.map +1 -0
  9. package/dist/cf-do/worker.d.ts +65 -0
  10. package/dist/cf-do/worker.d.ts.map +1 -0
  11. package/dist/cf-do/worker.js +440 -0
  12. package/dist/cf-do/worker.js.map +1 -0
  13. package/dist/config.d.ts +4 -0
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +1 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/index.d.ts +2 -3
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +60 -28
  20. package/dist/index.js.map +1 -1
  21. package/dist/pg-proxy-do-backend.d.ts +49 -0
  22. package/dist/pg-proxy-do-backend.d.ts.map +1 -0
  23. package/dist/pg-proxy-do-backend.js +713 -0
  24. package/dist/pg-proxy-do-backend.js.map +1 -0
  25. package/dist/pglite-ipc.d.ts +3 -0
  26. package/dist/pglite-ipc.d.ts.map +1 -1
  27. package/dist/pglite-ipc.js +34 -12
  28. package/dist/pglite-ipc.js.map +1 -1
  29. package/dist/pglite-web-proxy.d.ts +3 -0
  30. package/dist/pglite-web-proxy.d.ts.map +1 -1
  31. package/dist/pglite-web-proxy.js +50 -7
  32. package/dist/pglite-web-proxy.js.map +1 -1
  33. package/dist/query-rewrites.d.ts +2 -0
  34. package/dist/query-rewrites.d.ts.map +1 -0
  35. package/dist/query-rewrites.js +140 -0
  36. package/dist/query-rewrites.js.map +1 -0
  37. package/dist/worker/browser-admin.d.ts +13 -0
  38. package/dist/worker/browser-admin.d.ts.map +1 -0
  39. package/dist/worker/browser-admin.js +33 -0
  40. package/dist/worker/browser-admin.js.map +1 -0
  41. package/dist/worker/browser-embed.d.ts +12 -12
  42. package/dist/worker/browser-embed.d.ts.map +1 -1
  43. package/dist/worker/browser-embed.js +7 -0
  44. package/dist/worker/browser-embed.js.map +1 -1
  45. package/package.json +2 -2
  46. package/src/browser.ts +7 -0
  47. package/src/config.ts +5 -0
  48. package/src/index.ts +66 -33
  49. package/src/pg-proxy-do-backend.ts +840 -0
  50. package/src/pglite-ipc.test.ts +17 -0
  51. package/src/pglite-ipc.ts +31 -12
  52. package/src/pglite-web-proxy.test.ts +57 -0
  53. package/src/pglite-web-proxy.ts +48 -7
  54. package/src/query-rewrites.test.ts +30 -0
  55. package/src/query-rewrites.ts +152 -0
  56. package/src/worker/browser-admin.ts +52 -0
  57. package/src/worker/browser-embed-admin.test.ts +75 -0
  58. package/src/worker/browser-embed.ts +21 -12
@@ -0,0 +1,440 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZeroDO = void 0;
4
+ // @ts-nocheck — cloudflare:workers types not available in orez
5
+ const cloudflare_workers_1 = require("cloudflare:workers");
6
+ // ── constants ─────────────────────────────────────────────────────────
7
+ const SCHEMA_VERSION = 1;
8
+ // ── Durable Object ────────────────────────────────────────────────────
9
+ class ZeroDO extends cloudflare_workers_1.DurableObject {
10
+ sql;
11
+ initialized = false;
12
+ // track which tables have been created from clientSchema
13
+ schemaTables = new Set();
14
+ constructor(ctx, env) {
15
+ super(ctx, env);
16
+ this.sql = ctx.storage.sql;
17
+ }
18
+ // ── fetch handler (HTTP + WebSocket upgrade) ────────────────────────
19
+ async fetch(request) {
20
+ this.ensureInternalTables();
21
+ const url = new URL(request.url);
22
+ if (request.method === 'OPTIONS') {
23
+ return new Response(null, {
24
+ headers: { 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, OPTIONS', 'Access-Control-Allow-Headers': '*' },
25
+ });
26
+ }
27
+ // Zero sync protocol WebSocket endpoint
28
+ if (url.pathname === '/sync/v49/connect') {
29
+ return this.handleSyncConnect(request, url);
30
+ }
31
+ // Push mutations via HTTP (used by app server to proxy pushes)
32
+ if (url.pathname === '/zero/push' && request.method === 'POST') {
33
+ return this.handleHttpPush(request);
34
+ }
35
+ return new Response('not found', { status: 404 });
36
+ }
37
+ // ── Zero sync protocol WebSocket handler ────────────────────────────
38
+ handleSyncConnect(request, url) {
39
+ if (request.headers.get('upgrade')?.toLowerCase() !== 'websocket') {
40
+ return new Response('expected websocket upgrade', { status: 426 });
41
+ }
42
+ const pair = new WebSocketPair();
43
+ const client = pair[0];
44
+ const socket = pair[1];
45
+ const clientID = url.searchParams.get('clientID') || 'anon';
46
+ const clientGroupID = url.searchParams.get('clientGroupID') || 'default';
47
+ const userID = url.searchParams.get('userID') || 'anon';
48
+ const baseCookieParam = url.searchParams.get('baseCookie');
49
+ this.ctx.acceptWebSocket(socket);
50
+ const attachment = {
51
+ clientID,
52
+ clientGroupID,
53
+ userID,
54
+ cookie: baseCookieParam || null,
55
+ desiredTableNames: [],
56
+ };
57
+ socket.serializeAttachment(attachment);
58
+ // Send connected message
59
+ this.sendJSON(socket, ['connected', { wsid: url.searchParams.get('wsid') || crypto.randomUUID(), timestamp: Date.now() }]);
60
+ // Decode init connection from Sec-WebSocket-Protocol header
61
+ const secProtocol = request.headers.get('sec-websocket-protocol');
62
+ const initData = secProtocol ? this.decodeInitConnection(secProtocol) : null;
63
+ if (initData) {
64
+ const clientSchema = initData[1]?.clientSchema;
65
+ const patch = (initData[1]?.desiredQueriesPatch || []);
66
+ this.applyDesiredQueries(socket, patch, clientSchema);
67
+ }
68
+ return new Response(null, {
69
+ status: 101,
70
+ headers: secProtocol ? { 'Sec-WebSocket-Protocol': secProtocol } : undefined,
71
+ webSocket: client,
72
+ });
73
+ }
74
+ // ── WebSocket message handler ───────────────────────────────────────
75
+ async webSocketMessage(socket, messageData) {
76
+ this.ensureInternalTables();
77
+ const socketState = socket;
78
+ const attachment = socketState.deserializeAttachment();
79
+ if (!attachment)
80
+ return;
81
+ const message = this.parseMessage(messageData);
82
+ if (!message)
83
+ return;
84
+ switch (message[0]) {
85
+ case 'initConnection':
86
+ case 'changeDesiredQueries': {
87
+ const patch = (message[1]?.desiredQueriesPatch || []);
88
+ const clientSchema = message[1]?.clientSchema;
89
+ this.applyDesiredQueries(socketState, patch, clientSchema);
90
+ break;
91
+ }
92
+ case 'push':
93
+ this.handlePush(socketState, attachment, message[1]);
94
+ break;
95
+ case 'ping':
96
+ this.sendJSON(socketState, ['pong', {}]);
97
+ break;
98
+ case 'deleteClients':
99
+ case 'closeConnection':
100
+ case 'ackMutationResponses':
101
+ case 'updateAuth':
102
+ // no-op for experiment
103
+ break;
104
+ }
105
+ }
106
+ async webSocketClose(socket, code, reason, wasClean) {
107
+ // cleanup if needed
108
+ }
109
+ // ── handle desired queries (initial data / query change) ────────────
110
+ applyDesiredQueries(socket, patch, clientSchema) {
111
+ const attachment = socket.deserializeAttachment();
112
+ if (!attachment)
113
+ return;
114
+ // Create tables from client schema
115
+ if (clientSchema) {
116
+ this.ensureSchemaTables(clientSchema);
117
+ }
118
+ // Track desired tables from AST references
119
+ const tableNames = this.resolveTablesFromPatch(patch);
120
+ const allTableNames = [...new Set([...attachment.desiredTableNames, ...tableNames])];
121
+ const nextAttachment = {
122
+ ...attachment,
123
+ desiredTableNames: allTableNames,
124
+ };
125
+ socket.serializeAttachment(nextAttachment);
126
+ // Send initial poke with all rows for desired tables
127
+ if (allTableNames.length > 0) {
128
+ const rowsPatch = [];
129
+ for (const tableName of allTableNames) {
130
+ if (!this.tableExists(tableName))
131
+ continue;
132
+ const rows = this.readAllRows(tableName);
133
+ for (const row of rows) {
134
+ rowsPatch.push({ op: 'put', tableName, value: row });
135
+ }
136
+ }
137
+ if (rowsPatch.length > 0) {
138
+ this.sendSyncPoke(socket, attachment, { rowsPatch });
139
+ }
140
+ }
141
+ }
142
+ // ── resolve table names from query AST ──────────────────────────────
143
+ resolveTablesFromPatch(patch) {
144
+ const tableNames = [];
145
+ for (const op of patch) {
146
+ if (!op.ast)
147
+ continue;
148
+ // Extract table references from the AST
149
+ const tables = this.extractTableFromAST(op.ast);
150
+ tableNames.push(...tables);
151
+ }
152
+ return tableNames;
153
+ }
154
+ extractTableFromAST(ast) {
155
+ const tables = [];
156
+ if (ast?.table)
157
+ tables.push(ast.table);
158
+ if (ast?.related) {
159
+ for (const rel of ast.related) {
160
+ if (rel?.subquery?.table)
161
+ tables.push(rel.subquery.table);
162
+ // recurse into nested related
163
+ if (rel?.subquery?.related) {
164
+ tables.push(...this.extractTableFromAST(rel.subquery));
165
+ }
166
+ }
167
+ }
168
+ return tables;
169
+ }
170
+ // ── handle push mutations ──────────────────────────────────────────
171
+ handlePush(socket, attachment, body) {
172
+ const mutations = Array.isArray(body?.mutations) ? body.mutations : [];
173
+ const beforeWatermark = this.currentWatermark();
174
+ const mutationResults = [];
175
+ const lastMutationIDChanges = {};
176
+ for (const mutation of mutations) {
177
+ if (mutation.type === 'crud' && mutation.name === '_zero_crud') {
178
+ this.applyCrudMutation(mutation);
179
+ }
180
+ mutationResults.push({
181
+ id: { clientID: mutation.clientID, id: mutation.id },
182
+ result: {},
183
+ });
184
+ lastMutationIDChanges[mutation.clientID] = mutation.id;
185
+ }
186
+ // Send push response
187
+ this.sendJSON(socket, ['pushResponse', { mutations: mutationResults }]);
188
+ // Build poke from changes
189
+ const afterWatermark = this.currentWatermark();
190
+ if (afterWatermark > beforeWatermark) {
191
+ const changes = this.readChangesSince(beforeWatermark);
192
+ const rowsPatch = changes.map((change) => this.syncRowPatchFromChange(change));
193
+ if (rowsPatch.length > 0) {
194
+ this.broadcastPoke(attachment.clientGroupID, { lastMutationIDChanges, rowsPatch });
195
+ }
196
+ }
197
+ }
198
+ // ── HTTP push (used by app server proxy) ────────────────────────────
199
+ async handleHttpPush(request) {
200
+ try {
201
+ const body = await request.json();
202
+ const mutations = Array.isArray(body?.mutations) ? body.mutations : [];
203
+ const beforeWatermark = this.currentWatermark();
204
+ for (const mutation of mutations) {
205
+ if (mutation.type === 'crud' && mutation.name === '_zero_crud') {
206
+ this.applyCrudMutation(mutation);
207
+ }
208
+ }
209
+ const afterWatermark = this.currentWatermark();
210
+ if (afterWatermark > beforeWatermark) {
211
+ const changes = this.readChangesSince(beforeWatermark);
212
+ const rowsPatch = changes.map((change) => this.syncRowPatchFromChange(change));
213
+ if (rowsPatch.length > 0) {
214
+ this.broadcastPoke('default', { rowsPatch });
215
+ }
216
+ }
217
+ return Response.json({ ok: true });
218
+ }
219
+ catch (err) {
220
+ return Response.json({ error: err.message }, { status: 500 });
221
+ }
222
+ }
223
+ // ── apply a single CRUD mutation ────────────────────────────────────
224
+ applyCrudMutation(mutation) {
225
+ const arg = mutation.args[0];
226
+ const ops = Array.isArray(arg?.ops) ? arg.ops : [];
227
+ for (const crud of ops) {
228
+ if (!crud || typeof crud !== 'object')
229
+ continue;
230
+ const tableName = crud.tableName;
231
+ if (!tableName || !this.tableExists(tableName))
232
+ continue;
233
+ const value = crud.value || {};
234
+ if (crud.op === 'insert' || crud.op === 'upsert') {
235
+ this.upsertRow(tableName, value);
236
+ }
237
+ else if (crud.op === 'update') {
238
+ this.updateRow(tableName, value, crud.primaryKey || []);
239
+ }
240
+ else if (crud.op === 'delete') {
241
+ this.deleteRow(tableName, value, crud.primaryKey || []);
242
+ }
243
+ }
244
+ }
245
+ // ── row operations ──────────────────────────────────────────────────
246
+ upsertRow(tableName, value) {
247
+ const columns = Object.keys(value);
248
+ if (columns.length === 0)
249
+ return;
250
+ const quotedCols = columns.map((c) => `"${c}"`).join(', ');
251
+ const placeholders = columns.map(() => '?').join(', ');
252
+ const updateSet = columns.map((c) => `"${c}" = ?`).join(', ');
253
+ this.sql.exec(`INSERT INTO "${tableName}" (${quotedCols}) VALUES (${placeholders}) ON CONFLICT DO UPDATE SET ${updateSet}`, ...columns.map((c) => value[c]), ...columns.map((c) => value[c]));
254
+ this.appendChange(tableName, 'INSERT', value, null);
255
+ }
256
+ updateRow(tableName, value, primaryKey) {
257
+ const nonKeyCols = Object.keys(value).filter((c) => !primaryKey.includes(c));
258
+ if (nonKeyCols.length === 0)
259
+ return;
260
+ const updateSet = nonKeyCols.map((c) => `"${c}" = ?`).join(', ');
261
+ const whereClause = primaryKey.map((c) => `"${c}" = ?`).join(' AND ');
262
+ this.sql.exec(`UPDATE "${tableName}" SET ${updateSet} WHERE ${whereClause}`, ...nonKeyCols.map((c) => value[c]), ...primaryKey.map((c) => value[c]));
263
+ this.appendChange(tableName, 'UPDATE', value, null);
264
+ }
265
+ deleteRow(tableName, value, primaryKey) {
266
+ const whereClause = primaryKey.map((c) => `"${c}" = ?`).join(' AND ');
267
+ this.sql.exec(`DELETE FROM "${tableName}" WHERE ${whereClause}`, ...primaryKey.map((c) => value[c]));
268
+ this.appendChange(tableName, 'DELETE', null, value);
269
+ }
270
+ // ── change tracking ─────────────────────────────────────────────────
271
+ appendChange(tableName, op, rowData, oldData) {
272
+ this.sql.exec('INSERT INTO _zero_changes (table_name, op, row_data, old_data) VALUES (?, ?, ?, ?)', tableName, op, rowData ? JSON.stringify(rowData) : null, oldData ? JSON.stringify(oldData) : null);
273
+ }
274
+ readChangesSince(watermark) {
275
+ const cursor = this.sql.exec('SELECT watermark, table_name, op, row_data, old_data FROM _zero_changes WHERE watermark > ? ORDER BY watermark', watermark);
276
+ return cursor.toArray().map((row) => ({
277
+ watermark: Number(row.watermark),
278
+ tableName: String(row.table_name),
279
+ op: String(row.op),
280
+ rowData: row.row_data ? JSON.parse(String(row.row_data)) : null,
281
+ oldData: row.old_data ? JSON.parse(String(row.old_data)) : null,
282
+ }));
283
+ }
284
+ currentWatermark() {
285
+ const row = this.sql.exec('SELECT COALESCE(MAX(watermark), 0) AS watermark FROM _zero_changes').one();
286
+ return row?.watermark ?? 0;
287
+ }
288
+ // ── table management ────────────────────────────────────────────────
289
+ ensureInternalTables() {
290
+ if (this.initialized)
291
+ return;
292
+ this.initialized = true;
293
+ this.sql.exec(`
294
+ CREATE TABLE IF NOT EXISTS _zero_changes (
295
+ watermark INTEGER PRIMARY KEY AUTOINCREMENT,
296
+ table_name TEXT NOT NULL,
297
+ op TEXT NOT NULL CHECK (op IN ('INSERT', 'UPDATE', 'DELETE')),
298
+ row_data TEXT,
299
+ old_data TEXT,
300
+ created_at INTEGER NOT NULL DEFAULT (unixepoch())
301
+ )
302
+ `);
303
+ }
304
+ ensureSchemaTables(clientSchema) {
305
+ for (const [name, def] of Object.entries(clientSchema.tables)) {
306
+ if (this.schemaTables.has(name))
307
+ continue;
308
+ this.createTable(name, def);
309
+ this.schemaTables.add(name);
310
+ }
311
+ }
312
+ createTable(name, def) {
313
+ const pkColumns = def.primaryKey.map((c) => `"${c}"`);
314
+ const pkClause = pkColumns.length > 0 ? `, PRIMARY KEY (${pkColumns.join(', ')})` : '';
315
+ const columnDefs = Object.entries(def.columns).map(([colName, colDef]) => {
316
+ const sqlType = this.mapZeroTypeToSQLite(colDef.type);
317
+ return `"${colName}" ${sqlType}`;
318
+ });
319
+ this.sql.exec(`CREATE TABLE IF NOT EXISTS "${name}" (${columnDefs.join(', ')}${pkClause})`);
320
+ }
321
+ mapZeroTypeToSQLite(zeroType) {
322
+ switch (zeroType) {
323
+ case 'string': return 'TEXT';
324
+ case 'number': return 'REAL';
325
+ case 'boolean': return 'INTEGER';
326
+ case 'json': return 'TEXT';
327
+ case 'bigint': return 'TEXT';
328
+ default: return 'TEXT';
329
+ }
330
+ }
331
+ tableExists(name) {
332
+ try {
333
+ const row = this.sql.exec(`SELECT name FROM sqlite_master WHERE type='table' AND name=?`, name).one();
334
+ return !!row;
335
+ }
336
+ catch {
337
+ return false;
338
+ }
339
+ }
340
+ readAllRows(tableName) {
341
+ try {
342
+ const cursor = this.sql.exec(`SELECT * FROM "${tableName}"`);
343
+ return cursor.toArray().map((row) => {
344
+ const result = {};
345
+ // SQLite DO returns columns as properties
346
+ for (const key of Object.keys(row)) {
347
+ result[key] = row[key];
348
+ }
349
+ return result;
350
+ });
351
+ }
352
+ catch {
353
+ return [];
354
+ }
355
+ }
356
+ // ── poke helpers ────────────────────────────────────────────────────
357
+ sendSyncPoke(socket, attachment, part) {
358
+ const watermark = this.currentWatermark();
359
+ const cookie = String(watermark).padStart(20, '0');
360
+ const pokeID = crypto.randomUUID();
361
+ this.sendJSON(socket, ['pokeStart', {
362
+ pokeID,
363
+ baseCookie: attachment.cookie,
364
+ schemaVersions: { minSupportedVersion: SCHEMA_VERSION, maxSupportedVersion: SCHEMA_VERSION },
365
+ timestamp: Date.now(),
366
+ }]);
367
+ this.sendJSON(socket, ['pokePart', { pokeID, ...part }]);
368
+ this.sendJSON(socket, ['pokeEnd', { pokeID, cookie }]);
369
+ socket.serializeAttachment({ ...attachment, cookie });
370
+ }
371
+ broadcastPoke(clientGroupID, part) {
372
+ const websockets = this.ctx.getWebSockets();
373
+ for (const ws of websockets) {
374
+ const socket = ws;
375
+ const attachment = socket.deserializeAttachment();
376
+ if (!attachment)
377
+ continue;
378
+ this.sendSyncPoke(socket, attachment, part);
379
+ }
380
+ }
381
+ syncRowPatchFromChange(change) {
382
+ if (change.op === 'DELETE') {
383
+ const id = change.oldData ? this.extractID(change.oldData) : {};
384
+ return { op: 'del', tableName: change.tableName, id };
385
+ }
386
+ return { op: 'put', tableName: change.tableName, value: change.rowData };
387
+ }
388
+ extractID(row) {
389
+ // For a simple id column, use it directly
390
+ if (row.id !== undefined)
391
+ return { id: row.id };
392
+ // Otherwise use first key
393
+ const key = Object.keys(row)[0];
394
+ return key ? { [key]: row[key] } : {};
395
+ }
396
+ // ── message helpers ─────────────────────────────────────────────────
397
+ sendJSON(socket, message) {
398
+ socket.send(JSON.stringify(message));
399
+ }
400
+ parseMessage(data) {
401
+ try {
402
+ const text = typeof data === 'string' ? data : new TextDecoder().decode(data);
403
+ return JSON.parse(text);
404
+ }
405
+ catch {
406
+ return null;
407
+ }
408
+ }
409
+ decodeInitConnection(secProtocol) {
410
+ try {
411
+ const decoded = atob(secProtocol);
412
+ return JSON.parse(decoded);
413
+ }
414
+ catch {
415
+ return null;
416
+ }
417
+ }
418
+ }
419
+ exports.ZeroDO = ZeroDO;
420
+ // ── Worker entry ───────────────────────────────────────────────────────
421
+ exports.default = {
422
+ async fetch(request, env) {
423
+ const url = new URL(request.url);
424
+ // Route to DO: /sync/v49/connect → named DO instance
425
+ if (url.pathname === '/sync/v49/connect') {
426
+ const clientGroupID = url.searchParams.get('clientGroupID') || 'default';
427
+ const doId = env.ZERO_DO.idFromName(clientGroupID);
428
+ const stub = env.ZERO_DO.get(doId);
429
+ return stub.fetch(request);
430
+ }
431
+ // Push mutations via HTTP
432
+ if (url.pathname === '/zero/push' && request.method === 'POST') {
433
+ const doId = env.ZERO_DO.idFromName('default');
434
+ const stub = env.ZERO_DO.get(doId);
435
+ return stub.fetch(request);
436
+ }
437
+ return new Response('not found', { status: 404 });
438
+ },
439
+ };
440
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/cf-do/worker.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -23,6 +23,8 @@ export interface ZeroLiteConfig {
23
23
  zeroQueryUrl?: string;
24
24
  checkpointIntervalMs: number;
25
25
  maxLogFileSize: number;
26
+ /** DO backend URL — replaces PGlite with Durable Object SQLite */
27
+ doBackendUrl?: string;
26
28
  disableDiskLogs: boolean;
27
29
  onDbReady?: Hook;
28
30
  onHealthy?: Hook;
@@ -94,6 +96,8 @@ export interface OrezConfig {
94
96
  maxLogFileSize?: number;
95
97
  /** disable writing logs to disk (default: false) */
96
98
  disableDiskLogs?: boolean;
99
+ /** DO backend URL — replaces PGlite with Durable Object SQLite */
100
+ doBackendUrl?: string;
97
101
  }
98
102
  /** type-safe helper for orez.config.ts */
99
103
  export declare function defineConfig(config: OrezConfig): OrezConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -28,6 +28,7 @@ export function getConfig(overrides = {}) {
28
28
  checkpointIntervalMs: overrides.checkpointIntervalMs ?? 5 * 60 * 1000,
29
29
  maxLogFileSize: overrides.maxLogFileSize ?? 2 * 1024 * 1024,
30
30
  disableDiskLogs: overrides.disableDiskLogs ?? false,
31
+ doBackendUrl: overrides.doBackendUrl,
31
32
  onDbReady: overrides.onDbReady,
32
33
  onHealthy: overrides.onHealthy,
33
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA2G9C,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAAqC,EAAE;IAC/D,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,MAAM;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,UAAU;QAC9C,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,uBAAuB;QACvD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,KAAK;QACvD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;QACrC,iFAAiF;QACjF,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAK,OAAO,CAAC,GAAG,CAAC,cAA2B,IAAI,MAAM;QAClF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACrE,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAC3D,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,MAAM,GAAG,UAAU;IAC7E,OAAO,gBAAgB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAA;AAClG,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AA+G9C,0CAA0C;AAC1C,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,YAAqC,EAAE;IAC/D,OAAO;QACL,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,OAAO;QACrC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI;QAChC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,MAAM;QAClC,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,UAAU;QAC9C,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,uBAAuB;QACvD,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,KAAK;QAC/C,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,IAAI,KAAK;QACvD,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;QACpD,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,KAAK;QACrC,iFAAiF;QACjF,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAK,OAAO,CAAC,GAAG,CAAC,cAA2B,IAAI,MAAM;QAClF,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,EAAE;QAC5C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;QAC5C,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,oBAAoB,EAAE,SAAS,CAAC,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI;QACrE,cAAc,EAAE,SAAS,CAAC,cAAc,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;QAC3D,eAAe,EAAE,SAAS,CAAC,eAAe,IAAI,KAAK;QACnD,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,SAAS,EAAE,SAAS,CAAC,SAAS;KAC/B,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAsB,EAAE,MAAM,GAAG,UAAU;IAC7E,OAAO,gBAAgB,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,cAAc,MAAM,CAAC,MAAM,IAAI,MAAM,EAAE,CAAA;AAClG,CAAC"}
package/dist/index.d.ts CHANGED
@@ -8,15 +8,14 @@
8
8
  import { type HttpLogStore } from './admin/http-proxy.js';
9
9
  import { type LogStore } from './admin/log-store.js';
10
10
  import type { ZeroLiteConfig } from './config.js';
11
- import type { PGlite } from '@electric-sql/pglite';
12
11
  export { defineConfig, getConfig, getConnectionString } from './config.js';
13
12
  export type { Hook, LogLevel, OrezConfig, ZeroLiteConfig } from './config.js';
14
13
  export { installChangeTracking } from './replication/change-tracker.js';
15
14
  export declare function startZeroLite(overrides?: Partial<ZeroLiteConfig>): Promise<{
16
15
  config: ZeroLiteConfig;
17
16
  stop: () => Promise<void>;
18
- db: PGlite;
19
- instances: import("./pglite-manager.js").PGliteInstances;
17
+ db: any;
18
+ instances: any;
20
19
  pgPort: number;
21
20
  zeroPort: number;
22
21
  logStore: LogStore | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAwCpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AA4BlD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC1E,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAoIvE,wBAAsB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM;;;;;;;;;;;;;;GAgnB1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAyCpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA6BjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC1E,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAoIvE,wBAAsB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM;;;;;;;;;;;;;;GAgpB1E"}