@baukit/sync-client 0.1.2 → 0.2.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.
@@ -8,10 +8,14 @@ export interface SyncRequestInit {
8
8
  export type SyncFetch = (input: string, init?: SyncRequestInit) => Promise<SyncFetchResponse>;
9
9
  /** A product API client's decoded request function. */
10
10
  export type SyncPrebuiltRequest = <T>(input: string, init?: SyncRequestInit) => Promise<T>;
11
+ export interface SyncResponseHeaders {
12
+ get(name: string): string | null;
13
+ }
11
14
  /** Minimal `Response` shape the transport depends on. */
12
15
  export interface SyncFetchResponse {
13
16
  readonly ok: boolean;
14
17
  readonly status: number;
18
+ readonly headers?: SyncResponseHeaders;
15
19
  text(): Promise<string>;
16
20
  }
17
21
  export interface SyncFetchTransportOptions {
@@ -30,6 +34,10 @@ export interface SyncFetchTransportOptions {
30
34
  * exists. Defaults to `partition_identity_mismatch`.
31
35
  */
32
36
  partitionMismatchCode?: string;
37
+ /** Milliseconds used when `Retry-After` is missing or unusable. Defaults to 60 seconds. */
38
+ retryAfterFallbackMs?: number;
39
+ /** Clock used to resolve `Retry-After`. Defaults to `Date.now`. */
40
+ now?: () => number;
33
41
  }
34
42
  export interface SyncPrebuiltRequestTransportOptions {
35
43
  /**
@@ -49,6 +57,29 @@ export interface SyncRequestOptions {
49
57
  partitionId?: string | null;
50
58
  signal?: AbortSignal;
51
59
  }
60
+ export declare const DEFAULT_RETRY_AFTER_FALLBACK_MS = 60000;
61
+ export interface ParseRetryAfterOptions {
62
+ /** Unix time in milliseconds. Defaults to `Date.now()`. */
63
+ now?: number;
64
+ /** Milliseconds added to `now` for missing, invalid, negative, or past values. */
65
+ fallbackMs?: number;
66
+ }
67
+ /** Resolves an HTTP `Retry-After` delta or date to an ISO timestamp. */
68
+ export declare function parseRetryAfter(value: string | null | undefined, options?: ParseRetryAfterOptions): string;
69
+ export type SyncCursorComparator<TCursor> = (left: TCursor, right: TCursor) => number;
70
+ export interface PullPagePosition<TCursor> {
71
+ nextCursor: TCursor;
72
+ hasMore: boolean;
73
+ }
74
+ /** Checks cursor monotonicity and pagination progress, then returns the page. */
75
+ export declare function validatePullPage<TCursor, TPage extends PullPagePosition<TCursor>>(currentCursor: TCursor, page: TPage, compare: SyncCursorComparator<TCursor>): TPage;
76
+ export interface CursorCommitOptions<TCursor, TResult> {
77
+ nextCursor: TCursor;
78
+ transaction: () => Promise<TResult>;
79
+ commitCursor: (cursor: TCursor) => Promise<void> | void;
80
+ }
81
+ /** Commits a pull cursor only after the local transaction succeeds. */
82
+ export declare function commitCursorAfterLocalTransaction<TCursor, TResult>({ nextCursor, transaction, commitCursor, }: CursorCommitOptions<TCursor, TResult>): Promise<TResult>;
52
83
  /**
53
84
  * Sync request plumbing for either a raw fetch or a product API client.
54
85
  *
@@ -60,6 +91,8 @@ export declare class SyncTransport {
60
91
  private readonly baseUrl;
61
92
  private readonly partitionHeader;
62
93
  private readonly partitionMismatchCode;
94
+ private readonly retryAfterFallbackMs;
95
+ private readonly now;
63
96
  constructor(options: SyncTransportOptions);
64
97
  /**
65
98
  * Sends one sync request and decodes its JSON response.
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAEA,sDAAsD;AACtD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE9F,uDAAuD;AACvD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE3F,yDAAyD;AACzD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACzB;AAED,MAAM,WAAW,yBAAyB;IACxC,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,qEAAqE;IACrE,WAAW,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5E;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,mCAAmC;IAClD;;;OAGG;IACH,OAAO,EAAE,mBAAmB,CAAC;IAC7B,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,oBAAoB,GAAG,yBAAyB,GAAG,mCAAmC,CAAC;AAEnG,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAwBD;;;;;GAKG;AACH,qBAAa,aAAa;IAKZ,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAgB;gBAEzB,OAAO,EAAE,oBAAoB;IAS1D;;;;;;OAMG;IACG,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,CAAC,CAAC;YAY9D,IAAI;IAalB,OAAO,CAAC,IAAI;YAwBE,QAAQ;IAQtB,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,GAAG;IAIX,OAAO,CAAC,IAAI;IAKZ,OAAO,CAAC,gBAAgB;CAczB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/dist/transport.js CHANGED
@@ -1,10 +1,77 @@
1
- import { SyncAuthError, SyncPartitionMismatchError, SyncTransportError } from './error.js';
1
+ import { SyncAuthError, SyncLocalApplyError, SyncNetworkError, SyncPartitionMismatchError, SyncPayloadCompatibilityError, SyncRateLimitError, SyncServerError, } from './error.js';
2
2
  const DEFAULT_PARTITION_HEADER = 'X-Partition-Id';
3
3
  const DEFAULT_PARTITION_MISMATCH_CODE = 'partition_identity_mismatch';
4
4
  const RETRYABLE_STATUSES = new Set([408, 429]);
5
+ export const DEFAULT_RETRY_AFTER_FALLBACK_MS = 60_000;
5
6
  function isRetryableStatus(status) {
6
7
  return RETRYABLE_STATUSES.has(status) || status >= 500;
7
8
  }
9
+ /** Resolves an HTTP `Retry-After` delta or date to an ISO timestamp. */
10
+ export function parseRetryAfter(value, options = {}) {
11
+ const now = options.now ?? Date.now();
12
+ const fallbackMs = options.fallbackMs ?? DEFAULT_RETRY_AFTER_FALLBACK_MS;
13
+ if (!Number.isFinite(now))
14
+ throw new RangeError('now must be finite');
15
+ if (!Number.isFinite(fallbackMs) || fallbackMs < 0) {
16
+ throw new RangeError('retryAfterFallbackMs must be finite and non-negative');
17
+ }
18
+ const fallbackAt = now + fallbackMs;
19
+ const trimmed = value?.trim() ?? '';
20
+ let candidate = Number.NaN;
21
+ if (/^\d+$/.test(trimmed)) {
22
+ candidate = now + Number(trimmed) * 1_000;
23
+ }
24
+ else if (trimmed.length > 0) {
25
+ candidate = Date.parse(trimmed);
26
+ }
27
+ return toIsoTimestamp(isSupportedTimestamp(candidate) && candidate >= now ? candidate : fallbackAt);
28
+ }
29
+ function isSupportedTimestamp(milliseconds) {
30
+ return Number.isFinite(milliseconds) && !Number.isNaN(new Date(milliseconds).getTime());
31
+ }
32
+ function toIsoTimestamp(milliseconds) {
33
+ try {
34
+ return new Date(milliseconds).toISOString();
35
+ }
36
+ catch {
37
+ throw new RangeError('resolved Retry-After time is outside the supported date range');
38
+ }
39
+ }
40
+ /** Checks cursor monotonicity and pagination progress, then returns the page. */
41
+ export function validatePullPage(currentCursor, page, compare) {
42
+ const order = compare(page.nextCursor, currentCursor);
43
+ if (!Number.isFinite(order)) {
44
+ throw new SyncPayloadCompatibilityError('The pull cursor comparison was not finite.');
45
+ }
46
+ if (order < 0) {
47
+ throw new SyncPayloadCompatibilityError('The pull cursor moved backwards.');
48
+ }
49
+ if (page.hasMore && order === 0) {
50
+ throw new SyncPayloadCompatibilityError('The pull page did not advance its cursor.');
51
+ }
52
+ return page;
53
+ }
54
+ /** Commits a pull cursor only after the local transaction succeeds. */
55
+ export async function commitCursorAfterLocalTransaction({ nextCursor, transaction, commitCursor, }) {
56
+ let result;
57
+ try {
58
+ result = await transaction();
59
+ }
60
+ catch (error) {
61
+ if (error instanceof SyncLocalApplyError)
62
+ throw error;
63
+ throw new SyncLocalApplyError('The local pull transaction failed.', error);
64
+ }
65
+ try {
66
+ await commitCursor(nextCursor);
67
+ }
68
+ catch (error) {
69
+ if (error instanceof SyncLocalApplyError)
70
+ throw error;
71
+ throw new SyncLocalApplyError('The pull cursor could not be committed.', error);
72
+ }
73
+ return result;
74
+ }
8
75
  function parseErrorBody(body) {
9
76
  try {
10
77
  const decoded = JSON.parse(body);
@@ -25,6 +92,8 @@ export class SyncTransport {
25
92
  baseUrl;
26
93
  partitionHeader;
27
94
  partitionMismatchCode;
95
+ retryAfterFallbackMs;
96
+ now;
28
97
  constructor(options) {
29
98
  this.options = options;
30
99
  this.baseUrl = 'fetch' in options ? options.baseUrl.replace(/\/+$/, '') : null;
@@ -33,6 +102,14 @@ export class SyncTransport {
33
102
  'fetch' in options
34
103
  ? (options.partitionMismatchCode ?? DEFAULT_PARTITION_MISMATCH_CODE)
35
104
  : null;
105
+ this.retryAfterFallbackMs =
106
+ 'fetch' in options
107
+ ? (options.retryAfterFallbackMs ?? DEFAULT_RETRY_AFTER_FALLBACK_MS)
108
+ : DEFAULT_RETRY_AFTER_FALLBACK_MS;
109
+ this.now = 'fetch' in options ? (options.now ?? Date.now) : Date.now;
110
+ if (!Number.isFinite(this.retryAfterFallbackMs) || this.retryAfterFallbackMs < 0) {
111
+ throw new RangeError('retryAfterFallbackMs must be finite and non-negative');
112
+ }
36
113
  }
37
114
  /**
38
115
  * Sends one sync request and decodes its JSON response.
@@ -48,7 +125,7 @@ export class SyncTransport {
48
125
  const response = await this.send(path, options);
49
126
  const body = await this.readBody(response);
50
127
  if (!response.ok) {
51
- throw this.asTransportError(response.status, body);
128
+ throw this.asTransportError(response.status, body, response.headers?.get('Retry-After'));
52
129
  }
53
130
  return this.decode(body);
54
131
  }
@@ -62,7 +139,7 @@ export class SyncTransport {
62
139
  return await this.options.fetch(this.url(path, options.query), init);
63
140
  }
64
141
  catch (error) {
65
- throw new SyncTransportError(errorMessage(error), true, error);
142
+ throw new SyncNetworkError(errorMessage(error), error);
66
143
  }
67
144
  }
68
145
  init(options, initialHeaders) {
@@ -90,7 +167,7 @@ export class SyncTransport {
90
167
  return await response.text();
91
168
  }
92
169
  catch (error) {
93
- throw new SyncTransportError(errorMessage(error), true, error);
170
+ throw new SyncNetworkError(errorMessage(error), error);
94
171
  }
95
172
  }
96
173
  decode(body) {
@@ -101,7 +178,7 @@ export class SyncTransport {
101
178
  return JSON.parse(body);
102
179
  }
103
180
  catch (error) {
104
- throw new SyncTransportError('sync response was not valid JSON', false, error);
181
+ throw new SyncPayloadCompatibilityError('The sync response was not valid JSON.', error);
105
182
  }
106
183
  }
107
184
  url(path, query) {
@@ -111,7 +188,7 @@ export class SyncTransport {
111
188
  const suffix = query ? `?${new URLSearchParams(query).toString()}` : '';
112
189
  return `${path}${suffix}`;
113
190
  }
114
- asTransportError(status, body) {
191
+ asTransportError(status, body, retryAfter) {
115
192
  const decoded = parseErrorBody(body);
116
193
  const message = typeof decoded.message === 'string' && decoded.message.length > 0
117
194
  ? decoded.message
@@ -122,7 +199,14 @@ export class SyncTransport {
122
199
  if (status === 401) {
123
200
  return new SyncAuthError(message);
124
201
  }
125
- return new SyncTransportError(message, isRetryableStatus(status));
202
+ if (status === 429) {
203
+ const retryAt = parseRetryAfter(retryAfter, {
204
+ now: this.now(),
205
+ fallbackMs: this.retryAfterFallbackMs,
206
+ });
207
+ return new SyncRateLimitError(message, retryAt, retryAfter ?? null);
208
+ }
209
+ return new SyncServerError(message, isRetryableStatus(status));
126
210
  }
127
211
  }
128
212
  function errorMessage(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baukit/sync-client",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "Client-side scheduling, transport, status reporting, and ordering for offline-capable sync loops.",
5
5
  "license": "MIT",
6
6
  "author": "Patrick Koss",
@@ -29,6 +29,10 @@
29
29
  "./expo": {
30
30
  "types": "./dist/expo.d.ts",
31
31
  "import": "./dist/expo.js"
32
+ },
33
+ "./conformance": {
34
+ "types": "./dist/conformance.d.ts",
35
+ "import": "./dist/conformance.js"
32
36
  }
33
37
  },
34
38
  "files": [