orez 0.5.11 → 0.5.13

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 (77) hide show
  1. package/dist/cf-do/tx-journal.d.ts +6 -5
  2. package/dist/cf-do/tx-journal.d.ts.map +1 -1
  3. package/dist/cf-do/tx-journal.js +116 -27
  4. package/dist/cf-do/tx-journal.js.map +1 -1
  5. package/dist/pg-proxy-browser.d.ts +2 -0
  6. package/dist/pg-proxy-browser.d.ts.map +1 -1
  7. package/dist/pg-proxy-browser.js +56 -102
  8. package/dist/pg-proxy-browser.js.map +1 -1
  9. package/dist/pg-proxy-do-backend.d.ts +8 -0
  10. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  11. package/dist/pg-proxy-do-backend.js +27 -9
  12. package/dist/pg-proxy-do-backend.js.map +1 -1
  13. package/dist/pg-sqlite-compiler/compiler.d.ts +17 -0
  14. package/dist/pg-sqlite-compiler/compiler.d.ts.map +1 -0
  15. package/dist/pg-sqlite-compiler/compiler.js +80 -0
  16. package/dist/pg-sqlite-compiler/compiler.js.map +1 -0
  17. package/dist/pg-sqlite-compiler/index.d.ts +1 -16
  18. package/dist/pg-sqlite-compiler/index.d.ts.map +1 -1
  19. package/dist/pg-sqlite-compiler/index.js +2 -79
  20. package/dist/pg-sqlite-compiler/index.js.map +1 -1
  21. package/dist/replication/handler.d.ts +8 -7
  22. package/dist/replication/handler.d.ts.map +1 -1
  23. package/dist/replication/handler.js +147 -116
  24. package/dist/replication/handler.js.map +1 -1
  25. package/dist/worker/browser-build-config.d.ts.map +1 -1
  26. package/dist/worker/browser-build-config.js +1 -0
  27. package/dist/worker/browser-build-config.js.map +1 -1
  28. package/dist/worker/browser-embed.d.ts +3 -2
  29. package/dist/worker/browser-embed.d.ts.map +1 -1
  30. package/dist/worker/browser-embed.js +187 -150
  31. package/dist/worker/browser-embed.js.map +1 -1
  32. package/dist/worker/cf-instance-runtime.d.ts +62 -0
  33. package/dist/worker/cf-instance-runtime.d.ts.map +1 -0
  34. package/dist/worker/cf-instance-runtime.js +260 -0
  35. package/dist/worker/cf-instance-runtime.js.map +1 -0
  36. package/dist/worker/cf-patches.d.ts +9 -6
  37. package/dist/worker/cf-patches.d.ts.map +1 -1
  38. package/dist/worker/cf-patches.js +117 -60
  39. package/dist/worker/cf-patches.js.map +1 -1
  40. package/dist/worker/durable-object-websocket-handoff.d.ts +2 -0
  41. package/dist/worker/durable-object-websocket-handoff.d.ts.map +1 -1
  42. package/dist/worker/durable-object-websocket-handoff.js +22 -41
  43. package/dist/worker/durable-object-websocket-handoff.js.map +1 -1
  44. package/dist/worker/embed-generation.d.ts +9 -6
  45. package/dist/worker/embed-generation.d.ts.map +1 -1
  46. package/dist/worker/embed-generation.js +27 -6
  47. package/dist/worker/embed-generation.js.map +1 -1
  48. package/dist/worker/shims/fastify-websocket.d.ts +3 -0
  49. package/dist/worker/shims/fastify-websocket.d.ts.map +1 -0
  50. package/dist/worker/shims/fastify-websocket.js +3 -0
  51. package/dist/worker/shims/fastify-websocket.js.map +1 -0
  52. package/dist/worker/shims/fastify.d.ts +2 -10
  53. package/dist/worker/shims/fastify.d.ts.map +1 -1
  54. package/dist/worker/shims/fastify.js +14 -21
  55. package/dist/worker/shims/fastify.js.map +1 -1
  56. package/dist/worker/shims/postgres-browser.d.ts +1 -1
  57. package/dist/worker/shims/postgres-browser.d.ts.map +1 -1
  58. package/dist/worker/shims/postgres-browser.js +29 -20
  59. package/dist/worker/shims/postgres-browser.js.map +1 -1
  60. package/dist/worker/shims/sqlite-browser.d.ts +2 -3
  61. package/dist/worker/shims/sqlite-browser.d.ts.map +1 -1
  62. package/dist/worker/shims/sqlite-browser.js +2 -3
  63. package/dist/worker/shims/sqlite-browser.js.map +1 -1
  64. package/dist/worker/shims/sqlite.d.ts.map +1 -1
  65. package/dist/worker/shims/sqlite.js +56 -35
  66. package/dist/worker/shims/sqlite.js.map +1 -1
  67. package/dist/worker/shims/ws.d.ts.map +1 -1
  68. package/dist/worker/shims/ws.js +54 -39
  69. package/dist/worker/shims/ws.js.map +1 -1
  70. package/dist/worker/shims/zero-process-env.d.ts.map +1 -1
  71. package/dist/worker/shims/zero-process-env.js +25 -4
  72. package/dist/worker/shims/zero-process-env.js.map +1 -1
  73. package/dist/worker/zero-cache-embed-cf.d.ts +5 -1
  74. package/dist/worker/zero-cache-embed-cf.d.ts.map +1 -1
  75. package/dist/worker/zero-cache-embed-cf.js +104 -137
  76. package/dist/worker/zero-cache-embed-cf.js.map +1 -1
  77. package/package.json +6 -2
@@ -5,14 +5,17 @@
5
5
  * applies CF Worker patches there. the installed package in node_modules is
6
6
  * never modified.
7
7
  *
8
- * seven patches:
8
+ * ten patches:
9
9
  * 1. worker-urls.js — replace file:// URLs with zero-worker:// identifiers
10
10
  * 2. server worker entrypoints — disable CLI auto-start blocks
11
- * 3. processes.jsreplace dynamic import() with static worker module lookup
12
- * 4. write-worker-client.js — run zero-cache's replica writer in-process
13
- * 5. initial-sync.js — cap DO batch parameter counts
14
- * 6. change-streamer-service.js — keep cleanup alive after no-subscriber ticks
15
- * 7. pgsql-parserembed libpg-query wasm bytes for Workers
11
+ * 3. worker state localize log contexts and disable process-global telemetry
12
+ * 4. processes.js — replace dynamic import() with static worker module lookup
13
+ * 5. write-worker-client.js — run zero-cache's replica writer in-process
14
+ * 6. custom/fetch.js — route mutate/query fetches by logical DO identity
15
+ * 7. initial-sync.jscap DO batch parameter counts
16
+ * 8. litestream commands.js — retain the durable replica on restart
17
+ * 9. change-streamer-service.js — keep cleanup alive after no-subscriber ticks
18
+ * 10. pgsql-parser — load libpg-query as a precompiled Worker wasm module
16
19
  *
17
20
  * usage in a worker build script:
18
21
  *
@@ -35,6 +38,7 @@ const ZERO_CACHE_WORKERS = [
35
38
  'replicator',
36
39
  'syncer',
37
40
  ];
41
+ const CF_ZERO_VERSION = '1.7.0';
38
42
  // the stable prefix of every zero-cache worker's import-time auto-start guard.
39
43
  // flipping the condition to `false` neutralizes the call without depending on
40
44
  // the (version-volatile) runWorker(...) arguments that follow it.
@@ -52,6 +56,10 @@ export function prepareZeroCacheForCF(input) {
52
56
  if (!existsSync(sourceZeroOut)) {
53
57
  throw new Error(`@rocicorp/zero compiled out/ directory not found at ${sourceZeroOut}`);
54
58
  }
59
+ const installedZeroVersion = JSON.parse(readFileSync(sourceZeroPackageJson, 'utf8')).version;
60
+ if (installedZeroVersion !== CF_ZERO_VERSION) {
61
+ throw new Error(`orez CF overlay supports @rocicorp/zero ${CF_ZERO_VERSION}, found ${String(installedZeroVersion)}`);
62
+ }
55
63
  rmSync(outDir, { recursive: true, force: true });
56
64
  mkdirSync(dirname(zeroOutDir), { recursive: true });
57
65
  cpSync(sourceZeroOut, zeroOutDir, { recursive: true, dereference: true });
@@ -65,8 +73,10 @@ export function prepareZeroCacheForCF(input) {
65
73
  linkPackageDependencies(resolve(nodeModulesPath, '.bun', 'node_modules'), overlayNodeModules, {});
66
74
  patchWorkerUrls(zcBase);
67
75
  patchWorkerEntrypoints(zcBase);
76
+ patchInstanceIsolation(zcBase);
68
77
  patchProcesses(zcBase);
69
78
  patchWriteWorkerClient(zcBase);
79
+ patchCustomFetch(zcBase);
70
80
  patchInitialSyncBatchParams(zcBase);
71
81
  patchLitestreamRestore(zcBase);
72
82
  patchChangeLogCleanupRetry(zcBase);
@@ -87,11 +97,10 @@ export function prepareZeroCacheForCF(input) {
87
97
  function patchWorkerUrls(zcBase) {
88
98
  const workerUrlsPath = resolve(zcBase, 'server', 'worker-urls.js');
89
99
  if (!existsSync(workerUrlsPath)) {
90
- console.warn('[orez] worker-urls.js not found at', workerUrlsPath);
91
- return;
100
+ throw new Error(`orez CF overlay: worker-urls.js missing at ${workerUrlsPath}`);
92
101
  }
93
102
  const content = readFileSync(workerUrlsPath, 'utf-8');
94
- // skip only when the current Zero 1.5 worker graph is already present.
103
+ // skip only when the verified Zero 1.7 worker graph is already present.
95
104
  if (content.includes('zero-worker://') && content.includes('SHADOW_SYNCER_URL')) {
96
105
  return;
97
106
  }
@@ -114,8 +123,7 @@ function patchWorkerEntrypoints(zcBase) {
114
123
  for (const entrypoint of ZERO_CACHE_WORKERS) {
115
124
  const entrypointPath = resolve(zcBase, 'server', `${entrypoint}.js`);
116
125
  if (!existsSync(entrypointPath)) {
117
- console.warn('[orez] zero-cache worker entrypoint not found at', entrypointPath);
118
- continue;
126
+ throw new Error(`orez CF overlay: worker entrypoint missing at ${entrypointPath}`);
119
127
  }
120
128
  const code = readFileSync(entrypointPath, 'utf-8');
121
129
  if (code.includes('orez-disable-autostart')) {
@@ -131,23 +139,69 @@ function patchWorkerEntrypoints(zcBase) {
131
139
  // entire statement into dead code regardless of its arguments. CF embeds run
132
140
  // runWorker explicitly via childWorker, so nothing is lost.
133
141
  if (!code.includes(WORKER_AUTOSTART_PREFIX)) {
134
- console.warn(`[orez] could not find auto-start guard in ${entrypoint}.js. ` +
135
- 'zero-cache version may have changed — check compatibility.');
136
- continue;
142
+ throw new Error(`orez CF overlay: auto-start guard missing in ${entrypoint}.js`);
137
143
  }
138
144
  const next = code.split(WORKER_AUTOSTART_PREFIX).join(WORKER_AUTOSTART_DISABLED);
139
145
  writeFileSync(entrypointPath, next);
140
146
  console.log(`[orez] patched zero-cache ${entrypoint}.js (disabled auto-start)`);
141
147
  }
142
148
  }
149
+ function patchInstanceIsolation(zcBase) {
150
+ for (const entrypoint of ZERO_CACHE_WORKERS) {
151
+ const entrypointPath = resolve(zcBase, 'server', `${entrypoint}.js`);
152
+ let code = readFileSync(entrypointPath, 'utf8');
153
+ if (code.includes('orez-instance-local-log-context'))
154
+ continue;
155
+ const declaration = 'var lc = new LogContext("info", {}, consoleLogSink);';
156
+ const assignment = '\tlc = createLogContext(';
157
+ if (code.split(declaration).length - 1 !== 1) {
158
+ throw new Error(`orez CF overlay: expected one log context declaration in ${entrypoint}.js`);
159
+ }
160
+ if (code.split(assignment).length - 1 !== 1) {
161
+ throw new Error(`orez CF overlay: expected one log context assignment in ${entrypoint}.js`);
162
+ }
163
+ code = code
164
+ .replace(declaration, '/* orez-instance-local-log-context */\nconst lc = new LogContext("info", {}, consoleLogSink);')
165
+ .replace(assignment, '\tconst lc = createLogContext(');
166
+ writeFileSync(entrypointPath, code);
167
+ }
168
+ const eventsPath = resolve(zcBase, 'observability', 'events.js');
169
+ const otelPath = resolve(zcBase, 'server', 'otel-start.js');
170
+ const anonymousPath = resolve(zcBase, 'server', 'anonymous-otel-start.js');
171
+ const dotenvPath = resolve(zcBase, '..', '..', 'shared', 'src', 'dotenv.js');
172
+ for (const path of [eventsPath, otelPath, anonymousPath, dotenvPath]) {
173
+ if (!existsSync(path)) {
174
+ throw new Error(`orez CF overlay: telemetry module missing at ${path}`);
175
+ }
176
+ }
177
+ writeFileSync(eventsPath, `// orez-instance-isolated-events: CF embeds do not share process event sinks.\nfunction initEventSink() {}\nasync function publishCriticalEvent(lc, event) {\n lc.info?.(\`ZeroEvent: \${event.type}\`, event);\n}\nfunction makeErrorDetails(value) {\n const error = value instanceof Error ? value : new Error(String(value));\n return { name: error.name, message: error.message, stack: error.stack };\n}\nexport { initEventSink, makeErrorDetails, publishCriticalEvent };\n`);
178
+ writeFileSync(otelPath, `// orez-instance-isolated-otel: process-global OTel is disabled in CF embeds.\nfunction startOtelAuto() {}\nexport { startOtelAuto };\n`);
179
+ writeFileSync(anonymousPath, `// orez-instance-isolated-anonymous-telemetry: process singleton disabled in CF embeds.\nconst noop = () => {};\nexport { noop as recordConnectionAttempted, noop as recordConnectionSuccess, noop as recordMutation, noop as recordQuery, noop as recordRowsSynced, noop as setActiveClientGroupsGetter, noop as setActiveUsersGetter, noop as startAnonymousTelemetry };\n`);
180
+ writeFileSync(dotenvPath, '// orez-cf-dotenv-disabled: env is passed explicitly.\n');
181
+ }
143
182
  function patchProcesses(zcBase) {
144
183
  const processesPath = resolve(zcBase, 'types', 'processes.js');
145
184
  if (!existsSync(processesPath)) {
146
- console.warn('[orez] processes.js not found at', processesPath);
147
- return;
185
+ throw new Error(`orez CF overlay: processes.js missing at ${processesPath}`);
148
186
  }
149
187
  let code = readFileSync(processesPath, 'utf-8');
188
+ const proxyGetAnchor = 'return Reflect.get(target, prop, receiver);';
189
+ const proxyGetReplacement = 'const value = Reflect.get(target, prop, target); ' +
190
+ 'if (typeof value !== "function") return value; ' +
191
+ 'return (...args) => { const result = value.apply(target, args); ' +
192
+ 'return result === target ? receiver : result; };';
193
+ const patchProcessWrapperProxy = (source) => {
194
+ const anchorCount = source.split(proxyGetAnchor).length - 1;
195
+ if (anchorCount === 1)
196
+ return source.replace(proxyGetAnchor, proxyGetReplacement);
197
+ if (anchorCount === 0 && source.includes(proxyGetReplacement))
198
+ return source;
199
+ throw new Error('orez CF overlay: process wrapper proxy anchor missing');
200
+ };
150
201
  if (code.includes('__zc_workers')) {
202
+ const patched = patchProcessWrapperProxy(code);
203
+ if (patched !== code)
204
+ writeFileSync(processesPath, patched);
151
205
  return;
152
206
  }
153
207
  // add static imports of all zero-cache worker modules at the top.
@@ -176,42 +230,40 @@ const __zc_workers = {
176
230
  const dynamicImportPattern = 'import(moduleUrl.href).then(async ({ default: runWorker })';
177
231
  const staticLookup = '((async () => { ' +
178
232
  'const _name = moduleUrl.hostname || moduleUrl.pathname.split("/").pop()?.replace(".js",""); ' +
179
- 'const _debug = process.env.OREZ_DEBUG_WIRE === "1" || globalThis.__OREZ_DEBUG_WIRE__ === true; ' +
233
+ 'const _debug = env.OREZ_DEBUG_WIRE === "1"; ' +
234
+ 'const _task = env.ZERO_TASK_ID || _name; ' +
180
235
  'if (_debug) { ' +
181
- 'console.debug("[orez-zc-worker] start", _name, args); ' +
182
- 'child.on("message", (msg) => console.debug("[orez-zc-worker] message", _name, msg)); ' +
183
- 'child.on("error", (err) => console.error("[orez-zc-worker] error", _name, err)); ' +
184
- 'child.on("close", (code, signal) => console.debug("[orez-zc-worker] close", _name, code, signal)); ' +
236
+ 'console.debug("[orez-zc-worker] start", _task, _name, args); ' +
237
+ 'child.on("message", (msg) => console.debug("[orez-zc-worker] message", _task, _name, msg)); ' +
238
+ 'child.on("error", (err) => console.error("[orez-zc-worker] error", _task, _name, err)); ' +
239
+ 'child.on("close", (code, signal) => console.debug("[orez-zc-worker] close", _task, _name, code, signal)); ' +
185
240
  '} ' +
186
241
  'const runWorker = __zc_workers[_name]; ' +
187
242
  'if (!runWorker) throw new Error("orez: unknown zero-cache worker: " + _name + " (available: " + Object.keys(__zc_workers).join(", ") + ")"); ' +
188
243
  'return { default: runWorker, name: _name }; ' +
189
244
  '})()).then(async ({ default: runWorker, name })';
190
245
  if (!code.includes(dynamicImportPattern)) {
191
- console.warn('[orez] could not find dynamic import pattern in processes.js. ' +
192
- 'zero-cache version may have changed — check compatibility.');
193
- return;
246
+ throw new Error('orez CF overlay: dynamic import anchor missing in processes.js');
194
247
  }
195
- code = workerImports + code.replace(dynamicImportPattern, staticLookup);
248
+ code =
249
+ workerImports +
250
+ patchProcessWrapperProxy(code.replace(dynamicImportPattern, staticLookup));
196
251
  writeFileSync(processesPath, code);
197
252
  console.log('[orez] patched zero-cache processes.js (static worker imports)');
198
253
  }
199
254
  function patchWriteWorkerClient(zcBase) {
200
255
  const clientPath = resolve(zcBase, 'services', 'replicator', 'write-worker-client.js');
201
256
  if (!existsSync(clientPath)) {
202
- console.warn('[orez] write-worker-client.js not found at', clientPath);
203
- return;
257
+ throw new Error(`orez CF overlay: write-worker-client.js missing at ${clientPath}`);
204
258
  }
205
259
  let code = readFileSync(clientPath, 'utf-8');
206
260
  if (code.includes('orez-inline-write-worker') &&
207
- code.includes('__orez_zero_sqlite_role')) {
261
+ code.includes('orezRole=replica-writer')) {
208
262
  return;
209
263
  }
210
264
  if (!code.includes('orez-inline-write-worker') &&
211
265
  !code.includes('import { Worker } from "node:worker_threads";')) {
212
- console.warn('[orez] could not find node:worker_threads import in write-worker-client.js. ' +
213
- 'zero-cache version may have changed — check compatibility.');
214
- return;
266
+ throw new Error('orez CF overlay: node:worker_threads anchor missing in write-worker-client.js');
215
267
  }
216
268
  writeFileSync(clientPath, `// patched by orez for CF Workers (orez-inline-write-worker)
217
269
  import { must } from "../../../../shared/src/must.js";
@@ -271,17 +323,8 @@ function createAPI(onWriteError) {
271
323
  return {
272
324
  init(dbPath, cpMode, pragmas, logConfig) {
273
325
  lc = createLogContext({ log: logConfig }, "write-worker");
274
- const previousRole = globalThis.__orez_zero_sqlite_role;
275
- globalThis.__orez_zero_sqlite_role = "replica-writer";
276
- try {
277
- db = new Database(lc, dbPath);
278
- } finally {
279
- if (previousRole === void 0) {
280
- delete globalThis.__orez_zero_sqlite_role;
281
- } else {
282
- globalThis.__orez_zero_sqlite_role = previousRole;
283
- }
284
- }
326
+ const separator = dbPath.includes("?") ? "&" : "?";
327
+ db = new Database(lc, dbPath + separator + "orezRole=replica-writer");
285
328
  applyPragmas(db, pragmas);
286
329
  runner = new StatementRunner(db);
287
330
  mode = cpMode;
@@ -363,6 +406,30 @@ export { ThreadWriteWorkerClient, applyPragmas, serializeError };
363
406
  `);
364
407
  console.log('[orez] patched zero-cache write-worker-client.js (inline writer)');
365
408
  }
409
+ function patchCustomFetch(zcBase) {
410
+ const customFetchPath = resolve(zcBase, 'custom', 'fetch.js');
411
+ if (!existsSync(customFetchPath)) {
412
+ throw new Error(`orez CF overlay: custom/fetch.js missing at ${customFetchPath}`);
413
+ }
414
+ let code = readFileSync(customFetchPath, 'utf8');
415
+ if (code.includes('__orezFetchCFInstanceAPI')) {
416
+ if (code.includes('fetchCFInstanceAPI as __orezFetchCFInstanceAPI') &&
417
+ code.includes('await __orezFetchCFInstanceAPI(finalUrl, {')) {
418
+ return;
419
+ }
420
+ throw new Error('orez CF overlay: custom fetch patch is incomplete');
421
+ }
422
+ const anchor = 'const response = await fetch(finalUrl, {';
423
+ const count = code.split(anchor).length - 1;
424
+ if (count !== 1) {
425
+ throw new Error(`orez CF overlay: expected one custom fetch anchor, found ${count}`);
426
+ }
427
+ code =
428
+ 'import { fetchCFInstanceAPI as __orezFetchCFInstanceAPI } from "orez/worker/cf-instance-runtime";\n' +
429
+ code.replace(anchor, 'const response = await __orezFetchCFInstanceAPI(finalUrl, {');
430
+ writeFileSync(customFetchPath, code);
431
+ console.log('[orez] patched zero-cache custom fetch (instance-routed API host)');
432
+ }
366
433
  // zero-cache's initial sync prepares a fixed 50-row multi-row INSERT per
367
434
  // copied table (insertSql + `,${valuesSql}`.repeat(49)). better-sqlite3
368
435
  // accepts thousands of bound parameters, but Cloudflare DO SQLite caps a
@@ -373,8 +440,7 @@ export { ThreadWriteWorkerClient, applyPragmas, serializeError };
373
440
  function patchInitialSyncBatchParams(zcBase) {
374
441
  const initialSyncPath = resolve(zcBase, 'services', 'change-source', 'pg', 'initial-sync.js');
375
442
  if (!existsSync(initialSyncPath)) {
376
- console.warn('[orez] initial-sync.js not found at', initialSyncPath);
377
- return;
443
+ throw new Error(`orez CF overlay: initial-sync.js missing at ${initialSyncPath}`);
378
444
  }
379
445
  let code = readFileSync(initialSyncPath, 'utf-8');
380
446
  if (code.includes('orezRowsPerBatch'))
@@ -397,10 +463,7 @@ function patchInitialSyncBatchParams(zcBase) {
397
463
  for (const [from, to] of replacements) {
398
464
  const count = code.split(from).length - 1;
399
465
  if (count !== 2) {
400
- console.warn(`[orez] expected 2 occurrences of initial-sync batch pattern, found ${count}` +
401
- 'zero-cache version may have changed; skipping the DO bound-parameter batch patch. ' +
402
- 'initial sync of tables with rows WILL fail on Cloudflare DOs until this is fixed.');
403
- return;
466
+ throw new Error(`orez CF overlay: expected 2 initial-sync batch anchors, found ${count}`);
404
467
  }
405
468
  code = code.replaceAll(from, to);
406
469
  }
@@ -416,8 +479,7 @@ function patchInitialSyncBatchParams(zcBase) {
416
479
  function patchLitestreamRestore(zcBase) {
417
480
  const commandsPath = resolve(zcBase, 'services', 'litestream', 'commands.js');
418
481
  if (!existsSync(commandsPath)) {
419
- console.warn('[orez] litestream commands.js not found at', commandsPath);
420
- return;
482
+ throw new Error(`orez CF overlay: litestream commands.js missing at ${commandsPath}`);
421
483
  }
422
484
  applyLitestreamRestoreGuard(commandsPath);
423
485
  console.log('[orez] patched zero-cache litestream commands.js (no-op restore)');
@@ -425,8 +487,7 @@ function patchLitestreamRestore(zcBase) {
425
487
  function patchChangeLogCleanupRetry(zcBase) {
426
488
  const servicePath = resolve(zcBase, 'services', 'change-streamer', 'change-streamer-service.js');
427
489
  if (!existsSync(servicePath)) {
428
- console.warn('[orez] change-streamer-service.js not found at', servicePath);
429
- return;
490
+ throw new Error(`orez CF overlay: change-streamer service missing at ${servicePath}`);
430
491
  }
431
492
  applyChangeLogCleanupRetryPatch(servicePath);
432
493
  console.log('[orez] patched zero-cache changeLog cleanup retry');
@@ -434,7 +495,7 @@ function patchChangeLogCleanupRetry(zcBase) {
434
495
  function patchPgsqlParserWasm(nodeModulesPath, outDir) {
435
496
  const sourcePackagePath = findPackageRoot(nodeModulesPath, 'libpg-query');
436
497
  if (!sourcePackagePath) {
437
- return {};
498
+ throw new Error('orez CF overlay: libpg-query package is missing');
438
499
  }
439
500
  const targetPackagePath = resolve(outDir, 'node_modules', 'libpg-query');
440
501
  const parserIndexPath = resolve(targetPackagePath, 'wasm', 'index.js');
@@ -443,7 +504,7 @@ function patchPgsqlParserWasm(nodeModulesPath, outDir) {
443
504
  mkdirSync(dirname(targetPackagePath), { recursive: true });
444
505
  cpSync(sourcePackagePath, targetPackagePath, { recursive: true, dereference: true });
445
506
  if (!existsSync(parserIndexPath) || !existsSync(wasmPath)) {
446
- return {};
507
+ throw new Error('orez CF overlay: libpg-query wasm files are missing');
447
508
  }
448
509
  let code = readFileSync(parserIndexPath, 'utf-8');
449
510
  if (code.includes('orez-libpg-query-wasm-binary') &&
@@ -455,15 +516,11 @@ function patchPgsqlParserWasm(nodeModulesPath, outDir) {
455
516
  };
456
517
  }
457
518
  if (code.includes('orez-libpg-query-wasm-binary')) {
458
- console.warn('[orez] libpg-query wasm loader already patched with an older shape. ' +
459
- 'Regenerate the overlay from an unpatched libpg-query install.');
460
- return {};
519
+ throw new Error('orez CF overlay: libpg-query wasm loader has an unsupported older patch');
461
520
  }
462
521
  const pattern = 'const initPromise = PgQueryModule().then((module) => {';
463
522
  if (!code.includes(pattern)) {
464
- console.warn('[orez] could not find PgQueryModule init in libpg-query wasm index. ' +
465
- 'pgsql-parser version may have changed — check compatibility.');
466
- return {};
523
+ throw new Error('orez CF overlay: PgQueryModule init anchor missing in libpg-query wasm index');
467
524
  }
468
525
  // workerd forbids compiling wasm from bytes at runtime (WebAssembly.instantiate
469
526
  // on raw bytes throws "Wasm code generation disallowed by embedder"), so we do
@@ -1 +1 @@
1
- {"version":3,"file":"cf-patches.js","sourceRoot":"","sources":["../../src/worker/cf-patches.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cf-patches.js","sourceRoot":"","sources":["../../src/worker/cf-patches.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export declare class DurableObjectWebSocketHandoff {
38
38
  constructor(getFastify: () => FastifyHandoffTarget | null | undefined);
39
39
  /** number of live zero-cache sync bridges (open WebSocket sync sessions). */
40
40
  get activeConnections(): number;
41
+ /** close every bridge owned by this logical Durable Object runtime. */
42
+ closeAll(code?: number, reason?: string): void;
41
43
  accept(server: DurableObjectWebSocket, message: HandoffRequestMessage, ctx?: DurableObjectWebSocketHandoffContext): boolean;
42
44
  }
43
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object-websocket-handoff.d.ts","sourceRoot":"","sources":["../../src/worker/durable-object-websocket-handoff.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oCAAoC;IACnD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAA;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACtE,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,IAAI,IAAI,CAAA;CACf;AAWD,UAAU,oBAAoB;IAC5B,UAAU,CACR,GAAG,EAAE;QAAE,OAAO,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EACzD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAA;IACV,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,QAAQ,CAAA;QACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;KAC1C,CAAA;CACF;AAgJD,qBAAa,6BAA6B;;IAG5B,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM,oBAAoB,GAAG,IAAI,GAAG,SAAS;IAE7E,6EAA6E;IAC7E,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,MAAM,CACJ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,qBAAqB,EAC9B,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO;CAiIX"}
1
+ {"version":3,"file":"durable-object-websocket-handoff.d.ts","sourceRoot":"","sources":["../../src/worker/durable-object-websocket-handoff.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,oCAAoC;IACnD,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;CAC3C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,IAAI,IAAI,CAAA;IACd,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACtE,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,UAAU,cAAc;IACtB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAAA;IACxD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3C,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACnE,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI,CAAA;IACtE,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,IAAI,IAAI,CAAA;CACf;AAWD,UAAU,oBAAoB;IAC5B,UAAU,CACR,GAAG,EAAE;QAAE,OAAO,EAAE,qBAAqB,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,EACzD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAA;IACV,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,QAAQ,CAAA;QACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAA;KAC1C,CAAA;CACF;AAgJD,qBAAa,6BAA6B;;IAG5B,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM,oBAAoB,GAAG,IAAI,GAAG,SAAS;IAE7E,6EAA6E;IAC7E,IAAI,iBAAiB,IAAI,MAAM,CAE9B;IAED,uEAAuE;IACvE,QAAQ,CAAC,IAAI,SAAO,EAAE,MAAM,SAA6B,GAAG,IAAI;IAMhE,MAAM,CACJ,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,qBAAqB,EAC9B,GAAG,CAAC,EAAE,oCAAoC,GACzC,OAAO;CAmGX"}
@@ -126,6 +126,12 @@ export class DurableObjectWebSocketHandoff {
126
126
  get activeConnections() {
127
127
  return this.#bridges.size;
128
128
  }
129
+ /** close every bridge owned by this logical Durable Object runtime. */
130
+ closeAll(code = 1001, reason = 'zero-cache embed stopped') {
131
+ for (const bridge of [...this.#bridges.values()]) {
132
+ bridge.socket.close(code, reason);
133
+ }
134
+ }
129
135
  accept(server, message, ctx) {
130
136
  const id = crypto.randomUUID();
131
137
  server.accept();
@@ -184,51 +190,26 @@ export class DurableObjectWebSocketHandoff {
184
190
  }
185
191
  #handoff(bridge) {
186
192
  const handoffMsg = { message: bridge.message, head: new Uint8Array(0) };
187
- const g = globalThis;
188
- const fallback = this.getFastify() ?? g.__orez_fastify_instance;
189
- const instances = [
190
- ...(g.__orez_fastify_instances ?? []),
191
- ...(fallback ? [fallback] : []),
192
- ...(g.__orez_fastify_instance ? [g.__orez_fastify_instance] : []),
193
- ];
193
+ const instance = this.getFastify();
194
+ if (!instance)
195
+ return false;
194
196
  // 1. {websocket:true} routes (e.g. /replication/*/changes) are matched by
195
- // the fastify shim's tryHandoff. iterate every instance, stop at first.
196
- for (const inst of instances) {
197
- if (inst?.tryHandoff?.(handoffMsg, bridge.socket))
198
- return true;
199
- }
197
+ // the exact fastify dispatcher owned by this Durable Object runtime.
198
+ if (instance.tryHandoff?.(handoffMsg, bridge.socket))
199
+ return true;
200
200
  // 2. the /sync/v*/connect path is served by the ZeroDispatcher's
201
201
  // server.onMessageType('handoff') listener, NOT a {websocket:true} route,
202
202
  // so tryHandoff never matches it. emit the handoff on the dispatcher's
203
- // server — mirroring the in-process ws shim (shims/ws.ts). Zero's runner
204
- // sends "ready" before constructing the dispatcher, so the captured
205
- // fallback instance can be stale; use the registered Fastify servers and
206
- // pick those with an extra handoff listener beyond the shim's own
207
- // websocket-route listener.
208
- const servers = new Set();
209
- for (const inst of instances) {
210
- const server = inst?.server;
211
- const handoffListeners = server?.listenerCount?.('message') ?? 0;
212
- if (typeof server?.emit === 'function' && handoffListeners > 1) {
213
- servers.add(server);
214
- }
215
- }
216
- if (!servers.size && typeof fallback?.server?.emit === 'function') {
217
- const handoffListeners = fallback.server.listenerCount?.('message');
218
- if (handoffListeners === undefined || handoffListeners > 1) {
219
- servers.add(fallback.server);
220
- }
221
- }
222
- let emittedAny = false;
223
- let maxListeners = -1;
224
- for (const server of servers) {
225
- const listeners = server.listenerCount?.('message') ?? -1;
226
- const emitted = server.emit('message', ['handoff', handoffMsg], bridge.socket);
227
- emittedAny ||= Boolean(emitted);
228
- maxListeners = Math.max(maxListeners, listeners);
229
- }
230
- console.log(`[orez-ws] dispatcher emit candidates=${servers.size} emitted=${emittedAny} listeners=${maxListeners}`);
231
- return emittedAny;
203
+ // server — mirroring the in-process ws shim (shims/ws.ts).
204
+ const server = instance.server;
205
+ if (typeof server?.emit !== 'function')
206
+ return false;
207
+ const listeners = server.listenerCount?.('message');
208
+ if (listeners !== undefined && listeners <= 1)
209
+ return false;
210
+ const emitted = Boolean(server.emit('message', ['handoff', handoffMsg], bridge.socket));
211
+ console.log(`[orez-ws] dispatcher emit emitted=${emitted} listeners=${listeners ?? -1}`);
212
+ return emitted;
232
213
  }
233
214
  }
234
215
  //# sourceMappingURL=durable-object-websocket-handoff.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"durable-object-websocket-handoff.js","sourceRoot":"","sources":["../../src/worker/durable-object-websocket-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"durable-object-websocket-handoff.js","sourceRoot":"","sources":["../../src/worker/durable-object-websocket-handoff.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,14 @@
15
15
  * the contract: starting a new embed generation proves the previous one is
16
16
  * dead, so the embed reclaims at START exactly what process death would have
17
17
  * reclaimed — no more, no less. every sqlite handle zero-cache opens is
18
- * registered in `globalThis.__orez_open_sqlite_dbs` at the platform's native
19
- * seam (node: a pure-tracking patch in zqlite's Database, see
20
- * zero-sqlite-handle-patch.ts; CF: the DO sqlite shim registers its own
21
- * instances), and `sweepLeakedSqliteHandles()` closes the leftovers. doing
22
- * this at start (not stop) also covers generations that crashed without
23
- * running stop(), exactly like a process supervisor restarting a dead worker.
18
+ * registered at the platform's native seam. node uses
19
+ * `globalThis.__orez_open_sqlite_dbs` through the pure-tracking zqlite patch
20
+ * (see zero-sqlite-handle-patch.ts). CF stores handles on the explicit Durable
21
+ * Object runtime. doing this at start (not stop) also covers generations that
22
+ * crashed without running stop(), exactly like a process supervisor restarting
23
+ * a dead worker.
24
24
  */
25
+ import type { CFInstanceRuntime } from './cf-instance-runtime.js';
25
26
  interface CloseableDb {
26
27
  close(): unknown;
27
28
  }
@@ -32,5 +33,7 @@ export declare function openSqliteHandleRegistry(): Set<CloseableDb>;
32
33
  * returns the number of handles closed.
33
34
  */
34
35
  export declare function sweepLeakedSqliteHandles(): number;
36
+ /** close only the sqlite handles owned by one CF Durable Object runtime. */
37
+ export declare function sweepCFInstanceSqliteHandles(runtime: CFInstanceRuntime): number;
35
38
  export {};
36
39
  //# sourceMappingURL=embed-generation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"embed-generation.d.ts","sourceRoot":"","sources":["../../src/worker/embed-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAA;CACjB;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,IAAI,GAAG,CAAC,WAAW,CAAC,CAE3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAcjD"}
1
+ {"version":3,"file":"embed-generation.d.ts","sourceRoot":"","sources":["../../src/worker/embed-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAEjE,UAAU,WAAW;IACnB,KAAK,IAAI,OAAO,CAAA;CACjB;AAED,mEAAmE;AACnE,wBAAgB,wBAAwB,IAAI,GAAG,CAAC,WAAW,CAAC,CAE3D;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAcjD;AAED,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAiB/E"}
@@ -15,12 +15,12 @@
15
15
  * the contract: starting a new embed generation proves the previous one is
16
16
  * dead, so the embed reclaims at START exactly what process death would have
17
17
  * reclaimed — no more, no less. every sqlite handle zero-cache opens is
18
- * registered in `globalThis.__orez_open_sqlite_dbs` at the platform's native
19
- * seam (node: a pure-tracking patch in zqlite's Database, see
20
- * zero-sqlite-handle-patch.ts; CF: the DO sqlite shim registers its own
21
- * instances), and `sweepLeakedSqliteHandles()` closes the leftovers. doing
22
- * this at start (not stop) also covers generations that crashed without
23
- * running stop(), exactly like a process supervisor restarting a dead worker.
18
+ * registered at the platform's native seam. node uses
19
+ * `globalThis.__orez_open_sqlite_dbs` through the pure-tracking zqlite patch
20
+ * (see zero-sqlite-handle-patch.ts). CF stores handles on the explicit Durable
21
+ * Object runtime. doing this at start (not stop) also covers generations that
22
+ * crashed without running stop(), exactly like a process supervisor restarting
23
+ * a dead worker.
24
24
  */
25
25
  /** the cross-module registry of open zero-cache sqlite handles. */
26
26
  export function openSqliteHandleRegistry() {
@@ -46,4 +46,25 @@ export function sweepLeakedSqliteHandles() {
46
46
  dbs.clear();
47
47
  return closed;
48
48
  }
49
+ /** close only the sqlite handles owned by one CF Durable Object runtime. */
50
+ export function sweepCFInstanceSqliteHandles(runtime) {
51
+ let closed = 0;
52
+ const errors = [];
53
+ for (const db of [...runtime.sqliteHandles]) {
54
+ try {
55
+ db.close();
56
+ runtime.sqliteHandles.delete(db);
57
+ }
58
+ catch (error) {
59
+ errors.push(error);
60
+ }
61
+ closed++;
62
+ }
63
+ if (errors.length === 1)
64
+ throw errors[0];
65
+ if (errors.length > 1) {
66
+ throw new AggregateError(errors, 'zero-cache CF embed: sqlite teardown failed');
67
+ }
68
+ return closed;
69
+ }
49
70
  //# sourceMappingURL=embed-generation.js.map