request-ledger 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../src/types.ts","../src/storage/indexeddb.ts","../src/online/checker.ts","../src/utils/backoff.ts","../src/replay/engine.ts","../src/ledger.ts"],"sourcesContent":[null,null,null,null,null,null],"names":[],"mappings":"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"}
@@ -0,0 +1,575 @@
1
+ /**
2
+ * Request Ledger - Type Definitions
3
+ *
4
+ * This file contains all public TypeScript interfaces and types
5
+ * for the request-ledger library.
6
+ */
7
+ /**
8
+ * Supported HTTP methods for ledger requests.
9
+ */
10
+ type HttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
11
+ /**
12
+ * The status of a ledger entry.
13
+ *
14
+ * - `pending`: Request is queued and waiting to be processed
15
+ * - `processing`: Request is currently being executed
16
+ * - `completed`: Request completed successfully (transient, removed after success)
17
+ * - `failed`: Request failed after all retry attempts
18
+ */
19
+ type EntryStatus = 'pending' | 'processing' | 'completed' | 'failed';
20
+ /**
21
+ * Error information stored with a failed entry.
22
+ */
23
+ interface EntryError {
24
+ /** Human-readable error message */
25
+ message: string;
26
+ /** Optional error code (e.g., HTTP status code or error type) */
27
+ code?: string;
28
+ }
29
+ /**
30
+ * The HTTP request data stored in a ledger entry.
31
+ */
32
+ interface StoredRequest {
33
+ url: string;
34
+ method: HttpMethod;
35
+ headers: Record<string, string>;
36
+ body: unknown;
37
+ }
38
+ /**
39
+ * A single entry in the request ledger.
40
+ *
41
+ * This schema is public and will not have hidden fields.
42
+ * All fields are explicitly documented.
43
+ */
44
+ interface LedgerEntry {
45
+ /** Unique identifier for this entry (provided by caller) */
46
+ id: string;
47
+ /** The HTTP request data */
48
+ request: StoredRequest;
49
+ /** Current status of this entry */
50
+ status: EntryStatus;
51
+ /** Number of times this request has been attempted */
52
+ attemptCount: number;
53
+ /** Timestamp when entry was created (ms since epoch) */
54
+ createdAt: number;
55
+ /** Timestamp of last attempt (ms since epoch) */
56
+ lastAttemptAt?: number;
57
+ /** Error information if status is 'failed' */
58
+ error?: EntryError;
59
+ /** Optional idempotency key for safe replay */
60
+ idempotencyKey?: string;
61
+ /** Optional user-provided metadata */
62
+ metadata?: Record<string, unknown>;
63
+ }
64
+ /**
65
+ * Patch type for updating ledger entries.
66
+ * Allows undefined values for optional fields to support clearing them.
67
+ */
68
+ type LedgerEntryPatch = {
69
+ status?: EntryStatus;
70
+ attemptCount?: number;
71
+ lastAttemptAt?: number;
72
+ error?: EntryError | undefined;
73
+ };
74
+ /**
75
+ * Options for making a request through the ledger.
76
+ */
77
+ interface RequestOptions {
78
+ /** Unique identifier for this request (required) */
79
+ id: string;
80
+ /** Target URL for the request */
81
+ url: string;
82
+ /** HTTP method */
83
+ method: HttpMethod;
84
+ /** Optional HTTP headers */
85
+ headers?: Record<string, string>;
86
+ /** Optional request body (will be JSON serialized) */
87
+ body?: unknown;
88
+ /** Optional idempotency key for safe replay */
89
+ idempotencyKey?: string;
90
+ /** Optional user-provided metadata */
91
+ metadata?: Record<string, unknown>;
92
+ }
93
+ /**
94
+ * Options for processing the ledger queue.
95
+ */
96
+ interface ProcessOptions {
97
+ /**
98
+ * Number of concurrent requests to process.
99
+ * @default 1
100
+ */
101
+ concurrency?: number;
102
+ /**
103
+ * Whether to stop processing on first error.
104
+ * @default true
105
+ */
106
+ stopOnError?: boolean;
107
+ /** Callback invoked when an entry completes successfully */
108
+ onSuccess?: (entry: LedgerEntry) => void;
109
+ /** Callback invoked when an entry fails */
110
+ onFailure?: (entry: LedgerEntry, error: Error) => void;
111
+ }
112
+ /**
113
+ * The current state of the ledger processor.
114
+ *
115
+ * - `idle`: No pending entries, not processing
116
+ * - `pending`: Has pending entries, not currently processing
117
+ * - `processing`: Currently processing entries
118
+ * - `paused`: Processing is paused by user
119
+ * - `error`: Last processing run encountered an error
120
+ */
121
+ type LedgerState = 'idle' | 'pending' | 'processing' | 'paused' | 'error';
122
+ /**
123
+ * Fixed delay retry strategy.
124
+ */
125
+ interface FixedRetryStrategy {
126
+ type: 'fixed';
127
+ /** Delay between retries in milliseconds */
128
+ delayMs: number;
129
+ /** Maximum number of retry attempts */
130
+ maxAttempts: number;
131
+ }
132
+ /**
133
+ * Exponential backoff retry strategy.
134
+ */
135
+ interface ExponentialRetryStrategy {
136
+ type: 'exponential';
137
+ /** Base delay in milliseconds */
138
+ baseMs: number;
139
+ /** Maximum delay in milliseconds */
140
+ maxMs: number;
141
+ /** Maximum number of retry attempts */
142
+ maxAttempts: number;
143
+ }
144
+ /**
145
+ * Manual retry strategy - user controls when to retry.
146
+ */
147
+ interface ManualRetryStrategy {
148
+ type: 'manual';
149
+ }
150
+ /**
151
+ * Retry strategy configuration.
152
+ */
153
+ type RetryStrategy = FixedRetryStrategy | ExponentialRetryStrategy | ManualRetryStrategy;
154
+ /**
155
+ * Lifecycle hooks for observability.
156
+ */
157
+ interface LedgerHooks {
158
+ /** Called when a request is persisted to the ledger */
159
+ onPersist?: (entry: LedgerEntry) => void;
160
+ /** Called when replay starts for an entry */
161
+ onReplayStart?: (entry: LedgerEntry) => void;
162
+ /** Called when replay succeeds for an entry */
163
+ onReplaySuccess?: (entry: LedgerEntry, response: Response) => void;
164
+ /** Called when replay fails for an entry */
165
+ onReplayFailure?: (entry: LedgerEntry, error: Error) => void;
166
+ }
167
+ /**
168
+ * Custom online check function.
169
+ * Should return true if online, false if offline.
170
+ */
171
+ type OnlineCheckFn = () => Promise<boolean>;
172
+ /**
173
+ * Configuration for online detection.
174
+ */
175
+ interface OnlineCheckConfig {
176
+ /**
177
+ * URL to ping for online detection.
178
+ * If not provided, only navigator.onLine is used.
179
+ */
180
+ pingUrl?: string;
181
+ /**
182
+ * Timeout for ping requests in milliseconds.
183
+ * @default 5000
184
+ */
185
+ pingTimeout?: number;
186
+ /**
187
+ * Custom online check function.
188
+ * If provided, overrides default behavior.
189
+ */
190
+ customCheck?: OnlineCheckFn;
191
+ }
192
+ /**
193
+ * Configuration for IndexedDB storage.
194
+ */
195
+ interface IndexedDBStorageConfig {
196
+ /**
197
+ * Name of the IndexedDB database.
198
+ * @default "request-ledger"
199
+ */
200
+ dbName?: string;
201
+ /**
202
+ * Name of the object store.
203
+ * @default "entries"
204
+ */
205
+ storeName?: string;
206
+ /**
207
+ * Maximum number of entries to store.
208
+ * When exceeded, oldest entries are evicted.
209
+ * @default 1000
210
+ */
211
+ maxEntries?: number;
212
+ }
213
+ /**
214
+ * Configuration options for creating a ledger instance.
215
+ */
216
+ interface LedgerConfig {
217
+ /**
218
+ * Custom storage adapter.
219
+ * If not provided, IndexedDB storage is used.
220
+ */
221
+ storage?: LedgerStorage;
222
+ /**
223
+ * Configuration for IndexedDB storage (ignored if custom storage provided).
224
+ */
225
+ storageConfig?: IndexedDBStorageConfig;
226
+ /**
227
+ * Retry strategy configuration.
228
+ * @default { type: 'exponential', baseMs: 1000, maxMs: 30000, maxAttempts: 3 }
229
+ */
230
+ retry?: RetryStrategy;
231
+ /**
232
+ * Online detection configuration.
233
+ */
234
+ onlineCheck?: OnlineCheckConfig;
235
+ /**
236
+ * Lifecycle hooks for observability.
237
+ */
238
+ hooks?: LedgerHooks;
239
+ /**
240
+ * Header name for idempotency key.
241
+ * @default "X-Idempotency-Key"
242
+ */
243
+ idempotencyHeader?: string;
244
+ }
245
+ /**
246
+ * Pluggable storage interface for the ledger.
247
+ *
248
+ * Implementations must ensure:
249
+ * - Writes are atomic
250
+ * - Entries survive page reloads
251
+ * - Proper error handling
252
+ */
253
+ interface LedgerStorage {
254
+ /**
255
+ * Store a new entry.
256
+ * Should throw if entry with same ID already exists.
257
+ */
258
+ put(entry: LedgerEntry): Promise<void>;
259
+ /**
260
+ * Get all entries, ordered by createdAt ascending.
261
+ */
262
+ getAll(): Promise<LedgerEntry[]>;
263
+ /**
264
+ * Get a single entry by ID.
265
+ */
266
+ get(id: string): Promise<LedgerEntry | undefined>;
267
+ /**
268
+ * Update an existing entry.
269
+ * Should throw if entry does not exist.
270
+ */
271
+ update(id: string, patch: LedgerEntryPatch): Promise<void>;
272
+ /**
273
+ * Remove an entry by ID.
274
+ */
275
+ remove(id: string): Promise<void>;
276
+ /**
277
+ * Remove all entries.
278
+ */
279
+ clear(): Promise<void>;
280
+ /**
281
+ * Get the count of entries.
282
+ */
283
+ count(): Promise<number>;
284
+ }
285
+ /**
286
+ * Base error class for request-ledger errors.
287
+ */
288
+ declare class LedgerError extends Error {
289
+ constructor(message: string);
290
+ }
291
+ /**
292
+ * Error thrown when persistence fails.
293
+ */
294
+ declare class PersistenceError extends LedgerError {
295
+ readonly cause?: Error | undefined;
296
+ constructor(message: string, cause?: Error | undefined);
297
+ }
298
+ /**
299
+ * Error thrown when a network request fails.
300
+ */
301
+ declare class NetworkError extends LedgerError {
302
+ readonly cause?: Error | undefined;
303
+ constructor(message: string, cause?: Error | undefined);
304
+ }
305
+ /**
306
+ * Error thrown when an entry is not found.
307
+ */
308
+ declare class EntryNotFoundError extends LedgerError {
309
+ readonly entryId: string;
310
+ constructor(entryId: string);
311
+ }
312
+ /**
313
+ * Error thrown when a duplicate entry is detected.
314
+ */
315
+ declare class DuplicateEntryError extends LedgerError {
316
+ readonly entryId: string;
317
+ constructor(entryId: string);
318
+ }
319
+
320
+ /**
321
+ * Request Ledger
322
+ *
323
+ * A durable, client-side HTTP request ledger for web applications
324
+ * operating on unreliable networks.
325
+ *
326
+ * Core behaviors:
327
+ * - Records API request intent when offline or network is unstable
328
+ * - Persists requests across page reloads, crashes, and browser restarts
329
+ * - Replays requests deterministically when connectivity is restored
330
+ * - Never silently drops requests
331
+ * - Never assumes business-level conflict resolution
332
+ */
333
+
334
+ /**
335
+ * The main RequestLedger class.
336
+ *
337
+ * Provides a durable request queue that persists across page reloads
338
+ * and replays requests when connectivity is restored.
339
+ */
340
+ declare class RequestLedger {
341
+ private readonly storage;
342
+ private readonly onlineCheck;
343
+ private readonly retryStrategy;
344
+ private readonly hooks;
345
+ private readonly idempotencyHeader;
346
+ private readonly replayEngine;
347
+ private isDestroyed;
348
+ constructor(config?: LedgerConfig);
349
+ /**
350
+ * Make a request through the ledger.
351
+ *
352
+ * Behavior:
353
+ * - If online → attempt immediately
354
+ * - If offline or request fails due to network → persist to ledger
355
+ * - If persistence fails → throw explicitly
356
+ *
357
+ * @param options The request options
358
+ * @returns Response if request succeeded immediately, void if queued
359
+ */
360
+ request(options: RequestOptions): Promise<Response | void>;
361
+ /**
362
+ * Execute an HTTP request.
363
+ */
364
+ private executeRequest;
365
+ /**
366
+ * Persist a request to the ledger.
367
+ */
368
+ private persistRequest;
369
+ /**
370
+ * Process pending entries in the ledger.
371
+ *
372
+ * @param options Processing options
373
+ */
374
+ process(options?: ProcessOptions): Promise<void>;
375
+ /**
376
+ * Pause processing.
377
+ */
378
+ pause(): void;
379
+ /**
380
+ * Resume processing.
381
+ */
382
+ resume(): void;
383
+ /**
384
+ * Clear all completed entries.
385
+ *
386
+ * Note: In this implementation, completed entries are automatically
387
+ * removed, so this is a no-op. Provided for API completeness.
388
+ */
389
+ clearCompleted(): Promise<void>;
390
+ /**
391
+ * Get the current state of the ledger.
392
+ */
393
+ getState(): Promise<LedgerState>;
394
+ /**
395
+ * List all entries in the ledger.
396
+ */
397
+ list(): Promise<LedgerEntry[]>;
398
+ /**
399
+ * Get a single entry by ID.
400
+ */
401
+ get(id: string): Promise<LedgerEntry | undefined>;
402
+ /**
403
+ * Manually retry a failed entry.
404
+ *
405
+ * This is useful when using the 'manual' retry strategy.
406
+ *
407
+ * @param id The entry ID to retry
408
+ */
409
+ retry(id: string): Promise<void>;
410
+ /**
411
+ * Remove a specific entry from the ledger.
412
+ *
413
+ * @param id The entry ID to remove
414
+ */
415
+ remove(id: string): Promise<void>;
416
+ /**
417
+ * Clear all entries from the ledger.
418
+ */
419
+ clear(): Promise<void>;
420
+ /**
421
+ * Destroy the ledger instance.
422
+ *
423
+ * This closes the storage connection and prevents further operations.
424
+ */
425
+ destroy(): Promise<void>;
426
+ /**
427
+ * Ensure the ledger is not destroyed.
428
+ */
429
+ private ensureNotDestroyed;
430
+ }
431
+ /**
432
+ * Create a new RequestLedger instance.
433
+ *
434
+ * @param config Configuration options
435
+ * @returns A new RequestLedger instance
436
+ */
437
+ declare function createLedger(config?: LedgerConfig): RequestLedger;
438
+
439
+ /**
440
+ * IndexedDB Storage Adapter
441
+ *
442
+ * Implements the LedgerStorage interface using IndexedDB for
443
+ * persistent, reliable storage that survives page reloads.
444
+ */
445
+
446
+ /**
447
+ * IndexedDB implementation of LedgerStorage.
448
+ *
449
+ * Features:
450
+ * - Atomic writes using transactions
451
+ * - Entries ordered by createdAt
452
+ * - Max size enforcement with oldest-first eviction
453
+ * - Proper error handling
454
+ */
455
+ declare class IndexedDBStorage implements LedgerStorage {
456
+ private readonly dbName;
457
+ private readonly storeName;
458
+ private readonly maxEntries;
459
+ private db;
460
+ private dbPromise;
461
+ constructor(config?: IndexedDBStorageConfig);
462
+ /**
463
+ * Get or initialize the database connection.
464
+ */
465
+ private getDb;
466
+ /**
467
+ * Execute a transaction and return a promise.
468
+ */
469
+ private transaction;
470
+ /**
471
+ * Store a new entry.
472
+ * Throws DuplicateEntryError if entry with same ID exists.
473
+ * Evicts oldest entries if maxEntries is exceeded.
474
+ */
475
+ put(entry: LedgerEntry): Promise<void>;
476
+ /**
477
+ * Evict oldest entries if count exceeds maxEntries.
478
+ */
479
+ private evictIfNeeded;
480
+ /**
481
+ * Get all entries ordered by createdAt ascending.
482
+ */
483
+ getAll(): Promise<LedgerEntry[]>;
484
+ /**
485
+ * Get a single entry by ID.
486
+ */
487
+ get(id: string): Promise<LedgerEntry | undefined>;
488
+ /**
489
+ * Update an existing entry.
490
+ */
491
+ update(id: string, patch: LedgerEntryPatch): Promise<void>;
492
+ /**
493
+ * Remove an entry by ID.
494
+ */
495
+ remove(id: string): Promise<void>;
496
+ /**
497
+ * Remove all entries.
498
+ */
499
+ clear(): Promise<void>;
500
+ /**
501
+ * Get the count of entries.
502
+ */
503
+ count(): Promise<number>;
504
+ /**
505
+ * Deserialize an entry from storage.
506
+ */
507
+ private deserializeEntry;
508
+ /**
509
+ * Close the database connection.
510
+ */
511
+ close(): void;
512
+ }
513
+
514
+ /**
515
+ * Online Detection Module
516
+ *
517
+ * Provides reliable online detection that doesn't rely solely on navigator.onLine.
518
+ * Supports custom ping endpoints and user-provided check functions.
519
+ */
520
+
521
+ /**
522
+ * Creates an online checker function based on the provided configuration.
523
+ *
524
+ * The checker combines multiple signals:
525
+ * 1. navigator.onLine (fast but unreliable)
526
+ * 2. Optional ping endpoint (reliable but slower)
527
+ * 3. Custom check function (user-defined)
528
+ *
529
+ * @param config Online check configuration
530
+ * @returns Function that returns true if online, false if offline
531
+ */
532
+ declare function createOnlineChecker(config?: OnlineCheckConfig): OnlineCheckFn;
533
+ /**
534
+ * Check if an error indicates a network failure (vs application error).
535
+ *
536
+ * This is used to determine if a request should be queued vs reported as failed.
537
+ */
538
+ declare function isNetworkError(error: unknown): boolean;
539
+ /**
540
+ * Check if an HTTP status code indicates a retryable server error.
541
+ *
542
+ * Returns true for 5xx errors (server errors).
543
+ * Returns false for 4xx errors (client errors - these should not be retried).
544
+ */
545
+ declare function isRetryableStatusCode(status: number): boolean;
546
+
547
+ /**
548
+ * Backoff Utilities
549
+ *
550
+ * Provides delay calculation for retry strategies.
551
+ */
552
+
553
+ /**
554
+ * Calculate the delay before the next retry attempt.
555
+ *
556
+ * @param strategy The retry strategy configuration
557
+ * @param attemptCount The number of attempts made so far (1-indexed)
558
+ * @returns Delay in milliseconds, or null if max attempts reached
559
+ */
560
+ declare function calculateBackoffDelay(strategy: RetryStrategy, attemptCount: number): number | null;
561
+ /**
562
+ * Check if more retry attempts are allowed.
563
+ *
564
+ * @param strategy The retry strategy configuration
565
+ * @param attemptCount The number of attempts made so far
566
+ * @returns true if more attempts are allowed
567
+ */
568
+ declare function canRetry(strategy: RetryStrategy, attemptCount: number): boolean;
569
+ /**
570
+ * Create a promise that resolves after the specified delay.
571
+ */
572
+ declare function delay(ms: number): Promise<void>;
573
+
574
+ export { DuplicateEntryError, EntryNotFoundError, IndexedDBStorage, LedgerError, NetworkError, PersistenceError, RequestLedger, calculateBackoffDelay, canRetry, createLedger, createOnlineChecker, delay, isNetworkError, isRetryableStatusCode };
575
+ export type { EntryError, EntryStatus, ExponentialRetryStrategy, FixedRetryStrategy, HttpMethod, IndexedDBStorageConfig, LedgerConfig, LedgerEntry, LedgerEntryPatch, LedgerHooks, LedgerState, LedgerStorage, ManualRetryStrategy, OnlineCheckConfig, OnlineCheckFn, ProcessOptions, RequestOptions, RetryStrategy, StoredRequest };