orez 0.1.43 → 0.1.45

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 (111) hide show
  1. package/dist/admin/http-proxy.d.ts.map +1 -1
  2. package/dist/admin/http-proxy.js +3 -1
  3. package/dist/admin/http-proxy.js.map +1 -1
  4. package/dist/admin/log-store.d.ts.map +1 -1
  5. package/dist/admin/log-store.js +5 -1
  6. package/dist/admin/log-store.js.map +1 -1
  7. package/dist/admin/server.d.ts.map +1 -1
  8. package/dist/admin/server.js +25 -25
  9. package/dist/admin/server.js.map +1 -1
  10. package/dist/browser.d.ts +54 -0
  11. package/dist/browser.d.ts.map +1 -0
  12. package/dist/browser.js +110 -0
  13. package/dist/browser.js.map +1 -0
  14. package/dist/cli.js +1 -1
  15. package/dist/cli.js.map +1 -1
  16. package/dist/index.d.ts +1 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +5 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/pg-proxy-browser.d.ts +26 -0
  21. package/dist/pg-proxy-browser.d.ts.map +1 -0
  22. package/dist/pg-proxy-browser.js +1460 -0
  23. package/dist/pg-proxy-browser.js.map +1 -0
  24. package/dist/pg-proxy.d.ts.map +1 -1
  25. package/dist/pg-proxy.js +48 -34
  26. package/dist/pg-proxy.js.map +1 -1
  27. package/dist/pglite-ipc.d.ts.map +1 -1
  28. package/dist/pglite-ipc.js +3 -2
  29. package/dist/pglite-ipc.js.map +1 -1
  30. package/dist/pglite-manager.d.ts.map +1 -1
  31. package/dist/pglite-manager.js +101 -111
  32. package/dist/pglite-manager.js.map +1 -1
  33. package/dist/pglite-web-proxy.d.ts +38 -0
  34. package/dist/pglite-web-proxy.d.ts.map +1 -0
  35. package/dist/pglite-web-proxy.js +155 -0
  36. package/dist/pglite-web-proxy.js.map +1 -0
  37. package/dist/pglite-web-worker.d.ts +24 -0
  38. package/dist/pglite-web-worker.d.ts.map +1 -0
  39. package/dist/pglite-web-worker.js +139 -0
  40. package/dist/pglite-web-worker.js.map +1 -0
  41. package/dist/pglite-worker-thread.js +65 -24
  42. package/dist/pglite-worker-thread.js.map +1 -1
  43. package/dist/recovery.js +2 -2
  44. package/dist/recovery.js.map +1 -1
  45. package/dist/replication/change-tracker.js +9 -9
  46. package/dist/replication/change-tracker.js.map +1 -1
  47. package/dist/replication/handler.d.ts.map +1 -1
  48. package/dist/replication/handler.js +34 -26
  49. package/dist/replication/handler.js.map +1 -1
  50. package/dist/worker/browser-build-config.d.ts.map +1 -1
  51. package/dist/worker/browser-build-config.js +5 -2
  52. package/dist/worker/browser-build-config.js.map +1 -1
  53. package/dist/worker/browser-embed.d.ts.map +1 -1
  54. package/dist/worker/browser-embed.js +31 -26
  55. package/dist/worker/browser-embed.js.map +1 -1
  56. package/dist/worker/shims/fastify.d.ts +1 -0
  57. package/dist/worker/shims/fastify.d.ts.map +1 -1
  58. package/dist/worker/shims/fastify.js +31 -20
  59. package/dist/worker/shims/fastify.js.map +1 -1
  60. package/dist/worker/shims/postgres-browser.d.ts +12 -0
  61. package/dist/worker/shims/postgres-browser.d.ts.map +1 -0
  62. package/dist/worker/shims/postgres-browser.js +52 -0
  63. package/dist/worker/shims/postgres-browser.js.map +1 -0
  64. package/dist/worker/shims/postgres-socket.d.ts +83 -0
  65. package/dist/worker/shims/postgres-socket.d.ts.map +1 -0
  66. package/dist/worker/shims/postgres-socket.js +278 -0
  67. package/dist/worker/shims/postgres-socket.js.map +1 -0
  68. package/dist/worker/shims/postgres.d.ts.map +1 -1
  69. package/dist/worker/shims/postgres.js +18 -9
  70. package/dist/worker/shims/postgres.js.map +1 -1
  71. package/dist/worker/shims/stream-browser.d.ts +5 -4
  72. package/dist/worker/shims/stream-browser.d.ts.map +1 -1
  73. package/dist/worker/shims/stream-browser.js +7 -6
  74. package/dist/worker/shims/stream-browser.js.map +1 -1
  75. package/dist/worker/shims/ws-browser.d.ts.map +1 -1
  76. package/dist/worker/shims/ws-browser.js +43 -21
  77. package/dist/worker/shims/ws-browser.js.map +1 -1
  78. package/dist/worker/shims/ws.d.ts.map +1 -1
  79. package/dist/worker/shims/ws.js +81 -17
  80. package/dist/worker/shims/ws.js.map +1 -1
  81. package/package.json +11 -58
  82. package/src/admin/http-proxy.ts +4 -1
  83. package/src/admin/log-store.ts +5 -1
  84. package/src/admin/server.ts +26 -25
  85. package/src/browser.ts +195 -0
  86. package/src/cli.ts +1 -1
  87. package/src/index.ts +5 -2
  88. package/src/integration/integration.test.ts +1 -1
  89. package/src/integration/restore-live-stress.test.ts +2 -2
  90. package/src/pg-proxy-browser.ts +1673 -0
  91. package/src/pg-proxy.ts +48 -40
  92. package/src/pglite-ipc.ts +3 -2
  93. package/src/pglite-manager.ts +115 -133
  94. package/src/pglite-web-proxy.ts +180 -0
  95. package/src/pglite-web-worker.ts +152 -0
  96. package/src/pglite-worker-thread.ts +66 -24
  97. package/src/recovery.ts +2 -2
  98. package/src/replication/change-tracker.test.ts +1 -1
  99. package/src/replication/change-tracker.ts +9 -9
  100. package/src/replication/handler.ts +37 -26
  101. package/src/worker/browser-build-config.test.ts +1 -1
  102. package/src/worker/browser-build-config.ts +5 -2
  103. package/src/worker/browser-embed.ts +33 -30
  104. package/src/worker/shims/fastify.ts +37 -24
  105. package/src/worker/shims/postgres-browser.ts +59 -0
  106. package/src/worker/shims/postgres-socket.test.ts +576 -0
  107. package/src/worker/shims/postgres-socket.ts +310 -0
  108. package/src/worker/shims/postgres.ts +30 -15
  109. package/src/worker/shims/stream-browser.ts +15 -0
  110. package/src/worker/shims/ws-browser.ts +38 -20
  111. package/src/worker/shims/ws.ts +76 -21
@@ -57,6 +57,58 @@ function cleanStaleLocks(dataPath) {
57
57
  return false;
58
58
  }
59
59
  }
60
+ // shared setup extracted from the 4 factory functions below
61
+ /** migrate old single-instance pgdata dir to the new pgdata-postgres layout */
62
+ function migrateDataDir(config) {
63
+ const pgliteDataDir = config.pgliteOptions?.dataDir;
64
+ if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
65
+ const oldDataPath = resolve(config.dataDir, 'pgdata');
66
+ const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
67
+ if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
68
+ renameSync(oldDataPath, newDataPath);
69
+ log.debug.pglite('migrated pgdata → pgdata-postgres');
70
+ }
71
+ }
72
+ }
73
+ /** create publication if ZERO_APP_PUBLICATIONS is set and publication doesn't exist */
74
+ async function ensurePublication(db) {
75
+ await db.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
76
+ const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
77
+ if (pubName) {
78
+ const pubs = await db.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
79
+ if (Number(pubs.rows[0].count) === 0) {
80
+ const quoted = '"' + pubName.replace(/"/g, '""') + '"';
81
+ await db.exec(`CREATE PUBLICATION ${quoted}`);
82
+ }
83
+ }
84
+ }
85
+ // pglite startParams replaces defaults, so always include required flags
86
+ const PGLITE_BASE_FLAGS = [
87
+ '--single',
88
+ '-F',
89
+ '-O',
90
+ '-j',
91
+ '-c',
92
+ 'search_path=public',
93
+ '-c',
94
+ 'exit_on_error=false',
95
+ '-c',
96
+ 'log_checkpoints=false',
97
+ ];
98
+ // cvr/cdb are just zero-cache bookkeeping — minimal fixed memory
99
+ const ZERO_START_PARAMS = [
100
+ ...PGLITE_BASE_FLAGS,
101
+ '-c',
102
+ 'shared_buffers=128kB',
103
+ '-c',
104
+ 'wal_buffers=64kB',
105
+ '-c',
106
+ 'work_mem=64kB',
107
+ '-c',
108
+ 'maintenance_work_mem=1MB',
109
+ '-c',
110
+ 'temp_buffers=800kB',
111
+ ];
60
112
  // create a single pglite instance with given dataDir suffix
61
113
  async function createInstance(config, name, withExtensions) {
62
114
  const { dataDir: userDataDir, debug: _dbg, ...userOpts } = config.pgliteOptions;
@@ -70,40 +122,55 @@ async function createInstance(config, name, withExtensions) {
70
122
  }
71
123
  }
72
124
  log.debug.pglite(`creating ${name} instance at ${dataPath}`);
125
+ const isMain = withExtensions;
73
126
  try {
74
127
  const db = new PGlite({
75
128
  dataDir: dataPath,
76
129
  debug: config.logLevel === 'debug' ? 1 : 0,
77
130
  relaxedDurability: true,
78
- ...userOpts,
79
- extensions: withExtensions
80
- ? userOpts.extensions || {
81
- vector,
82
- pg_trgm,
83
- pgcrypto,
84
- uuid_ossp,
85
- citext,
86
- hstore,
87
- ltree,
88
- fuzzystrmatch,
89
- btree_gin,
90
- btree_gist,
91
- cube,
92
- earthdistance,
131
+ initialMemory: isMain ? 32 * 1024 * 1024 : 16 * 1024 * 1024,
132
+ ...(isMain ? {} : { startParams: ZERO_START_PARAMS }),
133
+ // main instance: user overrides via pgliteOptions, zero instances: fixed
134
+ ...(isMain
135
+ ? {
136
+ startParams: [
137
+ ...PGLITE_BASE_FLAGS,
138
+ '-c',
139
+ 'shared_buffers=4MB',
140
+ '-c',
141
+ 'wal_buffers=1MB',
142
+ ],
143
+ ...userOpts,
144
+ extensions: userOpts.extensions || {
145
+ vector,
146
+ pg_trgm,
147
+ pgcrypto,
148
+ uuid_ossp,
149
+ citext,
150
+ hstore,
151
+ ltree,
152
+ fuzzystrmatch,
153
+ btree_gin,
154
+ btree_gist,
155
+ cube,
156
+ earthdistance,
157
+ },
93
158
  }
94
- : {},
159
+ : { extensions: {} }),
95
160
  });
96
161
  await db.waitReady;
97
- // tune postgres internals for throughput over durability.
98
- // pglite defaults are conservative for embedded use — these settings
99
- // match what a real postgres would use for a dev/test workload.
100
- await db.exec(`
101
- SET work_mem = '64MB';
102
- SET maintenance_work_mem = '128MB';
103
- SET effective_cache_size = '512MB';
104
- SET random_page_cost = 1.1;
105
- SET jit = off;
106
- `);
162
+ if (isMain) {
163
+ await db.exec(`
164
+ SET work_mem = '4MB';
165
+ SET maintenance_work_mem = '16MB';
166
+ SET effective_cache_size = '64MB';
167
+ SET random_page_cost = 1.1;
168
+ SET jit = off;
169
+ `);
170
+ }
171
+ else {
172
+ await db.exec(`SET jit = off;`);
173
+ }
107
174
  log.debug.pglite(`${name} ready`);
108
175
  return db;
109
176
  }
@@ -134,33 +201,13 @@ async function createInstance(config, name, withExtensions) {
134
201
  * corrupted by queries on another.
135
202
  */
136
203
  export async function createPGliteInstances(config) {
137
- // migrate from old single-instance layout (pgdata → pgdata-postgres)
138
- const pgliteDataDir = config.pgliteOptions?.dataDir;
139
- if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
140
- const oldDataPath = resolve(config.dataDir, 'pgdata');
141
- const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
142
- if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
143
- renameSync(oldDataPath, newDataPath);
144
- log.debug.pglite('migrated pgdata → pgdata-postgres');
145
- }
146
- }
147
- // create all 3 instances in parallel (only postgres needs app extensions)
204
+ migrateDataDir(config);
148
205
  const [postgres, cvr, cdb] = await Promise.all([
149
206
  createInstance(config, 'postgres', true),
150
207
  createInstance(config, 'cvr', false),
151
208
  createInstance(config, 'cdb', false),
152
209
  ]);
153
- // postgres-specific setup
154
- await postgres.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
155
- // create publication only when explicitly configured
156
- const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
157
- if (pubName) {
158
- const pubs = await postgres.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
159
- if (Number(pubs.rows[0].count) === 0) {
160
- const quoted = '"' + pubName.replace(/"/g, '""') + '"';
161
- await postgres.exec(`CREATE PUBLICATION ${quoted}`);
162
- }
163
- }
210
+ await ensurePublication(postgres);
164
211
  return { postgres, cvr, cdb };
165
212
  }
166
213
  /**
@@ -171,16 +218,8 @@ export async function createPGliteInstances(config) {
171
218
  * ArrayBuffers are transferred (not copied) for wire protocol data.
172
219
  */
173
220
  export async function createPGliteWorkerInstances(config) {
174
- // migrate from old single-instance layout (pgdata → pgdata-postgres)
221
+ migrateDataDir(config);
175
222
  const pgliteDataDir = config.pgliteOptions?.dataDir;
176
- if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
177
- const oldDataPath = resolve(config.dataDir, 'pgdata');
178
- const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
179
- if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
180
- renameSync(oldDataPath, newDataPath);
181
- log.debug.pglite('migrated pgdata → pgdata-postgres');
182
- }
183
- }
184
223
  const useMemory = typeof pgliteDataDir === 'string' && pgliteDataDir.startsWith('memory://');
185
224
  const { dataDir: _ud, debug: _dbg, ...userOpts } = config.pgliteOptions;
186
225
  function makeWorkerConfig(name, withExtensions) {
@@ -200,24 +239,12 @@ export async function createPGliteWorkerInstances(config) {
200
239
  };
201
240
  }
202
241
  log.pglite('starting worker threads for postgres, cvr, cdb');
203
- // create all 3 worker proxies in parallel
204
242
  const pgProxy = new PGliteWorkerProxy(makeWorkerConfig('postgres', true));
205
243
  const cvrProxy = new PGliteWorkerProxy(makeWorkerConfig('cvr', false));
206
244
  const cdbProxy = new PGliteWorkerProxy(makeWorkerConfig('cdb', false));
207
245
  await Promise.all([pgProxy.waitReady, cvrProxy.waitReady, cdbProxy.waitReady]);
208
246
  log.pglite('all worker threads ready');
209
- // postgres-specific setup
210
- await pgProxy.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
211
- // create publication only when explicitly configured
212
- const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
213
- if (pubName) {
214
- const pubs = await pgProxy.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
215
- if (Number(pubs.rows[0].count) === 0) {
216
- const quoted = '"' + pubName.replace(/"/g, '""') + '"';
217
- await pgProxy.exec(`CREATE PUBLICATION ${quoted}`);
218
- }
219
- }
220
- // cast to PGlite — our proxy implements the same interface surface
247
+ await ensurePublication(pgProxy);
221
248
  return {
222
249
  postgres: pgProxy,
223
250
  cvr: cvrProxy,
@@ -232,29 +259,10 @@ export async function createPGliteWorkerInstances(config) {
232
259
  * workers where running 3 pglite instances is too expensive.
233
260
  */
234
261
  export async function createSinglePGliteInstance(config) {
235
- // migrate from old single-instance layout (pgdata → pgdata-postgres)
236
- const pgliteDataDir = config.pgliteOptions?.dataDir;
237
- if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
238
- const oldDataPath = resolve(config.dataDir, 'pgdata');
239
- const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
240
- if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
241
- renameSync(oldDataPath, newDataPath);
242
- log.debug.pglite('migrated pgdata → pgdata-postgres');
243
- }
244
- }
262
+ migrateDataDir(config);
245
263
  log.pglite('starting single shared pglite instance');
246
264
  const db = await createInstance(config, 'postgres', true);
247
- // postgres-specific setup
248
- await db.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
249
- // create publication only when explicitly configured
250
- const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
251
- if (pubName) {
252
- const pubs = await db.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
253
- if (Number(pubs.rows[0].count) === 0) {
254
- const quoted = '"' + pubName.replace(/"/g, '""') + '"';
255
- await db.exec(`CREATE PUBLICATION ${quoted}`);
256
- }
257
- }
265
+ await ensurePublication(db);
258
266
  // same instance for all three — pg-proxy detects this and shares a mutex
259
267
  return { postgres: db, cvr: db, cdb: db };
260
268
  }
@@ -262,16 +270,8 @@ export async function createSinglePGliteInstance(config) {
262
270
  * create a single worker-backed pglite instance shared across all databases.
263
271
  */
264
272
  export async function createSinglePGliteWorkerInstance(config) {
265
- // migrate from old single-instance layout (pgdata → pgdata-postgres)
273
+ migrateDataDir(config);
266
274
  const pgliteDataDir = config.pgliteOptions?.dataDir;
267
- if (!pgliteDataDir || !String(pgliteDataDir).startsWith('memory://')) {
268
- const oldDataPath = resolve(config.dataDir, 'pgdata');
269
- const newDataPath = resolve(config.dataDir, 'pgdata-postgres');
270
- if (existsSync(oldDataPath) && !existsSync(newDataPath)) {
271
- renameSync(oldDataPath, newDataPath);
272
- log.debug.pglite('migrated pgdata → pgdata-postgres');
273
- }
274
- }
275
275
  const useMemory = typeof pgliteDataDir === 'string' && pgliteDataDir.startsWith('memory://');
276
276
  const { dataDir: _ud, debug: _dbg, ...userOpts } = config.pgliteOptions;
277
277
  const dataPath = useMemory ? 'memory://' : resolve(config.dataDir, 'pgdata-postgres');
@@ -291,17 +291,7 @@ export async function createSinglePGliteWorkerInstance(config) {
291
291
  });
292
292
  await proxy.waitReady;
293
293
  log.pglite('single worker thread ready');
294
- // postgres-specific setup
295
- await proxy.exec('CREATE EXTENSION IF NOT EXISTS plpgsql');
296
- // create publication only when explicitly configured
297
- const pubName = process.env.ZERO_APP_PUBLICATIONS?.trim();
298
- if (pubName) {
299
- const pubs = await proxy.query(`SELECT count(*) as count FROM pg_publication WHERE pubname = $1`, [pubName]);
300
- if (Number(pubs.rows[0].count) === 0) {
301
- const quoted = '"' + pubName.replace(/"/g, '""') + '"';
302
- await proxy.exec(`CREATE PUBLICATION ${quoted}`);
303
- }
304
- }
294
+ await ensurePublication(proxy);
305
295
  const db = proxy;
306
296
  return { postgres: db, cvr: db, cdb: db };
307
297
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,GACX,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAA;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAA;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAA;AAEpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAInD,wDAAwD;AACxD,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,CAAC,kDAAkD;QACvE,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,qCAAqC;AACrC,SAAS,eAAe,CAAC,QAAgB;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IAChD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAEhD,IAAI,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,2CAA2C;YAC3C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG;YAChB,OAAO;YACP,GAAG,WAAW,CAAC,QAAQ,CAAC;iBACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;iBACxC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;SACjC,CAAA;QAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;QAED,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAQD,4DAA4D;AAE5D,+EAA+E;AAC/E,SAAS,cAAc,CAAC,MAAsB;IAC5C,MAAM,aAAa,GAAI,MAAM,CAAC,aAAqC,EAAE,OAAO,CAAA;IAC5E,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACrE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;QAC9D,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACxD,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;YACpC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAA;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,KAAK,UAAU,iBAAiB,CAAC,EAGhC;IACC,MAAM,EAAE,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAA;IAEvD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAA;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CACzB,iEAAiE,EACjE,CAAC,OAAO,CAAC,CACV,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,CAAA;YACtD,MAAM,EAAE,CAAC,IAAI,CAAC,sBAAsB,MAAM,EAAE,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,iBAAiB,GAAG;IACxB,UAAU;IACV,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,oBAAoB;IACpB,IAAI;IACJ,qBAAqB;IACrB,IAAI;IACJ,uBAAuB;CACxB,CAAA;AAED,iEAAiE;AACjE,MAAM,iBAAiB,GAAG;IACxB,GAAG,iBAAiB;IACpB,IAAI;IACJ,sBAAsB;IACtB,IAAI;IACJ,kBAAkB;IAClB,IAAI;IACJ,eAAe;IACf,IAAI;IACJ,0BAA0B;IAC1B,IAAI;IACJ,oBAAoB;CACrB,CAAA;AAED,4DAA4D;AAC5D,KAAK,UAAU,cAAc,CAC3B,MAAsB,EACtB,IAAY,EACZ,cAAuB;IAEvB,MAAM,EACJ,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,IAAI,EACX,GAAG,QAAQ,EACZ,GAAG,MAAM,CAAC,aAAoC,CAAA;IAE/C,MAAM,SAAS,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IACxF,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;IAEpF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,gEAAgE;QAChE,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,IAAI,gBAAgB,QAAQ,EAAE,CAAC,CAAA;IAE5D,MAAM,MAAM,GAAG,cAAc,CAAA;IAE7B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC;YACpB,OAAO,EAAE,QAAQ;YACjB,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,iBAAiB,EAAE,IAAI;YACvB,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,IAAI;YAC3D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;YACrD,yEAAyE;YACzE,GAAG,CAAC,MAAM;gBACR,CAAC,CAAC;oBACE,WAAW,EAAE;wBACX,GAAG,iBAAiB;wBACpB,IAAI;wBACJ,oBAAoB;wBACpB,IAAI;wBACJ,iBAAiB;qBAClB;oBACD,GAAG,QAAQ;oBACX,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI;wBACjC,MAAM;wBACN,OAAO;wBACP,QAAQ;wBACR,SAAS;wBACT,MAAM;wBACN,MAAM;wBACN,KAAK;wBACL,aAAa;wBACb,SAAS;wBACT,UAAU;wBACV,IAAI;wBACJ,aAAa;qBACd;iBACF;gBACH,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;SACxB,CAAC,CAAA;QAEF,MAAM,EAAE,CAAC,SAAS,CAAA;QAElB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;OAMb,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACjC,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAA;QACjC,OAAO,EAAE,CAAA;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QACvB,IAAI,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,WAAW,CAAC,CAAA;YAC9C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACd,GAAG,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAA;YAC5D,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAA;YACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACd,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAA;YACrC,GAAG,CAAC,MAAM,CAAC,cAAc,QAAQ,mBAAmB,QAAQ,aAAa,CAAC,CAAA;YAC1E,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACd,GAAG,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA;YAC5C,GAAG,CAAC,MAAM,CACR,eAAe,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,OAAO,mBAAmB,CAC5E,CAAA;YACD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAChB,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAsB;IAEtB,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7C,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC;QACxC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;QACpC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;KACrC,CAAC,CAAA;IAEF,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACjC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAC/B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAsB;IAEtB,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,aAAa,GAAI,MAAM,CAAC,aAAqC,EAAE,OAAO,CAAA;IAC5E,MAAM,SAAS,GACb,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAC5E,MAAM,EACJ,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,QAAQ,EACZ,GAAG,MAAM,CAAC,aAAoC,CAAA;IAE/C,SAAS,gBAAgB,CAAC,IAAY,EAAE,cAAuB;QAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,CAAA;QACpF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YACxC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAA;YACpD,CAAC;QACH,CAAC;QACD,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,IAAI;YACJ,cAAc;YACd,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,aAAa,EAAE,QAAQ;SACxB,CAAA;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAA;IAE5D,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAA;IACzE,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;IAEtE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;IAC9E,GAAG,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAA;IAEtC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAA;IAEhC,OAAO;QACL,QAAQ,EAAE,OAA4B;QACtC,GAAG,EAAE,QAA6B;QAClC,GAAG,EAAE,QAA6B;KACnC,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAsB;IAEtB,cAAc,CAAC,MAAM,CAAC,CAAA;IACtB,GAAG,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAA;IAEpD,MAAM,EAAE,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;IACzD,MAAM,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAE3B,yEAAyE;IACzE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAsB;IAEtB,cAAc,CAAC,MAAM,CAAC,CAAA;IAEtB,MAAM,aAAa,GAAI,MAAM,CAAC,aAAqC,EAAE,OAAO,CAAA;IAC5E,MAAM,SAAS,GACb,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;IAC5E,MAAM,EACJ,OAAO,EAAE,GAAG,EACZ,KAAK,EAAE,IAAI,EACX,GAAG,QAAQ,EACZ,GAAG,MAAM,CAAC,aAAoC,CAAA;IAE/C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IACrF,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAA;IAEzD,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC;QAClC,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,UAAU;QAChB,cAAc,EAAE,IAAI;QACpB,KAAK,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,aAAa,EAAE,QAAQ;KACxB,CAAC,CAAA;IAEF,MAAM,KAAK,CAAC,SAAS,CAAA;IACrB,GAAG,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAA;IAExC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAA;IAE9B,MAAM,EAAE,GAAG,KAA0B,CAAA;IACrC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAA;AAC3C,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,IAAY;IAC9D,OAAO,IAAI,iBAAiB,CAAC;QAC3B,OAAO;QACP,IAAI;QACJ,cAAc,EAAE,KAAK;QACrB,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,EAAE;KAClB,CAAC,CAAA;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,EAAU,EAAE,MAAsB;IACpE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;QAC9D,OAAO,CAAC,CAAA;IACV,CAAC;IAED,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACzD,OAAO,CAAC,CAAA;IACV,CAAC;IAED,mCAAmC;IACnC,MAAM,EAAE,CAAC,IAAI,CAAC;;;;;;GAMb,CAAC,CAAA;IAEF,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;IAChE,IAAI,KAAe,CAAA;IACnB,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAA;QAC9D,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA;IACrE,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,WAAW,CAAC,aAAa,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aACjC,IAAI,EAAE,CAAA;IACX,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;QAEvC,2BAA2B;QAC3B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAC3B,iEAAiE,EACjE,CAAC,IAAI,CAAC,CACP,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,SAAQ;QACV,CAAC;QAED,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAA;QAC7C,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAA;QAE5D,iDAAiD;QACjD,MAAM,UAAU,GAAG,GAAG;aACnB,KAAK,CAAC,0BAA0B,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAA;QAElB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QAED,MAAM,EAAE,CAAC,KAAK,CAAC,kDAAkD,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC1E,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA;QAC5C,OAAO,EAAE,CAAA;IACX,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACrC,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * PGlite Web Worker proxy — browser equivalent of pglite-ipc.ts.
3
+ *
4
+ * runs in the zero-cache worker, proxies calls to a Web Worker
5
+ * running the actual PGlite instance. mirrors PGliteWorkerProxy
6
+ * from pglite-ipc.ts but uses Web Worker postMessage instead of
7
+ * node worker_threads.
8
+ *
9
+ * ArrayBuffers are transferred (not copied) for execProtocolRaw
10
+ * to keep IPC overhead near-zero for wire protocol data.
11
+ */
12
+ export declare class PGliteWebProxy {
13
+ private worker;
14
+ private pending;
15
+ private nextId;
16
+ private notificationCallbacks;
17
+ readonly name: string;
18
+ readonly waitReady: Promise<void>;
19
+ closed: boolean;
20
+ ready: boolean;
21
+ constructor(worker: Worker, name: string);
22
+ private installMessageHandler;
23
+ private send;
24
+ execProtocolRaw(data: Uint8Array, options?: {
25
+ syncToFs?: boolean;
26
+ throwOnError?: boolean;
27
+ }): Promise<Uint8Array>;
28
+ query<T = any>(sql: string, params?: any[]): Promise<{
29
+ rows: T[];
30
+ affectedRows?: number;
31
+ }>;
32
+ exec(sql: string): Promise<{
33
+ affectedRows?: number;
34
+ }[]>;
35
+ listen(channel: string, callback: (payload: string) => void): Promise<() => Promise<void>>;
36
+ close(): Promise<void>;
37
+ }
38
+ //# sourceMappingURL=pglite-web-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pglite-web-proxy.d.ts","sourceRoot":"","sources":["../src/pglite-web-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAqBH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,MAAM,CAAI;IAClB,OAAO,CAAC,qBAAqB,CAAoD;IACjF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAGjC,MAAM,UAAQ;IACd,KAAK,UAAQ;gBAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IA6BxC,OAAO,CAAC,qBAAqB;IA+B7B,OAAO,CAAC,IAAI;IAaN,eAAe,CACnB,IAAI,EAAE,UAAU,EAChB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACvD,OAAO,CAAC,UAAU,CAAC;IAQhB,KAAK,CAAC,CAAC,GAAG,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EAAE,GACb,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAS1C,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAQvD,MAAM,CACV,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAoBzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQ7B"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * PGlite Web Worker proxy — browser equivalent of pglite-ipc.ts.
3
+ *
4
+ * runs in the zero-cache worker, proxies calls to a Web Worker
5
+ * running the actual PGlite instance. mirrors PGliteWorkerProxy
6
+ * from pglite-ipc.ts but uses Web Worker postMessage instead of
7
+ * node worker_threads.
8
+ *
9
+ * ArrayBuffers are transferred (not copied) for execProtocolRaw
10
+ * to keep IPC overhead near-zero for wire protocol data.
11
+ */
12
+ import { signalReplicationChange } from './replication/handler.js';
13
+ const WRITE_PREFIXES = ['insert', 'update', 'delete', 'copy', 'truncate'];
14
+ const SHARD_INTERNAL_TABLES = ['"replicas"', '"mutations"', '"replicationState"'];
15
+ function isReplicatedWrite(sql) {
16
+ const q = sql.trimStart().toLowerCase();
17
+ if (!WRITE_PREFIXES.some((p) => q.startsWith(p)))
18
+ return false;
19
+ for (const t of SHARD_INTERNAL_TABLES) {
20
+ if (q.includes(t.toLowerCase()))
21
+ return false;
22
+ }
23
+ return true;
24
+ }
25
+ export class PGliteWebProxy {
26
+ worker;
27
+ pending = new Map();
28
+ nextId = 1;
29
+ notificationCallbacks = new Map();
30
+ name;
31
+ waitReady;
32
+ // PGlite compat flags
33
+ closed = false;
34
+ ready = false;
35
+ constructor(worker, name) {
36
+ this.name = name;
37
+ this.worker = worker;
38
+ let onReady;
39
+ this.waitReady = new Promise((resolveReady, rejectReady) => {
40
+ onReady = () => {
41
+ this.ready = true;
42
+ resolveReady();
43
+ };
44
+ const onMessage = (ev) => {
45
+ const msg = ev.data;
46
+ if (msg?.type === 'ready') {
47
+ this.worker.removeEventListener('message', onMessage);
48
+ this.installMessageHandler();
49
+ onReady();
50
+ }
51
+ else if (msg?.type === 'error' && msg.id === 0) {
52
+ rejectReady(new Error(msg.message));
53
+ }
54
+ };
55
+ this.worker.addEventListener('message', onMessage);
56
+ this.worker.addEventListener('error', (ev) => {
57
+ rejectReady(new Error(String(ev)));
58
+ });
59
+ });
60
+ }
61
+ installMessageHandler() {
62
+ this.worker.addEventListener('message', (ev) => {
63
+ const msg = ev.data;
64
+ if (!msg || typeof msg !== 'object')
65
+ return;
66
+ if (msg.type === 'notification') {
67
+ const callbacks = this.notificationCallbacks.get(msg.channel);
68
+ if (callbacks) {
69
+ for (const cb of callbacks) {
70
+ try {
71
+ cb(msg.payload);
72
+ }
73
+ catch { }
74
+ }
75
+ }
76
+ return;
77
+ }
78
+ const req = this.pending.get(msg.id);
79
+ if (!req)
80
+ return;
81
+ this.pending.delete(msg.id);
82
+ if (msg.type === 'error') {
83
+ const err = new Error(msg.message);
84
+ if (msg.code)
85
+ err.code = msg.code;
86
+ req.reject(err);
87
+ }
88
+ else {
89
+ req.resolve(msg);
90
+ }
91
+ });
92
+ }
93
+ send(msg, transfer) {
94
+ const id = this.nextId++;
95
+ msg.id = id;
96
+ return new Promise((resolve, reject) => {
97
+ this.pending.set(id, { resolve, reject });
98
+ if (transfer?.length) {
99
+ this.worker.postMessage(msg, transfer);
100
+ }
101
+ else {
102
+ this.worker.postMessage(msg);
103
+ }
104
+ });
105
+ }
106
+ async execProtocolRaw(data, options) {
107
+ // copy to a transferable buffer then transfer
108
+ const buf = new ArrayBuffer(data.byteLength);
109
+ new Uint8Array(buf).set(data);
110
+ const result = await this.send({ type: 'execProtocolRaw', data: buf, options }, [buf]);
111
+ return new Uint8Array(result.data);
112
+ }
113
+ async query(sql, params) {
114
+ const result = await this.send({ type: 'query', sql, params });
115
+ // signal replication after writes on postgres instance (like orez-node's PGliteWorkerProxy)
116
+ if (this.name === 'postgres' && isReplicatedWrite(sql)) {
117
+ signalReplicationChange();
118
+ }
119
+ return { rows: result.rows ?? [], affectedRows: result.affectedRows };
120
+ }
121
+ async exec(sql) {
122
+ const result = await this.send({ type: 'exec', sql });
123
+ if (this.name === 'postgres' && isReplicatedWrite(sql)) {
124
+ signalReplicationChange();
125
+ }
126
+ return result.results ?? [];
127
+ }
128
+ async listen(channel, callback) {
129
+ let callbacks = this.notificationCallbacks.get(channel);
130
+ if (!callbacks) {
131
+ callbacks = new Set();
132
+ this.notificationCallbacks.set(channel, callbacks);
133
+ }
134
+ callbacks.add(callback);
135
+ const result = await this.send({ type: 'listen', channel });
136
+ const listenId = result.id;
137
+ return async () => {
138
+ callbacks.delete(callback);
139
+ if (callbacks.size === 0) {
140
+ this.notificationCallbacks.delete(channel);
141
+ }
142
+ await this.send({ type: 'unlisten', listenId }).catch(() => { });
143
+ };
144
+ }
145
+ async close() {
146
+ this.closed = true;
147
+ this.ready = false;
148
+ try {
149
+ await this.send({ type: 'close' });
150
+ }
151
+ catch { }
152
+ this.worker.terminate();
153
+ }
154
+ }
155
+ //# sourceMappingURL=pglite-web-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pglite-web-proxy.js","sourceRoot":"","sources":["../src/pglite-web-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * PGlite Web Worker — browser equivalent of pglite-worker-thread.ts.
3
+ *
4
+ * runs a single PGlite instance in a Web Worker. receives commands via
5
+ * postMessage, executes on PGlite, sends results back. ArrayBuffers
6
+ * are transferred (not copied) for execProtocolRaw.
7
+ *
8
+ * message protocol (same as pglite-worker-thread.ts):
9
+ * init: { type: 'init', dataDir, name, withExtensions, pgliteOptions }
10
+ * → { type: 'ready' }
11
+ *
12
+ * execProtocolRaw: { type: 'execProtocolRaw', id, data: ArrayBuffer, options }
13
+ * → { type: 'result', id, data: ArrayBuffer }
14
+ *
15
+ * query: { type: 'query', id, sql, params }
16
+ * → { type: 'result', id, rows, affectedRows }
17
+ *
18
+ * exec: { type: 'exec', id, sql }
19
+ * → { type: 'result', id, results: [{ affectedRows }] }
20
+ *
21
+ * listen/unlisten/close: same as pglite-worker-thread.ts
22
+ */
23
+ export {};
24
+ //# sourceMappingURL=pglite-web-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pglite-web-worker.d.ts","sourceRoot":"","sources":["../src/pglite-web-worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG"}