orez 0.5.14 → 0.5.17

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 (69) hide show
  1. package/README.md +4 -0
  2. package/dist/pg-proxy-do-backend.d.ts +10 -0
  3. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  4. package/dist/pg-proxy-do-backend.js +154 -31
  5. package/dist/pg-proxy-do-backend.js.map +1 -1
  6. package/dist/sync-browser-host/generated/sqlite3-browser.wasm +0 -0
  7. package/dist/sync-browser-host/generated/sync_wasm.js +824 -0
  8. package/dist/sync-browser-host/generated/sync_wasm_bg.wasm +0 -0
  9. package/dist/sync-browser-host/host.d.ts +8 -0
  10. package/dist/sync-browser-host/host.d.ts.map +1 -0
  11. package/dist/sync-browser-host/host.js +435 -0
  12. package/dist/sync-browser-host/host.js.map +1 -0
  13. package/dist/sync-browser-host/idb-snapshot.d.ts +10 -0
  14. package/dist/sync-browser-host/idb-snapshot.d.ts.map +1 -0
  15. package/dist/sync-browser-host/idb-snapshot.js +109 -0
  16. package/dist/sync-browser-host/idb-snapshot.js.map +1 -0
  17. package/dist/sync-browser-host/index.d.ts +4 -0
  18. package/dist/sync-browser-host/index.d.ts.map +1 -0
  19. package/dist/sync-browser-host/index.js +4 -0
  20. package/dist/sync-browser-host/index.js.map +1 -0
  21. package/dist/sync-browser-host/message-port.d.ts +6 -0
  22. package/dist/sync-browser-host/message-port.d.ts.map +1 -0
  23. package/dist/sync-browser-host/message-port.js +182 -0
  24. package/dist/sync-browser-host/message-port.js.map +1 -0
  25. package/dist/sync-browser-host/sqlite-adapter.d.ts +66 -0
  26. package/dist/sync-browser-host/sqlite-adapter.d.ts.map +1 -0
  27. package/dist/sync-browser-host/sqlite-adapter.js +135 -0
  28. package/dist/sync-browser-host/sqlite-adapter.js.map +1 -0
  29. package/dist/sync-browser-host/types.d.ts +88 -0
  30. package/dist/sync-browser-host/types.d.ts.map +1 -0
  31. package/dist/sync-browser-host/types.js +12 -0
  32. package/dist/sync-browser-host/types.js.map +1 -0
  33. package/dist/test-setup.d.ts +2 -0
  34. package/dist/test-setup.d.ts.map +1 -0
  35. package/dist/test-setup.js +35 -0
  36. package/dist/test-setup.js.map +1 -0
  37. package/dist/worker/cf-instance-runtime.d.ts +3 -1
  38. package/dist/worker/cf-instance-runtime.d.ts.map +1 -1
  39. package/dist/worker/cf-instance-runtime.js +29 -2
  40. package/dist/worker/cf-instance-runtime.js.map +1 -1
  41. package/dist/worker/cf-patches.d.ts +8 -7
  42. package/dist/worker/cf-patches.d.ts.map +1 -1
  43. package/dist/worker/cf-patches.js +204 -14
  44. package/dist/worker/cf-patches.js.map +1 -1
  45. package/dist/worker/shims/sqlite.d.ts +29 -0
  46. package/dist/worker/shims/sqlite.d.ts.map +1 -1
  47. package/dist/worker/shims/sqlite.js +56 -14
  48. package/dist/worker/shims/sqlite.js.map +1 -1
  49. package/dist/worker/zero-cache-do-sqlite.d.ts +18 -4
  50. package/dist/worker/zero-cache-do-sqlite.d.ts.map +1 -1
  51. package/dist/worker/zero-cache-do-sqlite.js +23 -1
  52. package/dist/worker/zero-cache-do-sqlite.js.map +1 -1
  53. package/dist/worker/zero-cache-embed-cf.d.ts +1 -1
  54. package/dist/worker/zero-cache-embed-cf.d.ts.map +1 -1
  55. package/dist/worker/zero-cache-embed-cf.js +248 -33
  56. package/dist/worker/zero-cache-embed-cf.js.map +1 -1
  57. package/dist/worker/zero-cache-run-worker.d.ts +2 -1
  58. package/dist/worker/zero-cache-run-worker.d.ts.map +1 -1
  59. package/dist/worker/zero-cache-run-worker.js +16 -1
  60. package/dist/worker/zero-cache-run-worker.js.map +1 -1
  61. package/dist/zero-http/test-harness.d.ts +2 -6
  62. package/dist/zero-http/test-harness.d.ts.map +1 -1
  63. package/dist/zero-http/test-harness.js +4 -2
  64. package/dist/zero-http/test-harness.js.map +1 -1
  65. package/dist/zero-http/transport.d.ts +17 -4
  66. package/dist/zero-http/transport.d.ts.map +1 -1
  67. package/dist/zero-http/transport.js +391 -44
  68. package/dist/zero-http/transport.js.map +1 -1
  69. package/package.json +14 -4
@@ -39,22 +39,51 @@ import { EventEmitter } from 'node:events';
39
39
  import { createBrowserProxy } from '../pg-proxy-browser.js';
40
40
  import { DoBackend, releaseDoBackendInstanceCaches } from '../pg-proxy-do-backend.js';
41
41
  import { deleteReplicationState, resetReplicationState, signalReplicationChange, } from '../replication/handler.js';
42
- import { apiURLForCFInstance, dispatcherFastifyForCFInstance, logCFInstance, postgresURLForCFInstance, registerCFInstanceRuntime, releaseCFInstanceRuntime, setCFInstanceEnv, setCFInstanceProxy, setCFInstanceRuntimeStop, sqliteDirectoryForCFInstance, sqlitePathForCFInstance, stopCFInstanceRuntimeForReplacement, } from './cf-instance-runtime.js';
42
+ import { apiURLForCFInstance, dispatcherFastifyForCFInstance, logCFInstance, postgresURLForCFInstance, registerCFInstanceRuntime, releaseCFInstanceRuntime, setCFInstanceEnv, setCFInstanceProxy, setCFInstanceRuntimeAbandon, setCFInstanceRuntimeStop, sqliteDirectoryForCFInstance, sqlitePathForCFInstance, stopCFInstanceRuntimeForReplacement, } from './cf-instance-runtime.js';
43
43
  import { DurableObjectWebSocketHandoff, } from './durable-object-websocket-handoff.js';
44
44
  import { sweepCFInstanceSqliteHandles } from './embed-generation.js';
45
45
  import { createLocalSqlBackend } from './local-sql-backend.js';
46
+ import { cleanupInactiveSnapshotTablesForCFInstance } from './shims/sqlite.js';
46
47
  import { acquireZeroProcessEnv } from './shims/zero-process-env.js';
47
48
  // static import so wrangler follows zero-cache's dependency tree and shim aliases.
48
- import { runWorker as _runWorker } from './zero-cache-run-worker.js';
49
+ import { abandonWorkerTree as _abandonWorkerTree, runWorker as _runWorker, } from './zero-cache-run-worker.js';
49
50
  const runWorkerFn = _runWorker;
51
+ const abandonWorkerTreeFn = _abandonWorkerTree;
50
52
  const WORKER_SHUTDOWN_TIMEOUT_MS = 5_000;
51
53
  const WORKER_FORCE_SHUTDOWN_TIMEOUT_MS = 5_000;
54
+ const STARTUP_CLEANUP_TIMEOUT_MS = 15_000;
55
+ const ZERO_STARTUP_STOPPED_ERROR = 'OrezZeroStartupStoppedError';
52
56
  function releaseGenerationWhenComplete(generation) {
57
+ if (generation.abandoned)
58
+ return;
53
59
  if (generation.workerDone && generation.cleanupDone && !generation.cleanupFailed) {
54
60
  deleteReplicationState(generation.runtime.instanceId);
55
61
  releaseCFInstanceRuntime(generation.runtime);
56
62
  }
57
63
  }
64
+ function abortReason(signal) {
65
+ return signal.reason ?? new Error('zero-cache CF embed: operation aborted');
66
+ }
67
+ function isExpectedStartupStop(error) {
68
+ return error instanceof Error && error.name === ZERO_STARTUP_STOPPED_ERROR;
69
+ }
70
+ function waitForAbortable(promise, signal) {
71
+ if (signal.aborted)
72
+ return Promise.reject(abortReason(signal));
73
+ return new Promise((resolve, reject) => {
74
+ let settled = false;
75
+ const finish = (complete) => {
76
+ if (settled)
77
+ return;
78
+ settled = true;
79
+ signal.removeEventListener('abort', onAbort);
80
+ complete();
81
+ };
82
+ const onAbort = () => finish(() => reject(abortReason(signal)));
83
+ signal.addEventListener('abort', onAbort, { once: true });
84
+ promise.then((value) => finish(() => resolve(value)), (error) => finish(() => reject(error)));
85
+ });
86
+ }
58
87
  // tx-journal owner id for every pg session this embed opens. recovery at
59
88
  // embed boot targets exactly this owner, so it can never roll back another
60
89
  // client's live transaction on the shared upstream db (e.g. the app worker's
@@ -62,6 +91,10 @@ function releaseGenerationWhenComplete(generation) {
62
91
  const EMBED_TX_OWNER = 'orez-embed';
63
92
  // roll back journaled transactions a dead embed generation left on the
64
93
  // remote SQL DO (upstream db sessions killed mid-transaction).
94
+ // this request is deliberately not abortable: a service-binding abort can
95
+ // reject locally while the target DO keeps running. teardown joins this
96
+ // promise before releasing the runtime claim, so a replacement cannot open
97
+ // transactions under the same owner until recovery has actually responded.
65
98
  async function recoverRemoteTransactions(url, owner, backendFetch) {
66
99
  const fetcher = backendFetch ?? fetch;
67
100
  const resp = await fetcher(url, {
@@ -84,6 +117,7 @@ function addProtocolSessionFactory(backend, createProtocolSession) {
84
117
  * a DoBackend target for upstream/CVR/change Postgres connections.
85
118
  */
86
119
  export async function startZeroCacheEmbedCF(opts) {
120
+ const startupStartedAt = Date.now();
87
121
  const appId = opts.appId || 'zero';
88
122
  const publications = opts.publications?.join(',') || `orez_${appId}_public`;
89
123
  const readyTimeout = opts.readyTimeout ?? 30000;
@@ -94,23 +128,129 @@ export async function startZeroCacheEmbedCF(opts) {
94
128
  if (!opts.apiFetch && (opts.env?.ZERO_MUTATE_URL || opts.env?.ZERO_QUERY_URL)) {
95
129
  throw new Error('zero-cache CF embed: apiFetch is required with ZERO_MUTATE_URL or ZERO_QUERY_URL');
96
130
  }
97
- await stopCFInstanceRuntimeForReplacement(opts.instanceId);
98
- const runtime = registerCFInstanceRuntime({
99
- apiFetch: opts.apiFetch,
100
- doSqlite: opts.doSqlite,
101
- env: opts.env ?? {},
102
- instanceId: opts.instanceId,
103
- log: opts.log,
104
- pgPassword,
105
- pgUser,
106
- });
131
+ if (!Number.isFinite(readyTimeout) || readyTimeout <= 0) {
132
+ throw new Error('zero-cache CF embed: readyTimeout must be a positive number');
133
+ }
134
+ const startupDeadlineAt = startupStartedAt + readyTimeout;
135
+ const startupAbort = new AbortController();
136
+ const startupOperations = new Set();
137
+ let startupPhase = 'entry';
138
+ const emitStartupEvent = (event) => {
139
+ try {
140
+ opts.log?.({
141
+ component: 'embed',
142
+ instanceId: opts.instanceId,
143
+ ...event,
144
+ });
145
+ }
146
+ catch {
147
+ // diagnostics cannot break startup
148
+ }
149
+ };
150
+ const assertWithinStartupDeadline = (phase) => {
151
+ if (startupAbort.signal.aborted)
152
+ throw abortReason(startupAbort.signal);
153
+ const now = Date.now();
154
+ if (now < startupDeadlineAt)
155
+ return;
156
+ startupPhase = phase;
157
+ const error = new Error(`zero-cache CF embed: startup timed out after ${readyTimeout}ms in phase ${phase}`);
158
+ emitStartupEvent({
159
+ elapsedMs: now - startupStartedAt,
160
+ event: 'startup-phase-timeout',
161
+ phase,
162
+ timeoutMs: readyTimeout,
163
+ });
164
+ startupAbort.abort(error);
165
+ throw error;
166
+ };
167
+ let startupTimer;
168
+ const armStartupTimer = () => {
169
+ startupTimer = setTimeout(() => {
170
+ try {
171
+ assertWithinStartupDeadline(startupPhase);
172
+ }
173
+ catch {
174
+ return;
175
+ }
176
+ armStartupTimer();
177
+ }, Math.max(0, startupDeadlineAt - Date.now()));
178
+ };
179
+ armStartupTimer();
180
+ const trackStartupOperation = (operation) => {
181
+ startupOperations.add(operation);
182
+ void operation.then(() => startupOperations.delete(operation), () => startupOperations.delete(operation));
183
+ return operation;
184
+ };
185
+ const runStartupPhase = async (phase, run) => {
186
+ startupPhase = phase;
187
+ assertWithinStartupDeadline(phase);
188
+ const phaseStartedAt = Date.now();
189
+ emitStartupEvent({
190
+ elapsedMs: phaseStartedAt - startupStartedAt,
191
+ event: 'startup-phase-start',
192
+ phase,
193
+ remainingMs: Math.max(0, startupDeadlineAt - phaseStartedAt),
194
+ });
195
+ try {
196
+ const operation = trackStartupOperation(Promise.resolve().then(run));
197
+ const result = await waitForAbortable(operation, startupAbort.signal);
198
+ assertWithinStartupDeadline(phase);
199
+ emitStartupEvent({
200
+ elapsedMs: Date.now() - startupStartedAt,
201
+ event: 'startup-phase-complete',
202
+ phase,
203
+ phaseElapsedMs: Date.now() - phaseStartedAt,
204
+ remainingMs: Math.max(0, startupDeadlineAt - Date.now()),
205
+ });
206
+ return result;
207
+ }
208
+ catch (error) {
209
+ emitStartupEvent({
210
+ elapsedMs: Date.now() - startupStartedAt,
211
+ error: error instanceof Error ? error.message : String(error),
212
+ event: 'startup-phase-failed',
213
+ phase,
214
+ phaseElapsedMs: Date.now() - phaseStartedAt,
215
+ });
216
+ throw error;
217
+ }
218
+ };
219
+ let registeredRuntime;
220
+ try {
221
+ await runStartupPhase('replacement-stop', () => stopCFInstanceRuntimeForReplacement(opts.instanceId, opts.doSqlite));
222
+ await runStartupPhase('runtime-registration', async () => {
223
+ registeredRuntime = registerCFInstanceRuntime({
224
+ apiFetch: opts.apiFetch,
225
+ doSqlite: opts.doSqlite,
226
+ env: opts.env ?? {},
227
+ instanceId: opts.instanceId,
228
+ log: opts.log,
229
+ pgPassword,
230
+ pgUser,
231
+ });
232
+ });
233
+ }
234
+ catch (error) {
235
+ if (registeredRuntime)
236
+ releaseCFInstanceRuntime(registeredRuntime);
237
+ clearTimeout(startupTimer);
238
+ throw error;
239
+ }
240
+ if (!registeredRuntime) {
241
+ clearTimeout(startupTimer);
242
+ throw new Error('zero-cache CF embed: runtime registration did not complete');
243
+ }
244
+ const runtime = registeredRuntime;
107
245
  const generation = {
246
+ abandoned: false,
108
247
  cleanupDone: false,
109
248
  cleanupFailed: false,
110
249
  runtime,
111
250
  workerDone: true,
112
251
  };
113
252
  const instanceId = runtime.instanceId;
253
+ const zeroTaskId = `orez-cf-${runtime.encodedId}`;
114
254
  const globalRecord = globalThis;
115
255
  let processRecord;
116
256
  let releaseProcessEnv = null;
@@ -128,7 +268,6 @@ export async function startZeroCacheEmbedCF(opts) {
128
268
  let startupFailure;
129
269
  let shutdownPromise = null;
130
270
  let fastifyInstance = null;
131
- let readyTimer;
132
271
  let debugEmbed = false;
133
272
  const webSocketHandoff = new DurableObjectWebSocketHandoff(() => fastifyInstance);
134
273
  const releaseProcessEnvWhenWorkerDone = () => {
@@ -138,12 +277,12 @@ export async function startZeroCacheEmbedCF(opts) {
138
277
  releaseProcessEnv = null;
139
278
  };
140
279
  const shutdown = () => {
280
+ if (generation.abandoned)
281
+ return Promise.resolve();
141
282
  if (shutdownPromise)
142
283
  return shutdownPromise;
143
284
  stopping = true;
144
285
  isReady = false;
145
- if (readyTimer)
146
- clearTimeout(readyTimer);
147
286
  shutdownPromise = (async () => {
148
287
  const cleanupErrors = [];
149
288
  let resourceCleanupFailed = false;
@@ -193,9 +332,14 @@ export async function startZeroCacheEmbedCF(opts) {
193
332
  }
194
333
  }
195
334
  }
196
- if (workerFailed && workerError !== startupFailure) {
335
+ if (generation.abandoned)
336
+ return;
337
+ if (workerFailed &&
338
+ workerError !== startupFailure &&
339
+ !isExpectedStartupStop(workerError)) {
197
340
  cleanupErrors.push(workerError);
198
341
  }
342
+ await Promise.allSettled([...startupOperations]);
199
343
  if (proxy) {
200
344
  try {
201
345
  await proxy.close();
@@ -258,15 +402,34 @@ export async function startZeroCacheEmbedCF(opts) {
258
402
  });
259
403
  };
260
404
  setCFInstanceRuntimeStop(runtime, shutdown);
405
+ setCFInstanceRuntimeAbandon(runtime, () => {
406
+ generation.abandoned = true;
407
+ generation.cleanupDone = true;
408
+ stopping = true;
409
+ isReady = false;
410
+ abandonWorkerTreeFn(zeroTaskId);
411
+ if (releaseProcessEnv) {
412
+ releaseProcessEnv();
413
+ releaseProcessEnv = null;
414
+ }
415
+ deleteReplicationState(instanceId);
416
+ releaseDoBackendInstanceCaches(instanceId);
417
+ runtime.sqliteHandles.clear();
418
+ parentEmitter?.removeAllListeners();
419
+ parent?.removeAllListeners();
420
+ });
261
421
  try {
262
422
  releaseProcessEnv = acquireZeroProcessEnv();
263
423
  processRecord = globalRecord.process;
424
+ await runStartupPhase('stale-snapshot-cleanup', () => cleanupInactiveSnapshotTablesForCFInstance(runtime));
264
425
  const localSql = createLocalSqlBackend(opts.doSqlite);
265
426
  const txOwner = `${EMBED_TX_OWNER}:${runtime.encodedId}`;
266
427
  const instantiateBackend = (dbName) => new DoBackend(backendUrl, dbName, backendNamespace, {
267
428
  allowTransactionalDDL: true,
268
429
  fetch: dbName === 'postgres' ? opts.backendFetch : localSql.fetch,
269
430
  instanceId,
431
+ log: opts.log,
432
+ signal: startupAbort.signal,
270
433
  signalReplication: () => signalReplicationChange(instanceId),
271
434
  txOwner,
272
435
  });
@@ -276,7 +439,7 @@ export async function startZeroCacheEmbedCF(opts) {
276
439
  return backend;
277
440
  };
278
441
  localSql.recoverOrphanedTransactions();
279
- await recoverRemoteTransactions(`${backendUrl.replace(/\/+$/, '')}/recover-txs?db=postgres&ns=${encodeURIComponent(backendNamespace)}`, txOwner, opts.backendFetch);
442
+ await runStartupPhase('remote-transaction-recovery', () => recoverRemoteTransactions(`${backendUrl.replace(/\/+$/, '')}/recover-txs?db=postgres&ns=${encodeURIComponent(backendNamespace)}`, txOwner, opts.backendFetch));
280
443
  const backends = {
281
444
  postgres: createRootBackend('postgres'),
282
445
  cvr: createRootBackend('zero_cvr'),
@@ -287,18 +450,44 @@ export async function startZeroCacheEmbedCF(opts) {
287
450
  cvr: addProtocolSessionFactory(backends.cvr, () => instantiateBackend('zero_cvr')),
288
451
  cdb: addProtocolSessionFactory(backends.cdb, () => instantiateBackend('zero_cdb')),
289
452
  };
290
- const backendReadyResults = await Promise.allSettled([
291
- backends.postgres.waitReady,
292
- backends.cvr.waitReady,
293
- backends.cdb.waitReady,
294
- ]);
453
+ const backendReadyResults = await runStartupPhase('backend-initialization', () => Promise.allSettled(Object.entries(backends).map(async ([database, backend]) => {
454
+ const startedAt = Date.now();
455
+ emitStartupEvent({
456
+ database,
457
+ elapsedMs: startedAt - startupStartedAt,
458
+ event: 'startup-backend-start',
459
+ phase: 'backend-initialization',
460
+ });
461
+ try {
462
+ await backend.waitReady;
463
+ assertWithinStartupDeadline('backend-initialization');
464
+ emitStartupEvent({
465
+ database,
466
+ elapsedMs: Date.now() - startupStartedAt,
467
+ event: 'startup-backend-complete',
468
+ phase: 'backend-initialization',
469
+ phaseElapsedMs: Date.now() - startedAt,
470
+ });
471
+ }
472
+ catch (error) {
473
+ emitStartupEvent({
474
+ database,
475
+ elapsedMs: Date.now() - startupStartedAt,
476
+ error: error instanceof Error ? error.message : String(error),
477
+ event: 'startup-backend-failed',
478
+ phase: 'backend-initialization',
479
+ phaseElapsedMs: Date.now() - startedAt,
480
+ });
481
+ throw error;
482
+ }
483
+ })));
295
484
  const backendReadyErrors = backendReadyResults.flatMap((result) => result.status === 'rejected' ? [result.reason] : []);
296
485
  if (backendReadyErrors.length === 1)
297
486
  throw backendReadyErrors[0];
298
487
  if (backendReadyErrors.length > 1) {
299
488
  throw new AggregateError(backendReadyErrors, 'zero-cache CF embed: backend setup failed');
300
489
  }
301
- proxy = await createBrowserProxy({
490
+ proxy = await runStartupPhase('proxy-creation', () => createBrowserProxy({
302
491
  postgres: proxyBackends.postgres,
303
492
  cvr: proxyBackends.cvr,
304
493
  cdb: proxyBackends.cdb,
@@ -310,7 +499,7 @@ export async function startZeroCacheEmbedCF(opts) {
310
499
  pgPassword,
311
500
  singleDb: false,
312
501
  logLevel: opts.env?.ZERO_LOG_LEVEL || 'info',
313
- });
502
+ }));
314
503
  setCFInstanceProxy(runtime, (port) => proxy?.handleConnection(port));
315
504
  const createdParent = new EventEmitter();
316
505
  parent = createdParent;
@@ -342,7 +531,7 @@ export async function startZeroCacheEmbedCF(opts) {
342
531
  ZERO_REPLICA_FILE: sqlitePathForCFInstance(instanceId),
343
532
  ZERO_STORAGE_DB_TMP_DIR: sqliteDirectoryForCFInstance(instanceId),
344
533
  ZERO_PORT: String(runtime.basePort),
345
- ZERO_TASK_ID: `orez-cf-${runtime.encodedId}`,
534
+ ZERO_TASK_ID: zeroTaskId,
346
535
  ZERO_SHADOW_SYNC_ENABLED: 'false',
347
536
  };
348
537
  if (opts.apiFetch) {
@@ -387,10 +576,7 @@ export async function startZeroCacheEmbedCF(opts) {
387
576
  };
388
577
  },
389
578
  });
390
- const readyPromise = new Promise((resolve, reject) => {
391
- readyTimer = setTimeout(() => {
392
- reject(new Error(`zero-cache CF embed: timed out waiting for ready after ${readyTimeout}ms`));
393
- }, readyTimeout);
579
+ const readyPromise = new Promise((resolve) => {
394
580
  parentEmitter?.on('message', (msg) => {
395
581
  if (debugEmbed) {
396
582
  logCFInstance(runtime, {
@@ -400,8 +586,6 @@ export async function startZeroCacheEmbedCF(opts) {
400
586
  });
401
587
  }
402
588
  if (!stopping && Array.isArray(msg) && msg[0] === 'ready') {
403
- if (readyTimer)
404
- clearTimeout(readyTimer);
405
589
  isReady = true;
406
590
  resolve();
407
591
  }
@@ -440,19 +624,50 @@ export async function startZeroCacheEmbedCF(opts) {
440
624
  throw new Error('zero-cache CF embed: runWorker exited before ready');
441
625
  }
442
626
  });
443
- await Promise.race([readyPromise, workerStartupPromise]);
627
+ await runStartupPhase('worker-readiness', () => Promise.race([readyPromise, workerStartupPromise]));
444
628
  fastifyInstance = dispatcherFastifyForCFInstance(instanceId);
629
+ assertWithinStartupDeadline('startup-complete');
445
630
  }
446
631
  catch (startupError) {
632
+ clearTimeout(startupTimer);
633
+ if (!startupAbort.signal.aborted)
634
+ startupAbort.abort(startupError);
447
635
  startupFailure = startupError;
636
+ const cleanupAbort = new AbortController();
637
+ const cleanupStartedAt = Date.now();
638
+ emitStartupEvent({
639
+ elapsedMs: cleanupStartedAt - startupStartedAt,
640
+ event: 'startup-cleanup-start',
641
+ phase: startupPhase,
642
+ timeoutMs: STARTUP_CLEANUP_TIMEOUT_MS,
643
+ });
644
+ const cleanupTimer = setTimeout(() => {
645
+ const error = new Error(`zero-cache CF embed: startup cleanup timed out after ${STARTUP_CLEANUP_TIMEOUT_MS}ms`);
646
+ emitStartupEvent({
647
+ elapsedMs: Date.now() - startupStartedAt,
648
+ event: 'startup-cleanup-timeout',
649
+ phase: startupPhase,
650
+ timeoutMs: STARTUP_CLEANUP_TIMEOUT_MS,
651
+ });
652
+ cleanupAbort.abort(error);
653
+ }, STARTUP_CLEANUP_TIMEOUT_MS);
448
654
  try {
449
- await shutdown();
655
+ await waitForAbortable(shutdown(), cleanupAbort.signal);
656
+ emitStartupEvent({
657
+ elapsedMs: Date.now() - startupStartedAt,
658
+ event: 'startup-cleanup-complete',
659
+ phase: startupPhase,
660
+ phaseElapsedMs: Date.now() - cleanupStartedAt,
661
+ });
450
662
  }
451
663
  catch (cleanupError) {
664
+ clearTimeout(cleanupTimer);
452
665
  throw new AggregateError([startupError, cleanupError], 'zero-cache CF embed: startup failed and teardown also failed', { cause: startupError });
453
666
  }
667
+ clearTimeout(cleanupTimer);
454
668
  throw startupError;
455
669
  }
670
+ clearTimeout(startupTimer);
456
671
  return {
457
672
  get ready() {
458
673
  return isReady;
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-embed-cf.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zero-cache-embed-cf.js","sourceRoot":"","sources":["../../src/worker/zero-cache-embed-cf.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
- export { runWorker } from '@rocicorp/zero/out/zero-cache/src/server/runner/run-worker.js';
1
+ export declare function abandonWorkerTree(taskId: string): void;
2
+ export declare function runWorker(parent: unknown, env: Record<string, string>): Promise<void>;
2
3
  //# sourceMappingURL=zero-cache-run-worker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-run-worker.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-run-worker.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+DAA+D,CAAA"}
1
+ {"version":3,"file":"zero-cache-run-worker.d.ts","sourceRoot":"","sources":["../../src/worker/zero-cache-run-worker.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -1,3 +1,18 @@
1
1
  // @ts-expect-error — internal zero-cache module, no type declarations
2
- export { runWorker } from '@rocicorp/zero/out/zero-cache/src/server/runner/run-worker.js';
2
+ import { runWorker as runZeroWorker } from '@rocicorp/zero/out/zero-cache/src/server/runner/run-worker.js';
3
+ // @ts-expect-error — added by the CF overlay, no type declarations
4
+ import * as zeroProcesses from '@rocicorp/zero/out/zero-cache/src/types/processes.js';
5
+ const abandonOrezZeroWorkers = zeroProcesses.abandonOrezZeroWorkers;
6
+ const waitForOrezZeroWorkersStopped = zeroProcesses.waitForOrezZeroWorkersStopped;
7
+ export function abandonWorkerTree(taskId) {
8
+ abandonOrezZeroWorkers(taskId);
9
+ }
10
+ export async function runWorker(parent, env) {
11
+ try {
12
+ await runZeroWorker(parent, env);
13
+ }
14
+ finally {
15
+ await waitForOrezZeroWorkersStopped(env.ZERO_TASK_ID);
16
+ }
17
+ }
3
18
  //# sourceMappingURL=zero-cache-run-worker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"zero-cache-run-worker.js","sourceRoot":"","sources":["../../src/worker/zero-cache-run-worker.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,+DAA+D,CAAA"}
1
+ {"version":3,"file":"zero-cache-run-worker.js","sourceRoot":"","sources":["../../src/worker/zero-cache-run-worker.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,+DAA+D,CAAA;AAC1G,mEAAmE;AACnE,OAAO,KAAK,aAAa,MAAM,sDAAsD,CAAA;AAErF,MAAM,sBAAsB,GAAG,aAAa,CAAC,sBAEpC,CAAA;AACT,MAAM,6BAA6B,GAAG,aAAa,CAAC,6BAElC,CAAA;AAElB,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,sBAAsB,CAAC,MAAM,CAAC,CAAA;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAe,EACf,GAA2B;IAE3B,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;YAAS,CAAC;QACT,MAAM,6BAA6B,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACvD,CAAC;AACH,CAAC"}
@@ -17,11 +17,7 @@ export declare function startZeroHttpHarness(opts?: {
17
17
  rows(table: string): Row[];
18
18
  close(): Promise<void>;
19
19
  };
20
- transport: {
21
- pull(): Promise<void>;
22
- readonly connections: number;
23
- uninstall(): void;
24
- };
20
+ transport: import("./transport.js").HttpPullTransport;
25
21
  createZero(userID: string, createOpts?: {
26
22
  storageKey?: string;
27
23
  pingTimeoutMs?: number;
@@ -29,7 +25,7 @@ export declare function startZeroHttpHarness(opts?: {
29
25
  close(): Promise<void>;
30
26
  }>;
31
27
  export declare function waitForComplete<T>(view: {
32
- addListener(listener: (data: T, resultType: string) => void): () => void;
28
+ addListener(listener: (data: any, resultType: string) => void): () => void;
33
29
  }): Promise<T>;
34
30
  export declare function eventually(assertion: () => void | Promise<void>, timeout?: number): Promise<void>;
35
31
  export declare function sleep(ms: number): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/zero-http/test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAK3D,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,OAAO,qBAAqB,EAC5B,OAAO,uBAAuB,CAC/B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAA;AAE9E,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE;IAChD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,OAAO,KAAK,CAAA;CACtD;;;;;;;;;;;;uBAca,MAAM,eACD;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,WAAW;;GAqBjB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE;IACvC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACzE,GAAG,OAAO,CAAC,CAAC,CAAC,CAcb;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,SAAQ,iBAatF;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
1
+ {"version":3,"file":"test-harness.d.ts","sourceRoot":"","sources":["../../src/zero-http/test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAErC,OAAO,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAuB,KAAK,GAAG,EAAE,MAAM,aAAa,CAAA;AAK3D,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,OAAO,qBAAqB,EAC5B,OAAO,uBAAuB,CAC/B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAA;AAE9E,wBAAsB,oBAAoB,CAAC,IAAI,CAAC,EAAE;IAChD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;KAAE,CAAA;IACxD,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,OAAO,KAAK,CAAA;CACtD;;;;;;;;uBAca,MAAM,eACD;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3D,WAAW;;GAqBjB;AAID,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE;IACvC,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAC3E,GAAG,OAAO,CAAC,CAAC,CAAC,CAcb;AAED,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,SAAQ,iBAatF;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
@@ -1,13 +1,13 @@
1
1
  import { Zero } from '@rocicorp/zero';
2
2
  import { zeroHttpFixtureMutators, zeroHttpFixtureSchema } from './fixture-schema.js';
3
3
  import { startZeroHttpServer } from './server.js';
4
- import { installZeroHttpTransport } from './transport.js';
4
+ import { installHttpPullTransport } from './transport.js';
5
5
  let storageID = 0;
6
6
  export async function startZeroHttpHarness(opts) {
7
7
  const server = await startZeroHttpServer({ seed: opts?.seed });
8
8
  const baseFetch = (input, init) => globalThis.fetch(input, init);
9
9
  const transportFetch = opts?.interceptFetch ? opts.interceptFetch(baseFetch) : baseFetch;
10
- const transport = installZeroHttpTransport({
10
+ const transport = installHttpPullTransport({
11
11
  origin: server.url,
12
12
  fetch: transportFetch,
13
13
  });
@@ -38,6 +38,8 @@ export async function startZeroHttpHarness(opts) {
38
38
  },
39
39
  };
40
40
  }
41
+ // the view's listener data is Immutable<T>; results are deep-cloned to a
42
+ // plain mutable T for assertions, so the listener param is typed loosely
41
43
  export function waitForComplete(view) {
42
44
  return new Promise((resolve, reject) => {
43
45
  const timeout = setTimeout(() => reject(new Error('timed out waiting for complete query')), 5_000);
@@ -1 +1 @@
1
- {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/zero-http/test-harness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-harness.js","sourceRoot":"","sources":["../../src/zero-http/test-harness.ts"],"names":[],"mappings":"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"}