@procedures/client 0.14.1 → 0.15.1

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 (110) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/adapters/http/client/transport.d.ts.map +1 -1
  4. package/dist/adapters/http/client/transport.js +4 -0
  5. package/dist/adapters/http/client/transport.js.map +1 -1
  6. package/dist/adapters/http/server/handler.d.ts.map +1 -1
  7. package/dist/adapters/http/server/handler.js +8 -3
  8. package/dist/adapters/http/server/handler.js.map +1 -1
  9. package/dist/adapters/local/client/transport.d.ts.map +1 -1
  10. package/dist/adapters/local/client/transport.js +5 -0
  11. package/dist/adapters/local/client/transport.js.map +1 -1
  12. package/dist/browser.d.ts +4 -3
  13. package/dist/browser.d.ts.map +1 -1
  14. package/dist/browser.js +2 -0
  15. package/dist/browser.js.map +1 -1
  16. package/dist/client/client.js +1 -1
  17. package/dist/client/client.js.map +1 -1
  18. package/dist/client/errors/registry.d.ts.map +1 -1
  19. package/dist/client/errors/registry.js +13 -0
  20. package/dist/client/errors/registry.js.map +1 -1
  21. package/dist/client/middleware/rate-limit.d.ts +17 -0
  22. package/dist/client/middleware/rate-limit.d.ts.map +1 -1
  23. package/dist/client/middleware/rate-limit.js +94 -39
  24. package/dist/client/middleware/rate-limit.js.map +1 -1
  25. package/dist/client/types.d.ts +6 -1
  26. package/dist/client/types.d.ts.map +1 -1
  27. package/dist/client/types.js +7 -1
  28. package/dist/client/types.js.map +1 -1
  29. package/dist/events/index.d.ts +1 -0
  30. package/dist/events/index.d.ts.map +1 -1
  31. package/dist/events/index.js.map +1 -1
  32. package/dist/events/publisher.d.ts +46 -1
  33. package/dist/events/publisher.d.ts.map +1 -1
  34. package/dist/events/publisher.js +95 -5
  35. package/dist/events/publisher.js.map +1 -1
  36. package/dist/events/recheck.d.ts +84 -0
  37. package/dist/events/recheck.d.ts.map +1 -0
  38. package/dist/events/recheck.js +135 -0
  39. package/dist/events/recheck.js.map +1 -0
  40. package/dist/procedures/collection/index.d.ts +3 -1
  41. package/dist/procedures/collection/index.d.ts.map +1 -1
  42. package/dist/procedures/collection/index.js +2 -0
  43. package/dist/procedures/collection/index.js.map +1 -1
  44. package/dist/procedures/collection/precondition.d.ts +111 -0
  45. package/dist/procedures/collection/precondition.d.ts.map +1 -0
  46. package/dist/procedures/collection/precondition.js +153 -0
  47. package/dist/procedures/collection/precondition.js.map +1 -0
  48. package/dist/procedures/collection/procedures.d.ts.map +1 -1
  49. package/dist/procedures/collection/procedures.js +16 -3
  50. package/dist/procedures/collection/procedures.js.map +1 -1
  51. package/dist/procedures/collection/query.d.ts +2 -0
  52. package/dist/procedures/collection/query.d.ts.map +1 -1
  53. package/dist/procedures/collection/query.js +3 -0
  54. package/dist/procedures/collection/query.js.map +1 -1
  55. package/dist/procedures/collection/schemas.d.ts +16 -0
  56. package/dist/procedures/collection/schemas.d.ts.map +1 -1
  57. package/dist/procedures/collection/schemas.js +26 -5
  58. package/dist/procedures/collection/schemas.js.map +1 -1
  59. package/dist/procedures/collection/storage.d.ts +34 -6
  60. package/dist/procedures/collection/storage.d.ts.map +1 -1
  61. package/dist/procedures/collection/storage.js +3 -0
  62. package/dist/procedures/collection/storage.js.map +1 -1
  63. package/dist/procedures/index.d.ts +2 -2
  64. package/dist/procedures/index.d.ts.map +1 -1
  65. package/dist/procedures/index.js +1 -1
  66. package/dist/procedures/index.js.map +1 -1
  67. package/dist/protocol.d.ts +1 -1
  68. package/dist/protocol.d.ts.map +1 -1
  69. package/dist/protocol.js +2 -0
  70. package/dist/protocol.js.map +1 -1
  71. package/dist/server/host-policy.d.ts +17 -0
  72. package/dist/server/host-policy.d.ts.map +1 -1
  73. package/dist/server/host-policy.js +7 -0
  74. package/dist/server/host-policy.js.map +1 -1
  75. package/dist/server/limits.d.ts +122 -0
  76. package/dist/server/limits.d.ts.map +1 -0
  77. package/dist/server/limits.js +153 -0
  78. package/dist/server/limits.js.map +1 -0
  79. package/dist/server/procedure-server.d.ts +31 -1
  80. package/dist/server/procedure-server.d.ts.map +1 -1
  81. package/dist/server/procedure-server.js +43 -2
  82. package/dist/server/procedure-server.js.map +1 -1
  83. package/dist/server/request-auth.d.ts +5 -1
  84. package/dist/server/request-auth.d.ts.map +1 -1
  85. package/dist/server/request-auth.js +19 -2
  86. package/dist/server/request-auth.js.map +1 -1
  87. package/package.json +3 -3
  88. package/src/adapters/http/client/transport.ts +3 -0
  89. package/src/adapters/http/server/handler.ts +8 -3
  90. package/src/adapters/local/client/transport.ts +4 -0
  91. package/src/browser.ts +20 -0
  92. package/src/client/client.ts +1 -1
  93. package/src/client/errors/registry.ts +14 -0
  94. package/src/client/middleware/rate-limit.ts +116 -41
  95. package/src/client/types.ts +8 -0
  96. package/src/events/index.ts +1 -0
  97. package/src/events/publisher.ts +116 -6
  98. package/src/events/recheck.ts +182 -0
  99. package/src/procedures/collection/index.ts +17 -0
  100. package/src/procedures/collection/precondition.ts +180 -0
  101. package/src/procedures/collection/procedures.ts +17 -4
  102. package/src/procedures/collection/query.ts +16 -0
  103. package/src/procedures/collection/schemas.ts +43 -6
  104. package/src/procedures/collection/storage.ts +36 -6
  105. package/src/procedures/index.ts +15 -0
  106. package/src/protocol.ts +5 -1
  107. package/src/server/host-policy.ts +22 -0
  108. package/src/server/limits.ts +254 -0
  109. package/src/server/procedure-server.ts +59 -3
  110. package/src/server/request-auth.ts +19 -2
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/client/errors/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/client/errors/registry.ts"],"names":[],"mappings":"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"}
@@ -5,21 +5,32 @@
5
5
  * Prevents overwhelming services with too many requests.
6
6
  *
7
7
  * Works with both client and server!
8
+ *
9
+ * The bucket is a keyed limiter of `@mark1russell7/service/limiter` (CLI-40): the same primitive
10
+ * as the limits of the procedures server. Its policy is a token bucket of `maxRequests` tokens
11
+ * that refills `maxRequests` tokens in each `window`, as before.
8
12
  */
9
13
  import type { ClientMiddleware, TypedClientMiddleware } from "../types.js";
10
14
  import type { RateLimitContext } from "./contexts.js";
11
15
  import { type Duration } from "../../duration.js";
16
+ import type { Clock } from "../../clock.js";
12
17
  /**
13
18
  * Rate limiting options.
14
19
  */
15
20
  export interface RateLimitOptions {
16
21
  /**
17
22
  * Maximum number of requests per time window.
23
+ *
24
+ * Kept for compatibility: a value below 1 never lets a request in, and a value above 1 that is
25
+ * not whole gives a bucket of that size. An infinite value limits nothing.
18
26
  * @default 100
19
27
  */
20
28
  maxRequests?: number;
21
29
  /**
22
30
  * Time window in milliseconds.
31
+ *
32
+ * Kept for compatibility: a window of 0 or less fills the bucket again at each request, so a
33
+ * `maxRequests` of 1 or more limits nothing.
23
34
  * @default 60000 (1 minute)
24
35
  */
25
36
  window?: Duration;
@@ -43,6 +54,12 @@ export interface RateLimitOptions {
43
54
  * Callback when rate limit is exceeded.
44
55
  */
45
56
  onRateLimitExceeded?: (stats: RateLimitStats) => void;
57
+ /**
58
+ * The clock of the limiter: the time of the bucket and the timer of the queue (CLI-40). The
59
+ * default reads `Date.now()` and starts its timer with `setTimeout`, as before, so a queued
60
+ * request keeps a process alive. A test gives a fake clock.
61
+ */
62
+ clock?: Clock | undefined;
46
63
  }
47
64
  /**
48
65
  * Rate limit statistics.
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/client/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAA+B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG9D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,KAAK,EAAE,cAAc;IAFvC,YACE,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,cAAc,EAItC;CACF;AAUD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gBAAqB,GAC7B,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAuJ7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAE,GACxE,gBAAgB,CA+BlB"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/client/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAA+B,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAU,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAE9B;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IAEtD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;aAGrB,KAAK,EAAE,cAAc;IAFvC,YACE,OAAO,EAAE,MAAM,EACC,KAAK,EAAE,cAAc,EAItC;CACF;AA8ED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,gBAAqB,GAC7B,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CA0I7C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,gBAAgB,CAAA;CAAE,GACxE,gBAAgB,CA+BlB"}
@@ -5,7 +5,13 @@
5
5
  * Prevents overwhelming services with too many requests.
6
6
  *
7
7
  * Works with both client and server!
8
+ *
9
+ * The bucket is a keyed limiter of `@mark1russell7/service/limiter` (CLI-40): the same primitive
10
+ * as the limits of the procedures server. Its policy is a token bucket of `maxRequests` tokens
11
+ * that refills `maxRequests` tokens in each `window`, as before.
8
12
  */
13
+ import { valueIn } from "@mark1russell7/quantity";
14
+ import { keyedLimiter, memoryStore } from "@mark1russell7/service/limiter";
9
15
  import { abortedItem } from "./items.js";
10
16
  import { optionalMs } from "../../duration.js";
11
17
  import { TIMER_DEFAULTS } from "../../timers.js";
@@ -20,6 +26,67 @@ export class RateLimitError extends Error {
20
26
  this.name = "RateLimitError";
21
27
  }
22
28
  }
29
+ /** The name of the keyed limiter of a middleware. Each middleware has its own store, so the name is the same for each one. */
30
+ const LIMITER = "client.rateLimit";
31
+ /** The one key of the bucket of a middleware. */
32
+ const KEY = "client";
33
+ /**
34
+ * The clock of a limiter without the option `clock`: `Date.now()` from the start of the
35
+ * middleware, and `setTimeout`. Thus the bucket reads the same time as before, and a queued
36
+ * request keeps a Node process alive until it runs.
37
+ */
38
+ function wallClock() {
39
+ const origin = Date.now();
40
+ return {
41
+ now: () => Date.now() - origin,
42
+ after(delay, run) {
43
+ const timer = setTimeout(run, Math.max(0, delay));
44
+ return () => clearTimeout(timer);
45
+ },
46
+ };
47
+ }
48
+ /** This function gives a wait in milliseconds as a quantity. */
49
+ const msOf = (value) => ({ value, unit: "ms" });
50
+ /**
51
+ * This function gives the take of the bucket of the options. The take decides at once, without a
52
+ * promise.
53
+ *
54
+ * - A whole `maxRequests` of 1 or more and a `window` above 0: a keyed limiter of the service on a
55
+ * memory store (CLI-40). Its token bucket gives `maxRequests` takes at once, and one more take
56
+ * each `window / maxRequests`.
57
+ * - Kept for compatibility: a `maxRequests` above 1 that is not whole gives the same store with a
58
+ * bucket of that size. The keyed limiter refuses such a spec, so the rule is given in numbers.
59
+ * - Kept for compatibility: a `window` of 0 or less fills the bucket again at each request. Thus a
60
+ * `maxRequests` of 1 or more limits nothing.
61
+ * - Kept for compatibility: a `maxRequests` below 1 never lets a request in. A queued request
62
+ * waits without an end, and the timer of the queue keeps a process alive, as before.
63
+ * - Kept for compatibility: an infinite `maxRequests` limits nothing.
64
+ */
65
+ function bucketOf(maxRequests, window, clock) {
66
+ if (window <= 0 && maxRequests >= 1) {
67
+ const remaining = Math.floor(maxRequests - 1);
68
+ return () => ({ allowed: true, remaining });
69
+ }
70
+ if (!(maxRequests >= 1)) {
71
+ // The wait of the queue before CLI-40: the time until one token, or 1 ms when it has no value
72
+ const wait = ((1 - maxRequests) * window) / maxRequests;
73
+ const waitMs = Number.isFinite(wait) && wait > 1 ? wait : 1;
74
+ return () => ({ allowed: false, retryAfter: msOf(waitMs), cause: "limit" });
75
+ }
76
+ if (maxRequests === Number.POSITIVE_INFINITY)
77
+ return () => ({ allowed: true, remaining: Number.POSITIVE_INFINITY });
78
+ const store = memoryStore(clock);
79
+ const rule = Number.isInteger(maxRequests)
80
+ ? keyedLimiter(LIMITER, {
81
+ key: KEY,
82
+ policy: { type: "token-bucket", rate: { value: maxRequests / window, unit: "count/ms" }, burst: { value: maxRequests, unit: "count" } },
83
+ store: { kind: "local" },
84
+ evict: { maxKeys: { value: 1, unit: "count" } },
85
+ }, store).rule
86
+ : { type: "token-bucket", interval: window / maxRequests, burst: maxRequests };
87
+ // The memory store decides in one step without a promise
88
+ return () => store.take({ limiter: LIMITER, key: KEY, rule, maxKeys: 1 });
89
+ }
23
90
  /**
24
91
  * Create rate limiting middleware using token bucket algorithm.
25
92
  *
@@ -47,38 +114,27 @@ export class RateLimitError extends Error {
47
114
  export function createRateLimitMiddleware(options = {}) {
48
115
  const { maxRequests = 100, strategy = "reject", maxQueueSize = 100, message = "Rate limit exceeded", onRateLimitExceeded, } = options;
49
116
  const window = optionalMs(options.window, "window") ?? TIMER_DEFAULTS.rateLimit.windowMs;
50
- // Token bucket state
51
- let tokens = maxRequests;
52
- let lastRefill = Date.now();
117
+ const clock = options.clock ?? wallClock();
118
+ const takeOfBucket = bucketOf(maxRequests, window, clock);
53
119
  let totalRequests = 0;
54
120
  let rejectedRequests = 0;
121
+ /** The whole tokens after the last decision: `remaining` of a take, or 0 after a refusal. */
122
+ let tokensAvailable = maxRequests;
55
123
  // Queue for "queue" strategy
56
124
  const queue = [];
57
125
  let drainTimer;
58
- /**
59
- * Refill tokens based on elapsed time.
60
- */
61
- function refillTokens() {
62
- const now = Date.now();
63
- const elapsed = now - lastRefill;
64
- if (elapsed >= window) {
65
- // Full refill
66
- tokens = maxRequests;
67
- lastRefill = now;
68
- }
69
- else {
70
- // Partial refill (tokens per millisecond * elapsed time)
71
- const tokensToAdd = (maxRequests / window) * elapsed;
72
- tokens = Math.min(maxRequests, tokens + tokensToAdd);
73
- lastRefill = now;
74
- }
126
+ /** One take of the bucket, at once, so the requests keep their order, as before. */
127
+ function take() {
128
+ const decision = takeOfBucket();
129
+ tokensAvailable = decision.allowed ? decision.remaining : 0;
130
+ return decision;
75
131
  }
76
132
  /**
77
133
  * Get current statistics.
78
134
  */
79
135
  function getStats() {
80
136
  return {
81
- tokensAvailable: Math.floor(tokens),
137
+ tokensAvailable,
82
138
  maxTokens: maxRequests,
83
139
  queueSize: queue.length,
84
140
  totalRequests,
@@ -91,10 +147,8 @@ export function createRateLimitMiddleware(options = {}) {
91
147
  * an arrival could take the token of a queued request (deep dive TRN-12).
92
148
  */
93
149
  async function acquireToken(signal) {
94
- refillTokens();
95
- if (queue.length === 0 && tokens >= 1) {
150
+ if (queue.length === 0 && take().allowed) {
96
151
  // Token available
97
- tokens -= 1;
98
152
  return true;
99
153
  }
100
154
  // No tokens available
@@ -123,7 +177,7 @@ export function createRateLimitMiddleware(options = {}) {
123
177
  signal?.removeEventListener("abort", onAbort);
124
178
  resolve(true);
125
179
  },
126
- timestamp: Date.now(),
180
+ timestamp: clock.now(),
127
181
  };
128
182
  // A queued request whose caller aborts leaves the queue (before, it kept its place)
129
183
  const onAbort = () => {
@@ -139,25 +193,26 @@ export function createRateLimitMiddleware(options = {}) {
139
193
  }
140
194
  /**
141
195
  * Give tokens to the queued requests, in order, and wait for the next token while the queue
142
- * is not empty. The timer keeps the process alive while requests wait: before, an unref'd
143
- * timer let the process exit with queued requests that never ran (deep dive TRN-12).
196
+ * is not empty. The wait is the `retryAfter` of the refusal of the bucket. The timer of the
197
+ * default clock keeps the process alive while requests wait: before, an unref'd timer let the
198
+ * process exit with queued requests that never ran (deep dive TRN-12).
144
199
  */
145
200
  function scheduleDrain() {
146
201
  if (drainTimer !== undefined)
147
202
  return;
148
- refillTokens();
149
- while (queue.length > 0 && tokens >= 1) {
150
- tokens -= 1;
203
+ while (queue.length > 0) {
204
+ const decision = take();
205
+ if (!decision.allowed) {
206
+ // The time until the next whole token
207
+ const wait = Math.max(1, Math.ceil(valueIn(decision.retryAfter, "ms")));
208
+ drainTimer = clock.after(wait, () => {
209
+ drainTimer = undefined;
210
+ scheduleDrain();
211
+ });
212
+ return;
213
+ }
151
214
  queue.shift().resolve();
152
215
  }
153
- if (queue.length === 0)
154
- return;
155
- // The time until the next whole token
156
- const wait = Math.max(1, Math.ceil(((1 - tokens) * window) / maxRequests));
157
- drainTimer = setTimeout(() => {
158
- drainTimer = undefined;
159
- scheduleDrain();
160
- }, wait);
161
216
  }
162
217
  const middleware = (next) => {
163
218
  return async function* (context) {
@@ -169,7 +224,7 @@ export function createRateLimitMiddleware(options = {}) {
169
224
  }
170
225
  // The state for the other middlewares (RateLimitContext)
171
226
  context.message.metadata["rateLimit"] = {
172
- tokensAvailable: Math.floor(tokens),
227
+ tokensAvailable,
173
228
  maxTokens: maxRequests,
174
229
  queueSize: queue.length,
175
230
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/client/middleware/rate-limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/client/middleware/rate-limit.ts"],"names":[],"mappings":"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"}
@@ -275,9 +275,14 @@ export declare class ClientError extends Error {
275
275
  type: "error";
276
276
  }>;
277
277
  readonly responseId: string;
278
+ /**
279
+ * The metadata of the error response, for example `reason` of a `FORBIDDEN` error, or
280
+ * `conflicts` of a `VERSION_CONFLICT` error (roadmap CLI-16). Empty when the response has none.
281
+ */
282
+ readonly metadata: Metadata;
278
283
  constructor(status: Extract<Status, {
279
284
  type: "error";
280
- }>, responseId: string);
285
+ }>, responseId: string, metadata?: Metadata);
281
286
  get code(): string;
282
287
  get retryable(): boolean;
283
288
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,17 @@
10
10
  export class ClientError extends Error {
11
11
  status;
12
12
  responseId;
13
- constructor(status, responseId) {
13
+ /**
14
+ * The metadata of the error response, for example `reason` of a `FORBIDDEN` error, or
15
+ * `conflicts` of a `VERSION_CONFLICT` error (roadmap CLI-16). Empty when the response has none.
16
+ */
17
+ metadata;
18
+ constructor(status, responseId, metadata = {}) {
14
19
  super(status.message);
15
20
  this.status = status;
16
21
  this.responseId = responseId;
17
22
  this.name = "ClientError";
23
+ this.metadata = metadata;
18
24
  }
19
25
  get code() {
20
26
  return this.status.code;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+TH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAElB,MAAM;IACN,UAAU;IAF5B,YACkB,MAA0C,EAC1C,UAAkB;QAElC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;sBAHN,MAAM;0BACN,UAAU;QAG1B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+TH;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAQlB,MAAM;IACN,UAAU;IAR5B;;;OAGG;IACa,QAAQ,CAAW;IAEnC,YACkB,MAA0C,EAC1C,UAAkB,EAClC,QAAQ,GAAa,EAAE;QAEvB,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;sBAJN,MAAM;0BACN,UAAU;QAI1B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC1B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC/B,CAAC;CACF"}
@@ -32,6 +32,7 @@ export { DefaultEventBus } from "./bus.js";
32
32
  export { createEventBus, createTypedEventBus, getGlobalEventBus, resetGlobalEventBus, withEventBusSignal, } from "./bus.js";
33
33
  export { EventPublisher, topicMatcher, MAX_SUBSCRIPTION_TOPICS, MAX_TOPIC_LENGTH } from "./publisher.js";
34
34
  export type { EventPublisherOptions, TopicRule, TopicCall } from "./publisher.js";
35
+ export type { RightsChange, SubscriptionRecheck } from "./recheck.js";
35
36
  export { EVENTS_SUBSCRIBE_PATH, SubscriptionError, remoteEvents, subscribeRemote } from "./remote.js";
36
37
  export type { EventItem, EventTransport, RemoteEvent, RemoteEventHandler, RemoteEventsOptions, ResubscribeBackoff, SubscribeInput, SubscribeOptions, Subscription, SubscriptionHooks, } from "./remote.js";
37
38
  export { createChannelPrefix, forwardChannel, mergeChannels, filterChannel, mapChannel, debounceChannel, throttleChannel, } from "./bus.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzG,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtG,YAAY,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACzG,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAClF,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACtG,YAAY,EACV,SAAS,EACT,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkBH,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,4FAA4F;AAC5F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzG,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AActG,YAAY;AACZ,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkBH,iBAAiB;AACjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,oBAAoB;AACpB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,4FAA4F;AAC5F,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGzG,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AActG,YAAY;AACZ,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,EACV,eAAe,EACf,eAAe,GAChB,MAAM,UAAU,CAAC"}
@@ -18,6 +18,8 @@
18
18
  *
19
19
  * - A value with rows (`withRows()`) reaches each subscriber through the output filter of its host
20
20
  * (`ctx.admit`): each row passes the filter, and the subscriber gets only the admitted rows.
21
+ * - An open subscription gets the same checks again at a change of the rights (`rightsChanged()`,
22
+ * `recheck.rightsChanges`) and after `recheck.maxAge` (roadmap CLI-44). A refusal ends it.
21
23
  *
22
24
  * The delivery is at most once. The queue of a subscription holds at most `buffer` events. When
23
25
  * it is full, the publisher drops the oldest event, and the next event tells the number of lost
@@ -26,6 +28,8 @@
26
28
  import type { AnyProcedure, Capability } from "../procedures/types.js";
27
29
  import type { Principal } from "../server/types.js";
28
30
  import type { EventBus } from "./types.js";
31
+ import { type Clock } from "../clock.js";
32
+ import { type RightsChange, type SubscriptionRecheck } from "./recheck.js";
29
33
  /** The number of topics that one subscription can name. */
30
34
  export declare const MAX_SUBSCRIPTION_TOPICS = 64;
31
35
  /** The number of characters of a topic name. */
@@ -58,7 +62,8 @@ export interface EventPublisherOptions {
58
62
  allow?: ((topic: string, call: TopicCall) => boolean) | undefined;
59
63
  /**
60
64
  * The number of events that one subscription holds for a slow subscriber. When the queue is
61
- * full, the publisher drops the oldest event.
65
+ * full, the publisher drops the oldest event. The events that wait for a re-check (roadmap
66
+ * CLI-44) are in the same queue, so a slow check holds at most this number of events too.
62
67
  * @default 1024
63
68
  */
64
69
  buffer?: number | undefined;
@@ -74,6 +79,23 @@ export interface EventPublisherOptions {
74
79
  * @default the read of the collection of `collectionTopicTarget()`, with the repository of the call
75
80
  */
76
81
  reads?: ((topic: string) => readonly string[]) | undefined;
82
+ /**
83
+ * The clock of the re-check after `recheck.maxAge` (roadmap CLI-44). A test gives the
84
+ * `fakeClock` of `@mark1russell7/service/testing`. A `ProcedureServer` gives its own clock to the
85
+ * publisher that it makes from its option `events`.
86
+ * @default the clock of the platform
87
+ */
88
+ clock?: Clock | undefined;
89
+ /**
90
+ * The re-check of the admission of each open subscription (roadmap CLI-44). A right can change
91
+ * after the start of a subscription. The publisher then examines the subscription again with the
92
+ * same checks: the topic rule, the reads, `allow` and the partition. A refusal ends it, for
93
+ * example with `FORBIDDEN`. `maxAge` starts a check after a time on the clock, and
94
+ * `rightsChanges` starts a check at each change from a source of the app. `rightsChanged()` also
95
+ * starts a check.
96
+ * @default no check after the start, other than at a call of `rightsChanged()`
97
+ */
98
+ recheck?: SubscriptionRecheck | undefined;
77
99
  }
78
100
  /** This function gives the test of a topic rule. */
79
101
  export declare function topicMatcher(rule: TopicRule): (topic: string) => boolean;
@@ -100,6 +122,8 @@ export declare class EventPublisher {
100
122
  private readonly defaultReads;
101
123
  private readonly buffer;
102
124
  private readonly open;
125
+ /** The re-checks of the admission of the open subscriptions (roadmap CLI-44) */
126
+ private readonly rechecks;
103
127
  constructor(options: EventPublisherOptions);
104
128
  /** This function publishes an event on the bus: each subscription of the topic gets it. */
105
129
  publish<T>(topic: string, data: T): void;
@@ -110,6 +134,15 @@ export declare class EventPublisher {
110
134
  * A subscriber resubscribes after its backoff. `ProcedureServer.stop()` calls it first.
111
135
  */
112
136
  end(): void;
137
+ /**
138
+ * This function tells the publisher that rights changed (roadmap CLI-44). Each open subscription
139
+ * that the change touches gets the checks of its start again: the topic rule, the reads, `allow`
140
+ * and the partition. Its events wait for the check. A refusal ends the subscription with its
141
+ * error, for example `FORBIDDEN`. The promise ends when each check ends, and it does not reject.
142
+ *
143
+ * @param change - The subscriptions that the change touches. Without it, each open subscription gets a check.
144
+ */
145
+ rightsChanged(change?: RightsChange): Promise<void>;
113
146
  /**
114
147
  * The topic of the bus for a topic of a subscriber (roadmap CLI-17). A topic of a partitioned
115
148
  * collection names the partition that the subscriber asks for, as the input of a procedure does:
@@ -123,6 +156,18 @@ export declare class EventPublisher {
123
156
  * listener name the same collection.
124
157
  */
125
158
  private readsOf;
159
+ /**
160
+ * The checks of the topics of a call: the topic rule, the reads of the capability and `allow`.
161
+ * A subscription passes them at its start and at each re-check (roadmap CLI-44).
162
+ */
163
+ private admitTopics;
164
+ /**
165
+ * The admission of an open subscription again (roadmap CLI-44): the checks of its start, and the
166
+ * partition of each topic. A refusal of the resolver throws its error. A topic whose partition
167
+ * changed throws `FORBIDDEN` (reason `partition-not-allowed`), because the listener has the old
168
+ * partition.
169
+ */
170
+ private readmit;
126
171
  /**
127
172
  * The stream of one subscription. The publisher examines each topic before it adds a listener:
128
173
  * the topic rule, the reads, `allow`, and the partition. A call with one bad topic makes no subscription.
@@ -1 +1 @@
1
- {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAQH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAoB,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,YAAY,CAAC;AAKxD,2DAA2D;AAC3D,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;AAEzE,2DAA2D;AAC3D,MAAM,WAAW,SAAS;IACxB,yFAAyF;IACzF,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,wFAAwF;IACxF,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CAC5C;AAED,0CAA0C;AAC1C,MAAM,WAAW,qBAAqB;IACpC,mGAAmG;IACnG,GAAG,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,iGAAiG;IACjG,MAAM,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IAClE;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;CAC5D;AAOD,oDAAoD;AACpD,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAWxE;AA8LD;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC;IACvB,gGAAgG;IAChG,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA6B;IACnD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IAErD,YAAY,OAAO,EAAE,qBAAqB,EAkBzC;IAED,2FAA2F;IAC3F,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAEvC;IAED,wCAAwC;IACxC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,GAAG,IAAI,IAAI,CAEV;IAED;;;;;OAKG;YACW,QAAQ;IAOtB;;;;OAIG;IACH,OAAO,CAAC,OAAO;IAMf;;;OAGG;YACW,SAAS;CA0BxB"}
1
+ {"version":3,"file":"publisher.d.ts","sourceRoot":"","sources":["../../src/events/publisher.ts"],"names":[],"mappings":"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"}