@bananapus/nana-sdk-core 6.1.0 → 6.3.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.
Files changed (149) hide show
  1. package/dist/cjs/review/confirming.d.ts +8 -0
  2. package/dist/cjs/review/confirming.d.ts.map +1 -0
  3. package/dist/cjs/review/confirming.js +11 -0
  4. package/dist/cjs/review/confirming.js.map +1 -0
  5. package/dist/cjs/review/heldWrite.d.ts +6 -1
  6. package/dist/cjs/review/heldWrite.d.ts.map +1 -1
  7. package/dist/cjs/review/heldWrite.js +13 -6
  8. package/dist/cjs/review/heldWrite.js.map +1 -1
  9. package/dist/cjs/review/locks.d.ts +141 -2
  10. package/dist/cjs/review/locks.d.ts.map +1 -1
  11. package/dist/cjs/review/locks.js +406 -58
  12. package/dist/cjs/review/locks.js.map +1 -1
  13. package/dist/cjs/review/messages.d.ts +16 -0
  14. package/dist/cjs/review/messages.d.ts.map +1 -1
  15. package/dist/cjs/review/messages.js +17 -1
  16. package/dist/cjs/review/messages.js.map +1 -1
  17. package/dist/cjs/review/react/ownership.d.ts +30 -0
  18. package/dist/cjs/review/react/ownership.d.ts.map +1 -0
  19. package/dist/cjs/review/react/ownership.js +27 -0
  20. package/dist/cjs/review/react/ownership.js.map +1 -0
  21. package/dist/cjs/review/react/useReviewedRun.d.ts +17 -3
  22. package/dist/cjs/review/react/useReviewedRun.d.ts.map +1 -1
  23. package/dist/cjs/review/react/useReviewedRun.js +528 -68
  24. package/dist/cjs/review/react/useReviewedRun.js.map +1 -1
  25. package/dist/cjs/review/react/useSavedAttempt.d.ts.map +1 -1
  26. package/dist/cjs/review/react/useSavedAttempt.js +12 -0
  27. package/dist/cjs/review/react/useSavedAttempt.js.map +1 -1
  28. package/dist/cjs/review/relayrSend.d.ts +20 -0
  29. package/dist/cjs/review/relayrSend.d.ts.map +1 -1
  30. package/dist/cjs/review/relayrSend.js +150 -105
  31. package/dist/cjs/review/relayrSend.js.map +1 -1
  32. package/dist/cjs/review/runStatus.d.ts +6 -2
  33. package/dist/cjs/review/runStatus.d.ts.map +1 -1
  34. package/dist/cjs/review/runStatus.js +3 -1
  35. package/dist/cjs/review/runStatus.js.map +1 -1
  36. package/dist/cjs/review/safeRelayr.d.ts +12 -2
  37. package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
  38. package/dist/cjs/review/safeRelayr.js +226 -156
  39. package/dist/cjs/review/safeRelayr.js.map +1 -1
  40. package/dist/cjs/review/savedAttempt.d.ts.map +1 -1
  41. package/dist/cjs/review/savedAttempt.js +7 -2
  42. package/dist/cjs/review/savedAttempt.js.map +1 -1
  43. package/dist/cjs/review/send.d.ts +46 -5
  44. package/dist/cjs/review/send.d.ts.map +1 -1
  45. package/dist/cjs/review/send.js +251 -58
  46. package/dist/cjs/review/send.js.map +1 -1
  47. package/dist/cjs/review/sequence.d.ts +25 -0
  48. package/dist/cjs/review/sequence.d.ts.map +1 -1
  49. package/dist/cjs/review/sequence.js +45 -7
  50. package/dist/cjs/review/sequence.js.map +1 -1
  51. package/dist/cjs/review/sign.d.ts +6 -1
  52. package/dist/cjs/review/sign.d.ts.map +1 -1
  53. package/dist/cjs/review/sign.js +10 -4
  54. package/dist/cjs/review/sign.js.map +1 -1
  55. package/dist/cjs/review/tabState.d.ts +4 -0
  56. package/dist/cjs/review/tabState.d.ts.map +1 -1
  57. package/dist/cjs/review/tabState.js +4 -0
  58. package/dist/cjs/review/tabState.js.map +1 -1
  59. package/dist/cjs/review/wallet.d.ts +16 -4
  60. package/dist/cjs/review/wallet.d.ts.map +1 -1
  61. package/dist/cjs/review/wallet.js +62 -17
  62. package/dist/cjs/review/wallet.js.map +1 -1
  63. package/dist/cjs/review/writeHold.d.ts +92 -14
  64. package/dist/cjs/review/writeHold.d.ts.map +1 -1
  65. package/dist/cjs/review/writeHold.js +102 -26
  66. package/dist/cjs/review/writeHold.js.map +1 -1
  67. package/dist/cjs/review/writeRecovery.d.ts +42 -7
  68. package/dist/cjs/review/writeRecovery.d.ts.map +1 -1
  69. package/dist/cjs/review/writeRecovery.js +183 -21
  70. package/dist/cjs/review/writeRecovery.js.map +1 -1
  71. package/dist/cjs/testing.d.ts +13 -0
  72. package/dist/cjs/testing.d.ts.map +1 -1
  73. package/dist/cjs/testing.js +21 -0
  74. package/dist/cjs/testing.js.map +1 -1
  75. package/dist/esm/review/confirming.d.ts +8 -0
  76. package/dist/esm/review/confirming.d.ts.map +1 -0
  77. package/dist/esm/review/confirming.js +8 -0
  78. package/dist/esm/review/confirming.js.map +1 -0
  79. package/dist/esm/review/heldWrite.d.ts +6 -1
  80. package/dist/esm/review/heldWrite.d.ts.map +1 -1
  81. package/dist/esm/review/heldWrite.js +13 -6
  82. package/dist/esm/review/heldWrite.js.map +1 -1
  83. package/dist/esm/review/locks.d.ts +141 -2
  84. package/dist/esm/review/locks.d.ts.map +1 -1
  85. package/dist/esm/review/locks.js +396 -58
  86. package/dist/esm/review/locks.js.map +1 -1
  87. package/dist/esm/review/messages.d.ts +16 -0
  88. package/dist/esm/review/messages.d.ts.map +1 -1
  89. package/dist/esm/review/messages.js +16 -0
  90. package/dist/esm/review/messages.js.map +1 -1
  91. package/dist/esm/review/react/ownership.d.ts +30 -0
  92. package/dist/esm/review/react/ownership.d.ts.map +1 -0
  93. package/dist/esm/review/react/ownership.js +24 -0
  94. package/dist/esm/review/react/ownership.js.map +1 -0
  95. package/dist/esm/review/react/useReviewedRun.d.ts +17 -3
  96. package/dist/esm/review/react/useReviewedRun.d.ts.map +1 -1
  97. package/dist/esm/review/react/useReviewedRun.js +529 -69
  98. package/dist/esm/review/react/useReviewedRun.js.map +1 -1
  99. package/dist/esm/review/react/useSavedAttempt.d.ts.map +1 -1
  100. package/dist/esm/review/react/useSavedAttempt.js +12 -0
  101. package/dist/esm/review/react/useSavedAttempt.js.map +1 -1
  102. package/dist/esm/review/relayrSend.d.ts +20 -0
  103. package/dist/esm/review/relayrSend.d.ts.map +1 -1
  104. package/dist/esm/review/relayrSend.js +154 -109
  105. package/dist/esm/review/relayrSend.js.map +1 -1
  106. package/dist/esm/review/runStatus.d.ts +6 -2
  107. package/dist/esm/review/runStatus.d.ts.map +1 -1
  108. package/dist/esm/review/runStatus.js +3 -1
  109. package/dist/esm/review/runStatus.js.map +1 -1
  110. package/dist/esm/review/safeRelayr.d.ts +12 -2
  111. package/dist/esm/review/safeRelayr.d.ts.map +1 -1
  112. package/dist/esm/review/safeRelayr.js +226 -156
  113. package/dist/esm/review/safeRelayr.js.map +1 -1
  114. package/dist/esm/review/savedAttempt.d.ts.map +1 -1
  115. package/dist/esm/review/savedAttempt.js +7 -2
  116. package/dist/esm/review/savedAttempt.js.map +1 -1
  117. package/dist/esm/review/send.d.ts +46 -5
  118. package/dist/esm/review/send.d.ts.map +1 -1
  119. package/dist/esm/review/send.js +252 -59
  120. package/dist/esm/review/send.js.map +1 -1
  121. package/dist/esm/review/sequence.d.ts +25 -0
  122. package/dist/esm/review/sequence.d.ts.map +1 -1
  123. package/dist/esm/review/sequence.js +43 -7
  124. package/dist/esm/review/sequence.js.map +1 -1
  125. package/dist/esm/review/sign.d.ts +6 -1
  126. package/dist/esm/review/sign.d.ts.map +1 -1
  127. package/dist/esm/review/sign.js +10 -4
  128. package/dist/esm/review/sign.js.map +1 -1
  129. package/dist/esm/review/tabState.d.ts +4 -0
  130. package/dist/esm/review/tabState.d.ts.map +1 -1
  131. package/dist/esm/review/tabState.js +4 -0
  132. package/dist/esm/review/tabState.js.map +1 -1
  133. package/dist/esm/review/wallet.d.ts +16 -4
  134. package/dist/esm/review/wallet.d.ts.map +1 -1
  135. package/dist/esm/review/wallet.js +62 -17
  136. package/dist/esm/review/wallet.js.map +1 -1
  137. package/dist/esm/review/writeHold.d.ts +92 -14
  138. package/dist/esm/review/writeHold.d.ts.map +1 -1
  139. package/dist/esm/review/writeHold.js +102 -26
  140. package/dist/esm/review/writeHold.js.map +1 -1
  141. package/dist/esm/review/writeRecovery.d.ts +42 -7
  142. package/dist/esm/review/writeRecovery.d.ts.map +1 -1
  143. package/dist/esm/review/writeRecovery.js +180 -22
  144. package/dist/esm/review/writeRecovery.js.map +1 -1
  145. package/dist/esm/testing.d.ts +13 -0
  146. package/dist/esm/testing.d.ts.map +1 -1
  147. package/dist/esm/testing.js +20 -0
  148. package/dist/esm/testing.js.map +1 -1
  149. package/package.json +1 -1
@@ -0,0 +1,8 @@
1
+ /**
2
+ * How long a claimed `onConfirmed` notice stays pending unless its claimant
3
+ * renews it: only a claim whose tab closed or crashed mid-delivery lapses.
4
+ */
5
+ export declare const CONFIRMING_STALE_MS: number;
6
+ /** How often a claimant still delivering renews its claim. */
7
+ export declare const CONFIRMING_RENEW_MS: number;
8
+ //# sourceMappingURL=confirming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirming.d.ts","sourceRoot":"","sources":["../../../src/review/confirming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAa,CAAC;AAC9C,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,QAA0B,CAAC"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONFIRMING_RENEW_MS = exports.CONFIRMING_STALE_MS = void 0;
4
+ /**
5
+ * How long a claimed `onConfirmed` notice stays pending unless its claimant
6
+ * renews it: only a claim whose tab closed or crashed mid-delivery lapses.
7
+ */
8
+ exports.CONFIRMING_STALE_MS = 5 * 60_000;
9
+ /** How often a claimant still delivering renews its claim. */
10
+ exports.CONFIRMING_RENEW_MS = exports.CONFIRMING_STALE_MS / 5;
11
+ //# sourceMappingURL=confirming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confirming.js","sourceRoot":"","sources":["../../../src/review/confirming.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACU,QAAA,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC;AAC9C,8DAA8D;AACjD,QAAA,mBAAmB,GAAG,2BAAmB,GAAG,CAAC,CAAC"}
@@ -51,12 +51,17 @@ export declare const FOLLOW_MS = 120000;
51
51
  * (an authenticated settlement or an exit) or `signal` aborts: never on its
52
52
  * own reading of a receipt, a replacement or an expiry. The hold decides.
53
53
  */
54
- export declare function followHeldWrite(handle: WriteHoldHandle, client: WriteHoldClient, { signal, pollMs, fastMs, onRead, }: {
54
+ export declare function followHeldWrite(handle: WriteHoldHandle, client: WriteHoldClient, { signal, pollMs, fastMs, onRead, reservation, }: {
55
55
  signal: AbortSignal;
56
56
  pollMs?: number;
57
57
  fastMs?: number;
58
58
  /** Each read of the hold as it starts, while it holds the call's lock. */
59
59
  onRead?: (read: Promise<unknown>) => void;
60
+ /**
61
+ * Follow this reservation's own write: it ends with its saved
62
+ * settlement, even once a later reservation of the call replaced it.
63
+ */
64
+ reservation?: string;
60
65
  }): Promise<WriteHoldState | null>;
61
66
  /**
62
67
  * Whether `next` would hide an exit `shown` offers without the chain having
@@ -1 +1 @@
1
- {"version":3,"file":"heldWrite.d.ts","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAkBpD,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAExB;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,WAAW,GACX,UAAU,GACV,YAAY,GACZ,MAAM,GACN,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,cAAc,CAAC;IACtB,8CAA8C;IAC9C,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IAC7B,qCAAqC;IACrC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG,WAAW,CACzC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,YAAY,QAAS,CAAC;AAMnC,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,OAAQ,CAAC;AAEtC,kFAAkF;AAClF,eAAO,MAAM,SAAS,SAAU,CAAC;AAmBjC;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,EACvB,EACE,MAAM,EACN,MAAM,EACN,MAAgB,EAChB,MAAM,GACP,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;CAC3C,GACA,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA4BhC;AA0DD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,EACxC,IAAI,EAAE,cAAc,GACnB,OAAO,CAST;AAED,iCAAiC;AACjC,wBAAgB,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAM7D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE;IACP,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,CACV,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,kBAAkB,GAAG,IAAI,KAC/B,IAAI,CAAC;IACV,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,KAAK,IAAI,CAAC;IAChD,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAC5D,0EAA0E;IAC1E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CAC7C;;wBA6VqB,MAAM,IAAI,GAAG,MAAM,IAAI;iBAzDrB,OAAO,CAAC,aAAa,CAAC;IA8D5C;;;OAGG;aACM,MAAM,IAAI;IAgCnB;;;OAGG;YACK,OAAO,CAAC,OAAO,CAAC;IAiBxB;;;OAGG;cACa,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA4DpE;;;OAGG;mBACkB,OAAO,CAAC,IAAI,CAAC;EAkBrC;AAED,MAAM,MAAM,uBAAuB,GAAG,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"heldWrite.d.ts","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
@@ -43,7 +43,7 @@ function pause(ms, signal) {
43
43
  * (an authenticated settlement or an exit) or `signal` aborts: never on its
44
44
  * own reading of a receipt, a replacement or an expiry. The hold decides.
45
45
  */
46
- async function followHeldWrite(handle, client, { signal, pollMs, fastMs = FAST_MS, onRead, }) {
46
+ async function followHeldWrite(handle, client, { signal, pollMs, fastMs = FAST_MS, onRead, reservation, }) {
47
47
  const now = handle.peek();
48
48
  if (now.status !== "clear" &&
49
49
  now.record.safe &&
@@ -62,6 +62,9 @@ async function followHeldWrite(handle, client, { signal, pollMs, fastMs = FAST_M
62
62
  const read = handle.state(client).catch(() => null);
63
63
  onRead?.(read);
64
64
  const state = await read;
65
+ const own = reservation && handle.settlementOf(reservation);
66
+ if (own)
67
+ return { status: "clear", settled: own, reservation };
65
68
  if (state?.status === "clear")
66
69
  return state;
67
70
  await pause(look < FAST_LOOKS ? fastMs : pollOf(pollMs), signal);
@@ -291,21 +294,25 @@ function createHeldWriteView(handle, options) {
291
294
  if (next.status === "clear") {
292
295
  const reservation = next.reservation;
293
296
  const mine = wasHeld && (!reservation || reservation === observed);
297
+ // Its own saved settlement, once a later reservation replaced it.
298
+ const settled = mine
299
+ ? (next.settled ?? handle.settlementOf(observed))
300
+ : undefined;
294
301
  // Whose release it is, only the exit's answer says.
295
- if (exiting && mine && !next.settled)
302
+ if (exiting && mine && !settled)
296
303
  return;
297
304
  stopFollowing();
298
- if (next.settled && mine) {
305
+ if (settled) {
299
306
  seen.delete(observed);
300
- deliver(next.settled, observed);
307
+ deliver(settled, observed);
301
308
  set({
302
309
  phase: "settled",
303
310
  state: next,
304
- line: settledLine(next.settled),
311
+ line: settledLine(settled),
305
312
  warning: undefined,
306
313
  notice: undefined,
307
314
  exit: false,
308
- settled: next.settled,
315
+ settled,
309
316
  releasedBy: undefined,
310
317
  });
311
318
  }
@@ -1 +1 @@
1
- {"version":3,"file":"heldWrite.js","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heldWrite.js","sourceRoot":"","sources":["../../../src/review/heldWrite.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,149 @@
1
- /** The Web Locks the SDK's holds take: `navigator.locks`, or its fallback ({@link browserLocks}). */
2
- export type BrowserLocks = Pick<LockManager, "request">;
1
+ import { ReviewFixedLineError } from "./lineError.js";
2
+ /**
3
+ * Thrown by {@link LockHandle.assertHeld} once this tab no longer holds the
4
+ * lock. Its message is for logs; `errorLine` shows {@link LOCK_LOST_LINE}.
5
+ */
6
+ export declare class LockLostError extends ReviewFixedLineError {
7
+ readonly lock: string;
8
+ readonly name = "LockLostError";
9
+ readonly code = "LOCK_LOST";
10
+ get line(): string;
11
+ constructor(lock: string);
12
+ }
13
+ /**
14
+ * How a receipt's `ended()` ends while its step's `onConfirmed` is queued
15
+ * behind the run's own locks (kept for one it lost, or another
16
+ * completion's claim waiting for one): it is told once that work ends,
17
+ * and only then acknowledged, so the wait never holds it up. Retry later;
18
+ * nothing is sent again. `errorLine` shows {@link CONFIRMATION_QUEUED_LINE}.
19
+ */
20
+ export declare class ConfirmationQueuedError extends ReviewFixedLineError {
21
+ readonly step: number;
22
+ readonly name = "ConfirmationQueuedError";
23
+ readonly code = "CONFIRMATION_QUEUED";
24
+ get line(): string;
25
+ constructor(step: number);
26
+ }
27
+ /**
28
+ * The lock {@link browserLocks} hands its work. Native Web Locks never lose
29
+ * it. The IndexedDB lease can: a tab suspended past its lease (as while the
30
+ * user is in a wallet app) may come back after another tab took it.
31
+ *
32
+ * Call `assertHeld()` immediately before every journal write and every wallet
33
+ * submission inside the lock. It narrows the stale-holder window to the time
34
+ * between the check and the write.
35
+ */
36
+ export type LockHandle = {
37
+ readonly name: string;
38
+ readonly mode: LockMode;
39
+ /** Aborted once the lock is known lost. Not the caller's request `signal`. */
40
+ readonly signal: AbortSignal;
41
+ /** A fresh read: whether this tab still holds the lock. */
42
+ held(): Promise<boolean>;
43
+ /** Throws {@link LockLostError} unless `held()`. */
44
+ assertHeld(): Promise<void>;
45
+ };
46
+ /**
47
+ * Throws {@link LockLostError} unless every given lock is still this tab's,
48
+ * on a fresh read; `null` and `undefined` are skipped. One line before a
49
+ * write under several locks: `await assertLocksHeld([a, b]); save()`.
50
+ */
51
+ export declare function assertLocksHeld(locks?: readonly (Pick<LockHandle, "assertHeld"> | null | undefined)[]): Promise<void>;
52
+ /**
53
+ * Whether the work `lock` was handed may still be running: anything kept
54
+ * for its name (an outcome refused for it, or another's queued behind it)
55
+ * waits until it ends. Only a fenced handle can say it ended.
56
+ */
57
+ export declare const lockWorkRunning: (lock: LockHandle) => boolean;
58
+ /**
59
+ * Saves an outcome the work already has from outside (a wallet's hash, a
60
+ * definite rejection) under `locks`: `write()` runs now, and resolves true
61
+ * (once any lock's work ended, it is kept straight away, so it never runs
62
+ * ahead of an outcome kept before it).
63
+ * Its own writes check the locks right before writing. Refused for a lost
64
+ * lock (`LockLostError`), it resolves false and the outcome is kept: once
65
+ * the work under every one of `locks` has ended, each lock is taken again
66
+ * (the same handles read as held again) and, after a fresh check:
67
+ *
68
+ * - with `later`, it runs whenever the locks are free. `later` re-reads the
69
+ * saved record, matches this attempt by its identity (its attempt or
70
+ * reservation id, never the whole record) and merges the outcome into the
71
+ * latest record, so another tab's unrelated update meanwhile stays;
72
+ * - without, `write()` runs again only if no other tab took the locks since,
73
+ * so it can't touch a newer attempt's record.
74
+ *
75
+ * If any lock can't be taken back, or the write fails, the record stays as
76
+ * the lost lock left it and its recovery shows. `settled` is told once
77
+ * whether a kept outcome was applied in the end (a claim it consumed is
78
+ * then made for good, or given back so it stays retryable); one written
79
+ * at once resolves true without it.
80
+ *
81
+ * Any lock {@link fencedLocks} or {@link browserLocks} handed out is kept
82
+ * this way: a native one once its work ended, a lease also once it lapsed.
83
+ * Any other failure of `write` throws, as does a lost lock that isn't one.
84
+ */
85
+ export declare function keepOutcome(locks: readonly LockHandle[] | undefined, write: () => unknown, later?: () => unknown, settled?: (applied: boolean) => unknown): Promise<boolean>;
86
+ /** What {@link BrowserLocks} runs under the lock: `null` when `ifAvailable` found it taken. */
87
+ export type LockWork<T> = (lock: LockHandle | null) => T | PromiseLike<T>;
88
+ /**
89
+ * The Web Locks the SDK's holds take ({@link browserLocks}): `request` as on
90
+ * `navigator.locks`, with or without options, handing a {@link LockHandle}.
91
+ */
92
+ export type BrowserLocks = {
93
+ request<T>(name: string, work: LockWork<T>): Promise<Awaited<T>>;
94
+ request<T>(name: string, options: LockOptions, work: LockWork<T>): Promise<Awaited<T>>;
95
+ };
96
+ type AnyLocks = Pick<LockManager, "request">;
97
+ /**
98
+ * Any Web Locks manager (`navigator.locks`, a test's, the SDK's own) handing
99
+ * a {@link LockHandle}: one it hands already is read through; any other
100
+ * lock is never lost while its work runs. Each handle keeps the outcomes
101
+ * {@link keepOutcome} refused for it, the same for every backend, and
102
+ * stamps who took the lock last.
103
+ */
104
+ export declare function fencedLocks(locks: AnyLocks | BrowserLocks | RawLocks): BrowserLocks;
105
+ type RawWork<T> = (lock: LockHandle | null) => Promise<T>;
106
+ export type RawLocks = {
107
+ request<T>(name: string, options: LockOptions, work: RawWork<T>): Promise<T>;
108
+ };
109
+ /** Writes one at a time per name within one tab, queued in `queues`. */
110
+ declare function tabLocksOn(queues: Map<string, Promise<void>>): RawLocks;
111
+ export declare const LEASE_MS = 15000;
112
+ type Lease = {
113
+ owner: string;
114
+ expires: number;
115
+ };
116
+ type Claim = "take" | "renew";
117
+ /** Where the origin's leases live: each call one atomic compare-and-set. */
118
+ export type LeaseStore = {
119
+ claim(name: string, owner: string, claim: Claim): Promise<boolean>;
120
+ read(name: string): Promise<Lease | undefined>;
121
+ drop(name: string, owner: string): Promise<void>;
122
+ };
123
+ export declare function idbLeases(factory: IDBFactory, now: () => number): () => Promise<LeaseStore>;
124
+ /**
125
+ * The origin's leases in memory, for tests: each call answers a task later,
126
+ * as IndexedDB's transactions do.
127
+ */
128
+ export declare function memoryLeases(now: () => number): LeaseStore;
129
+ /**
130
+ * Locks over the origin's `leases`, one at a time per name within the tab
131
+ * (`tab`), its clock `now`.
132
+ */
133
+ export declare function leaseLocks(leases: () => Promise<LeaseStore>, tab?: RawLocks, now?: () => number): RawLocks;
134
+ export { tabLocksOn };
3
135
  /**
4
136
  * The browser's Web Locks. Where a browser or wallet webview has none, an
5
137
  * IndexedDB lease shared by the origin's tabs (one transaction, no visible
6
138
  * delay; it waits only while another tab holds the action), with a one-time
7
139
  * console note. With neither, a lock within this tab. Never refuses.
140
+ *
141
+ * `request(name, work)` or `request(name, options, work)`, as on
142
+ * `navigator.locks`; `work` gets a {@link LockHandle}. Call its
143
+ * `assertHeld()` immediately before every journal write and every wallet
144
+ * submission inside the lock: a lease can lapse while the tab is suspended
145
+ * (as while the user is in a wallet app) and pass to another tab. The check
146
+ * narrows that window to the time between the check and the write.
8
147
  */
9
148
  export declare function browserLocks(): BrowserLocks;
10
149
  //# sourceMappingURL=locks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../../src/review/locks.ts"],"names":[],"mappings":"AAEA,qGAAqG;AACrG,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAkIxD;;;;;GAKG;AACH,wBAAgB,YAAY,IAAI,YAAY,CAa3C"}
1
+ {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../../src/review/locks.ts"],"names":[],"mappings":"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"}