orez 0.6.0 → 0.7.0

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.
@@ -1,4 +1,4 @@
1
- import { createSyncExecutor } from 'orez-sync-executor';
1
+ import { createSyncExecutor, reportPushDiagnostics, SyncExecutorRequestError, } from 'orez-sync-executor';
2
2
  export class ZeroHttpRequestError extends Error {
3
3
  status;
4
4
  constructor(status, message) {
@@ -7,6 +7,12 @@ export class ZeroHttpRequestError extends Error {
7
7
  this.name = 'ZeroHttpRequestError';
8
8
  }
9
9
  }
10
+ function authDataToClaims(authData) {
11
+ const claims = { userID: authData?.id ?? 'anon' };
12
+ if (authData)
13
+ claims.authData = authData;
14
+ return claims;
15
+ }
10
16
  function quoteIdentifier(value) {
11
17
  return `"${value.replaceAll('"', '""')}"`;
12
18
  }
@@ -169,6 +175,25 @@ export function createZeroHttpSyncServer(options) {
169
175
  await tx.exec('UPDATE _zsync_meta SET floor = ?, initialized = 1 WHERE lock = 1', [epoch]);
170
176
  }
171
177
  }
178
+ // membership can shrink across deploys. a retired trigger would keep
179
+ // appending rows this instance cannot map, breaking every later diff.
180
+ const expectedTriggers = new Set(tableConfigs.flatMap((table) => ['i', 'u', 'd'].map((suffix) => `_zsync_tr_${table.physical}_${suffix}`)));
181
+ const installedTriggers = await tx.query(`SELECT name, tbl_name AS "tableName" FROM sqlite_master
182
+ WHERE type = 'trigger' AND name GLOB '_zsync_tr_*'
183
+ ORDER BY name`);
184
+ const retiredTriggers = installedTriggers.filter((trigger) => !expectedTriggers.has(trigger.name));
185
+ if (retiredTriggers.length > 0) {
186
+ const loggedTables = new Set((await tx.query(`SELECT DISTINCT "tableName" AS tableName FROM _zsync_changes
187
+ WHERE "op" = 'row'`)).map((row) => row.tableName));
188
+ for (const tableName of new Set(retiredTriggers.map((trigger) => trigger.tableName))) {
189
+ if (loggedTables.has(tableName)) {
190
+ console.warn(`[zero-http] retired table "${tableName}" has logged sync writes; removed its stale triggers, so future raw SQL writes will not sync. Include the table in this instance if writes continue.`);
191
+ }
192
+ }
193
+ for (const trigger of retiredTriggers) {
194
+ await tx.exec(`DROP TRIGGER IF EXISTS ${quoteIdentifier(trigger.name)}`);
195
+ }
196
+ }
172
197
  for (const table of tableConfigs) {
173
198
  const capture = [
174
199
  ...new Set([
@@ -348,8 +373,9 @@ export function createZeroHttpSyncServer(options) {
348
373
  (SELECT COALESCE(MAX("watermark"), 0) FROM _zsync_changes)`);
349
374
  });
350
375
  },
351
- async handlePull(value, claims) {
376
+ async handlePull(value, authData) {
352
377
  await ready;
378
+ const claims = authDataToClaims(authData);
353
379
  const body = validatePull(value);
354
380
  return applicationDatabase.transaction(async (tx) => {
355
381
  await claimClient(tx, body.clientGroupID, body.clientID, claims.userID);
@@ -380,9 +406,9 @@ export function createZeroHttpSyncServer(options) {
380
406
  };
381
407
  });
382
408
  },
383
- async handlePush(value, claims) {
409
+ async handlePush(value, authData) {
384
410
  await ready;
385
- const result = await executor.push(value, claims);
411
+ const result = await executor.push(value, authDataToClaims(authData));
386
412
  if ('mutations' in result.pushResponse &&
387
413
  result.pushResponse.mutations.length > 0) {
388
414
  await applicationDatabase.transaction((tx) => prune(tx));
@@ -393,27 +419,107 @@ export function createZeroHttpSyncServer(options) {
393
419
  }
394
420
  const DATABASE_ROUTE = /^([A-Za-z0-9_-]{1,64})\/(pull|push)$/;
395
421
  export function createZeroHttpMount(options) {
396
- if (!options.pathPrefix.startsWith('/') ||
397
- (options.pathPrefix !== '/' && !options.pathPrefix.endsWith('/'))) {
398
- throw new TypeError('pathPrefix must start with / and end before the database ID');
422
+ if (!options.pathPrefix.startsWith('/')) {
423
+ throw new TypeError('pathPrefix must start with /');
424
+ }
425
+ if (options.databaseID !== undefined &&
426
+ !/^[A-Za-z0-9_-]{1,64}$/.test(options.databaseID)) {
427
+ throw new TypeError('databaseID must contain 1-64 URL-safe characters');
399
428
  }
429
+ const match = (pathname) => {
430
+ if (!pathname.startsWith(options.pathPrefix))
431
+ return null;
432
+ const suffix = pathname.slice(options.pathPrefix.length);
433
+ if (options.databaseID !== undefined) {
434
+ const operation = /^\/?(pull|push)$/.exec(suffix)?.[1];
435
+ return operation
436
+ ? { databaseID: options.databaseID, operation: operation }
437
+ : null;
438
+ }
439
+ const route = DATABASE_ROUTE.exec(suffix);
440
+ if (!route)
441
+ return null;
442
+ return {
443
+ databaseID: route[1],
444
+ operation: route[2],
445
+ };
446
+ };
447
+ const handle = (route, body, authData) => {
448
+ const server = options.server(route.databaseID);
449
+ return route.operation === 'pull'
450
+ ? server.handlePull(body, authData)
451
+ : server.handlePush(body, authData);
452
+ };
400
453
  return {
401
- match(pathname) {
402
- if (!pathname.startsWith(options.pathPrefix))
454
+ match,
455
+ handle,
456
+ async handleRequest(request) {
457
+ const route = match(new URL(request.url).pathname);
458
+ if (!route)
403
459
  return null;
404
- const match = DATABASE_ROUTE.exec(pathname.slice(options.pathPrefix.length));
405
- if (!match)
406
- return null;
407
- return {
408
- databaseID: match[1],
409
- operation: match[2],
410
- };
411
- },
412
- handle(route, body, claims) {
413
- const server = options.server(route.databaseID);
414
- return route.operation === 'pull'
415
- ? server.handlePull(body, claims)
416
- : server.handlePush(body, claims);
460
+ if (request.method !== 'POST') {
461
+ return new Response('method not allowed', { status: 405 });
462
+ }
463
+ let bodyText = '';
464
+ try {
465
+ bodyText = await request.text();
466
+ let body;
467
+ try {
468
+ body = JSON.parse(bodyText);
469
+ }
470
+ catch {
471
+ throw new ZeroHttpRequestError(400, `invalid ${route.operation} body`);
472
+ }
473
+ const authenticated = await options.authenticate(request, route);
474
+ if (authenticated instanceof Response)
475
+ return authenticated;
476
+ if (route.operation === 'push' && options.beforePush) {
477
+ const response = await options.beforePush(request, bodyText);
478
+ if (response)
479
+ return response;
480
+ }
481
+ const server = options.server(route.databaseID);
482
+ const result = route.operation === 'pull'
483
+ ? await server.handlePull(body, authenticated)
484
+ : await server.handlePush(body, authenticated);
485
+ if (route.operation === 'push') {
486
+ await reportPushDiagnostics(options.diagnostics, {
487
+ request,
488
+ bodyText,
489
+ response: result.pushResponse,
490
+ });
491
+ }
492
+ return Response.json(result, {
493
+ headers: route.operation === 'pull' ? { 'cache-control': 'no-store' } : undefined,
494
+ });
495
+ }
496
+ catch (error) {
497
+ const status = error instanceof ZeroHttpRequestError ||
498
+ error instanceof SyncExecutorRequestError
499
+ ? error.status
500
+ : 500;
501
+ if (route.operation === 'push') {
502
+ await reportPushDiagnostics(options.diagnostics, {
503
+ request,
504
+ bodyText,
505
+ error,
506
+ status,
507
+ });
508
+ }
509
+ if (error instanceof ZeroHttpRequestError ||
510
+ error instanceof SyncExecutorRequestError) {
511
+ return Response.json({ error: error.message }, { status: error.status });
512
+ }
513
+ // an opaque "internal error" here is unrecoverable to debug: the client
514
+ // sees a bare 500 and the cause lives only in whichever process ran the
515
+ // mount. name the route and carry the message back so a failing sync is
516
+ // diagnosable from the caller's side.
517
+ console.error(`[zero-http] ${route.operation} error (databaseID=${route.databaseID})`, error);
518
+ return Response.json({
519
+ error: error instanceof Error ? error.message : String(error),
520
+ operation: route.operation,
521
+ }, { status: 500 });
522
+ }
417
523
  },
418
524
  };
419
525
  }
@@ -1 +1 @@
1
- {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/zero-http/mount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/zero-http/mount.ts"],"names":[],"mappings":"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"}
@@ -169,11 +169,11 @@ export async function startZeroHttpServer(opts) {
169
169
  const path = new URL(req.url || '/', 'http://127.0.0.1').pathname;
170
170
  const body = await readJSON(req);
171
171
  if (path === '/push') {
172
- sendJSON(res, 200, await sync.handlePush(body, { userID }));
172
+ sendJSON(res, 200, await sync.handlePush(body, { id: userID }));
173
173
  return;
174
174
  }
175
175
  if (path === '/pull') {
176
- sendJSON(res, 200, await sync.handlePull(body, { userID }));
176
+ sendJSON(res, 200, await sync.handlePull(body, { id: userID }));
177
177
  return;
178
178
  }
179
179
  sendJSON(res, 404, { error: 'not found' });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/zero-http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/zero-http/server.ts"],"names":[],"mappings":"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"}
@@ -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;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
+ {"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,CAiBb;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"}
@@ -42,7 +42,10 @@ export async function startZeroHttpHarness(opts) {
42
42
  // plain mutable T for assertions, so the listener param is typed loosely
43
43
  export function waitForComplete(view) {
44
44
  return new Promise((resolve, reject) => {
45
- const timeout = setTimeout(() => reject(new Error('timed out waiting for complete query')), 5_000);
45
+ // the reconnect path waits out the zero client's fixed ~5s run-loop
46
+ // backoff before a complete can arrive, so the margin must sit well
47
+ // above that (still under the 15s vitest testTimeout)
48
+ const timeout = setTimeout(() => reject(new Error('timed out waiting for complete query')), 10_000);
46
49
  let cleanup = () => { };
47
50
  cleanup = view.addListener((data, resultType) => {
48
51
  if (resultType !== 'complete')
@@ -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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"}
@@ -10,6 +10,8 @@ export type HttpPullTransport = {
10
10
  readonly transportID: string;
11
11
  uninstall(): void;
12
12
  };
13
+ export type WakeTokenFetchInit = RequestInit | (() => RequestInit | Promise<RequestInit>);
14
+ export declare function createWakeTokenFetcher(tokenURL: string | URL, init?: WakeTokenFetchInit, fetchImplementation?: typeof fetch): () => Promise<string>;
13
15
  export type HttpPullTransportOptions = {
14
16
  appID?: string;
15
17
  shardNum?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/zero-http/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/zero-http/transport.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,32 @@ const MAX_PUSH_BATCH_MUTATIONS = 64;
16
16
  // @rocicorp/zero 1.6 starts this deadline before its async createSocket work.
17
17
  // the connect URL's `ts` is captured at the same attempt boundary.
18
18
  const ZERO_CONNECT_TIMEOUT_MS = 10_000;
19
+ // ceiling on a server-supplied Retry-After. a daily quota can report a reset
20
+ // hours out; honoring that verbatim would leave the client dark until then.
21
+ const MAX_RETRY_AFTER_BACKOFF_MS = 60_000;
22
+ export function createWakeTokenFetcher(tokenURL, init = {}, fetchImplementation = globalThis.fetch) {
23
+ if (!fetchImplementation) {
24
+ throw new Error('createWakeTokenFetcher requires a fetch implementation');
25
+ }
26
+ const request = fetchImplementation.bind(globalThis);
27
+ return async () => {
28
+ const fetchInit = typeof init === 'function' ? await init() : init;
29
+ const response = await request(tokenURL, { ...fetchInit, method: 'POST' });
30
+ if (!response.ok) {
31
+ throw new Error(`wake token request failed: ${response.status}`);
32
+ }
33
+ const body = await response.json().catch(() => null);
34
+ if (!body ||
35
+ typeof body !== 'object' ||
36
+ Array.isArray(body) ||
37
+ !('token' in body) ||
38
+ typeof body.token !== 'string' ||
39
+ !body.token) {
40
+ throw new Error('wake token response is invalid');
41
+ }
42
+ return body.token;
43
+ };
44
+ }
19
45
  const HTTP_PULL_OPTION_FIELDS = [
20
46
  'appID',
21
47
  'shardNum',
@@ -672,15 +698,14 @@ class ZeroHttpSocket {
672
698
  body: JSON.stringify(body),
673
699
  });
674
700
  if (!response.ok) {
675
- let bodyPreview;
701
+ let body = '';
676
702
  try {
677
- const body = await response.text();
678
- bodyPreview = body.length > 512 ? `${body.slice(0, 512)}...` : body || undefined;
703
+ body = await response.text();
679
704
  }
680
705
  catch {
681
706
  // the status still owns the failure when the response body is unreadable
682
707
  }
683
- throw new ZeroHttpResponseError(path, response.status, bodyPreview);
708
+ throw new ZeroHttpResponseError(path, response.status, body.length > 512 ? `${body.slice(0, 512)}...` : body || undefined, retryAfterMsFromResponse(response, body));
684
709
  }
685
710
  return response.json();
686
711
  }
@@ -740,8 +765,36 @@ class ZeroHttpSocket {
740
765
  this.close(1000, error.message);
741
766
  return;
742
767
  }
768
+ // everything left is transient: a rate limit (429), a throttled or failing
769
+ // server (5xx), or a network error. stock Zero skips its run-loop sleep for
770
+ // a non-clean socket close — AbruptClose is one of the four close reasons
771
+ // throwIfConnectionError deliberately swallows — so closing 1011 here
772
+ // reconnects with NO delay, and each reconnect re-pushes the same pending
773
+ // mutations. measured: 605 pushes/s against a 429 and 374 pulls/s against a
774
+ // 500, which turns one transient failure into a self-sustaining storm that
775
+ // rate-limits the client permanently. ServerOverloaded is the protocol's
776
+ // only backoff-bearing frame (MutationRateLimited is swallowed with no
777
+ // delay at all), so a transient failure closes cleanly and carries the
778
+ // server's own Retry-After as the run loop's minimum sleep.
779
+ const retryAfterMs = error instanceof ZeroHttpResponseError ? error.retryAfterMs : undefined;
743
780
  this.emit('error', { error });
744
- this.close(1011, errorMessage(error));
781
+ this.emitMessage([
782
+ 'error',
783
+ {
784
+ kind: 'ServerOverloaded',
785
+ message: errorMessage(error),
786
+ // the backoff frame is the sync backend's to send, and Zero only
787
+ // treats it as a server error when the origin says so.
788
+ origin: 'zeroCache',
789
+ // a server may hand back a window measured in hours (a daily quota).
790
+ // sleeping that long strands the client, so cap what it will honor.
791
+ ...(retryAfterMs === undefined
792
+ ? {}
793
+ : { minBackoffMs: retryAfterMs, maxBackoffMs: MAX_RETRY_AFTER_BACKOFF_MS }),
794
+ },
795
+ ]);
796
+ if (this.readyState !== this.CLOSED)
797
+ this.close(1000, errorMessage(error));
745
798
  }
746
799
  emitPoke(response) {
747
800
  const currentServer = toHttpCookie(this.cookie);
@@ -1008,11 +1061,36 @@ function errorMessage(error) {
1008
1061
  class ZeroHttpResponseError extends Error {
1009
1062
  path;
1010
1063
  status;
1011
- constructor(path, status, bodyPreview) {
1064
+ retryAfterMs;
1065
+ constructor(path, status, bodyPreview, retryAfterMs) {
1012
1066
  super(`zero-http ${path} failed with ${status}${bodyPreview ? `: ${bodyPreview}` : ''}`);
1013
1067
  this.path = path;
1014
1068
  this.status = status;
1069
+ this.retryAfterMs = retryAfterMs;
1070
+ }
1071
+ }
1072
+ // a throttled server states its own wait, either as `retryAfterMs` in the JSON
1073
+ // error body or as the standard delta-seconds Retry-After header. an HTTP-date
1074
+ // Retry-After is ignored: the client clock cannot be trusted to compare with it.
1075
+ function retryAfterMsFromResponse(response, body) {
1076
+ const header = response.headers.get('retry-after');
1077
+ const headerSeconds = header === null ? Number.NaN : Number(header);
1078
+ const headerMs = Number.isFinite(headerSeconds)
1079
+ ? Math.max(0, headerSeconds) * 1_000
1080
+ : undefined;
1081
+ if (body) {
1082
+ try {
1083
+ const parsed = JSON.parse(body);
1084
+ const value = parsed?.retryAfterMs;
1085
+ if (typeof value === 'number' && Number.isFinite(value)) {
1086
+ return Math.max(0, value);
1087
+ }
1088
+ }
1089
+ catch {
1090
+ // an unparseable or truncated body leaves the header as the only hint
1091
+ }
1015
1092
  }
1093
+ return headerMs;
1016
1094
  }
1017
1095
  function isAuthHTTPError(error) {
1018
1096
  return (error instanceof ZeroHttpResponseError &&