@procedures/client 0.54.0 → 0.55.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @procedures/client
2
2
 
3
+ ## 0.55.0
4
+
5
+ ### Minor Changes
6
+
7
+ - fd9c6d4: The release train: the ranges of @mark1russell7/coeval change to a version outside the old range. This release has breaking changes.
8
+
9
+ ## 0.54.1
10
+
11
+ ### Patch Changes
12
+
13
+ - 13c3a8b: The cache middleware keeps its entries in `LRUCache` of `@mark1russell7/collections`, the home of the LRU cache (roadmap O98). The core removes its own `LruMap`. `LRUCache` checks the capacity and has `deleteWhere`, so the behavior does not change. A capacity that is not a positive whole number throws a `RangeError`, as before. An esbuild bundle for a browser gets 1075 more bytes of minified code, 478 bytes of gzip.
14
+
3
15
  ## 0.54.0
4
16
 
5
17
  ### Patch Changes
@@ -104,7 +116,7 @@
104
116
  - With no SDK, the behavior does not change: the W3C code of R16 operates.
105
117
  - The new option `apiSpans: false` of `tracingInterceptor` turns the spans of the API off. `metricsInterceptor` uses it.
106
118
  - `tracestate` and `baggage` are in the default CORS headers, and the cache key does not use them.
107
- - The W3C exports of `tracing/traceparent.ts` are `@deprecated`. A later MINOR removes them, when the site, MiniMongo, Graph and jarvis register an SDK.
119
+ - The W3C exports of `tracing/traceparent.ts` are `@deprecated`. A later MINOR removes them, when the site and each private application register an SDK.
108
120
 
109
121
  ## 0.52.4
110
122
 
@@ -4,7 +4,7 @@
4
4
  * Protocol-agnostic caching with LRU eviction and TTL expiration.
5
5
  * Works with any transport!
6
6
  */
7
- import { LruMap } from "./lru.js";
7
+ import { LRUCache } from "@mark1russell7/collections";
8
8
  import { isDuration, optionalMs } from "../../duration.js";
9
9
  import { TIMER_DEFAULTS } from "../../timers.js";
10
10
  import { methodName } from "../../server/method.js";
@@ -169,7 +169,7 @@ export function createCacheMiddleware(options) {
169
169
  const { methods, capacity = 100, onStats, keyGenerator = defaultKeyGenerator, shouldCache = defaultShouldCache, } = options;
170
170
  // An LRU map bounds the memory. Each entry keeps its own expiry time, so a call can give its
171
171
  // own TTL: before, one TTL map expired every entry after the TTL of the middleware.
172
- const cache = new LruMap(capacity, () => {
172
+ const cache = new LRUCache(capacity, () => {
173
173
  stats.evictions++;
174
174
  });
175
175
  // Track cache statistics
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/client/middleware/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/client/middleware/cache.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/client",
4
- "version": "0.54.0",
4
+ "version": "0.55.0",
5
5
  "description": "Procedures as data for TypeScript: define typed procedures once and call them in process, over HTTP, WebSocket, the CLI or MCP. Streaming, middleware, retries, caching and a JSON program format.",
6
6
  "keywords": [
7
7
  "rpc",
@@ -113,7 +113,7 @@
113
113
  },
114
114
  "dependencies": {
115
115
  "@mark1russell7/algebra": "^0.8.0",
116
- "@mark1russell7/coeval": "^0.26.1",
116
+ "@mark1russell7/coeval": "^0.29.0",
117
117
  "@mark1russell7/collections": "^0.10.0",
118
118
  "@mark1russell7/quantity": "^0.3.0",
119
119
  "@mark1russell7/service": "^0.8.3",
@@ -125,7 +125,7 @@
125
125
  "devDependencies": {
126
126
  "@mark1russell7/api-report": "^0.5.0",
127
127
  "@mark1russell7/cue": "^2.1.1",
128
- "@mark1russell7/otel-ts": "^0.6.0",
128
+ "@mark1russell7/otel-ts": "^0.7.5",
129
129
  "@mark1russell7/rigor-bench": "^0.2.33",
130
130
  "@mark1russell7/rigor-statistics": "^0.1.9",
131
131
  "@mark1russell7/rigor-testkit": "^0.1.2",
@@ -7,7 +7,7 @@
7
7
 
8
8
  import type { ClientRunner, ClientContext, ResponseItem, Metadata, Method, TypedClientMiddleware } from "../types.js";
9
9
  import type { CacheContext } from "./contexts.js";
10
- import { LruMap } from "./lru.js";
10
+ import { LRUCache } from "@mark1russell7/collections";
11
11
  import { isDuration, optionalMs, type Duration } from "../../duration.js";
12
12
  import type { Effects } from "../../procedures/types.js";
13
13
  import { TIMER_DEFAULTS } from "../../timers.js";
@@ -281,7 +281,7 @@ export function createCacheMiddleware(options: CacheOptions): TypedClientMiddlew
281
281
 
282
282
  // An LRU map bounds the memory. Each entry keeps its own expiry time, so a call can give its
283
283
  // own TTL: before, one TTL map expired every entry after the TTL of the middleware.
284
- const cache = new LruMap<string, CacheEntry>(capacity, () => {
284
+ const cache = new LRUCache<string, CacheEntry>(capacity, () => {
285
285
  stats.evictions++;
286
286
  });
287
287
 
@@ -1,34 +0,0 @@
1
- /**
2
- * A map with a capacity, for the cache middleware.
3
- *
4
- * A JavaScript `Map` keeps its keys in the order of insertion. A read moves its key to the end,
5
- * so the first key is always the least recently used one. A write that goes over the capacity
6
- * removes the first key. The core has this small map itself, so it does not depend on
7
- * `@procedures/collections` (roadmap 3.3: before, the cache composed `lruMap` and
8
- * `hashMap` of that package).
9
- */
10
- export declare class LruMap<K, V> {
11
- private readonly capacity;
12
- private readonly onEvict?;
13
- private readonly entries;
14
- /**
15
- * @param capacity - The largest number of keys. A positive whole number.
16
- * @param onEvict - Called for each key that a write removes to keep the capacity.
17
- */
18
- constructor(capacity: number, onEvict?: (key: K, value: V) => void);
19
- /** The number of keys. */
20
- get size(): number;
21
- /** True when the map has the key. This does not count as a use. */
22
- has(key: K): boolean;
23
- /** The value of the key, or undefined. A read makes the key the most recently used one. */
24
- get(key: K): V | undefined;
25
- /** Set the value of a key, as the most recently used one. Over the capacity, the oldest key goes. */
26
- set(key: K, value: V): void;
27
- /** Delete a key. True when it existed. */
28
- delete(key: K): boolean;
29
- /** Delete every key. */
30
- clear(): void;
31
- /** Delete each key whose value matches. This does not count as a use. The number deleted. */
32
- deleteWhere(matches: (value: V, key: K) => boolean): number;
33
- }
34
- //# sourceMappingURL=lru.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru.d.ts","sourceRoot":"","sources":["../../../src/client/middleware/lru.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA2C;IAEpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAE3C;;;OAGG;IACH,YACE,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,EAOrC;IAED,0BAA0B;IAC1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,mEAAmE;IACnE,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEnB;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS,CAMzB;IAED,qGAAqG;IACrG,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAS1B;IAED,0CAA0C;IAC1C,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO,CAEtB;IAED,wBAAwB;IACxB,KAAK,IAAI,IAAI,CAEZ;IAED,6FAA6F;IAC7F,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,OAAO,GAAG,MAAM,CAS1D;CACF"}
@@ -1,73 +0,0 @@
1
- /**
2
- * A map with a capacity, for the cache middleware.
3
- *
4
- * A JavaScript `Map` keeps its keys in the order of insertion. A read moves its key to the end,
5
- * so the first key is always the least recently used one. A write that goes over the capacity
6
- * removes the first key. The core has this small map itself, so it does not depend on
7
- * `@procedures/collections` (roadmap 3.3: before, the cache composed `lruMap` and
8
- * `hashMap` of that package).
9
- */
10
- export class LruMap {
11
- capacity;
12
- onEvict;
13
- entries = new Map();
14
- /**
15
- * @param capacity - The largest number of keys. A positive whole number.
16
- * @param onEvict - Called for each key that a write removes to keep the capacity.
17
- */
18
- constructor(capacity, onEvict) {
19
- this.capacity = capacity;
20
- this.onEvict = onEvict;
21
- if (!Number.isInteger(capacity) || capacity < 1) {
22
- throw new RangeError(`The capacity of an LRU map must be a positive whole number, not ${capacity}`);
23
- }
24
- }
25
- /** The number of keys. */
26
- get size() {
27
- return this.entries.size;
28
- }
29
- /** True when the map has the key. This does not count as a use. */
30
- has(key) {
31
- return this.entries.has(key);
32
- }
33
- /** The value of the key, or undefined. A read makes the key the most recently used one. */
34
- get(key) {
35
- if (!this.entries.has(key))
36
- return undefined;
37
- const value = this.entries.get(key);
38
- this.entries.delete(key);
39
- this.entries.set(key, value);
40
- return value;
41
- }
42
- /** Set the value of a key, as the most recently used one. Over the capacity, the oldest key goes. */
43
- set(key, value) {
44
- this.entries.delete(key);
45
- this.entries.set(key, value);
46
- while (this.entries.size > this.capacity) {
47
- const oldest = this.entries.keys().next().value;
48
- const evicted = this.entries.get(oldest);
49
- this.entries.delete(oldest);
50
- this.onEvict?.(oldest, evicted);
51
- }
52
- }
53
- /** Delete a key. True when it existed. */
54
- delete(key) {
55
- return this.entries.delete(key);
56
- }
57
- /** Delete every key. */
58
- clear() {
59
- this.entries.clear();
60
- }
61
- /** Delete each key whose value matches. This does not count as a use. The number deleted. */
62
- deleteWhere(matches) {
63
- let deleted = 0;
64
- for (const [key, value] of this.entries) {
65
- if (matches(value, key)) {
66
- this.entries.delete(key);
67
- deleted++;
68
- }
69
- }
70
- return deleted;
71
- }
72
- }
73
- //# sourceMappingURL=lru.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lru.js","sourceRoot":"","sources":["../../../src/client/middleware/lru.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,OAAO,MAAM;IACA,QAAQ,CAAS;IACjB,OAAO,CAA4C;IAEnD,OAAO,GAAG,IAAI,GAAG,EAAQ,CAAC;IAE3C;;;OAGG;IACH,YACE,QAAgB,EAChB,OAAoC;QAEpC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,UAAU,CAAC,mEAAmE,QAAQ,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,mEAAmE;IACnE,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,2FAA2F;IAC3F,GAAG,CAAC,GAAM;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;QACzC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,qGAAqG;IACrG,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAU,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAM,CAAC;YAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC5B,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,0CAA0C;IAC1C,MAAM,CAAC,GAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,wBAAwB;IACxB,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,6FAA6F;IAC7F,WAAW,CAAC,OAAsC;QAChD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1,83 +0,0 @@
1
- /**
2
- * A map with a capacity, for the cache middleware.
3
- *
4
- * A JavaScript `Map` keeps its keys in the order of insertion. A read moves its key to the end,
5
- * so the first key is always the least recently used one. A write that goes over the capacity
6
- * removes the first key. The core has this small map itself, so it does not depend on
7
- * `@procedures/collections` (roadmap 3.3: before, the cache composed `lruMap` and
8
- * `hashMap` of that package).
9
- */
10
- export class LruMap<K, V> {
11
- private readonly capacity: number;
12
- private readonly onEvict?: ((key: K, value: V) => void) | undefined;
13
-
14
- private readonly entries = new Map<K, V>();
15
-
16
- /**
17
- * @param capacity - The largest number of keys. A positive whole number.
18
- * @param onEvict - Called for each key that a write removes to keep the capacity.
19
- */
20
- constructor(
21
- capacity: number,
22
- onEvict?: (key: K, value: V) => void
23
- ) {
24
- this.capacity = capacity;
25
- this.onEvict = onEvict;
26
- if (!Number.isInteger(capacity) || capacity < 1) {
27
- throw new RangeError(`The capacity of an LRU map must be a positive whole number, not ${capacity}`);
28
- }
29
- }
30
-
31
- /** The number of keys. */
32
- get size(): number {
33
- return this.entries.size;
34
- }
35
-
36
- /** True when the map has the key. This does not count as a use. */
37
- has(key: K): boolean {
38
- return this.entries.has(key);
39
- }
40
-
41
- /** The value of the key, or undefined. A read makes the key the most recently used one. */
42
- get(key: K): V | undefined {
43
- if (!this.entries.has(key)) return undefined;
44
- const value = this.entries.get(key) as V;
45
- this.entries.delete(key);
46
- this.entries.set(key, value);
47
- return value;
48
- }
49
-
50
- /** Set the value of a key, as the most recently used one. Over the capacity, the oldest key goes. */
51
- set(key: K, value: V): void {
52
- this.entries.delete(key);
53
- this.entries.set(key, value);
54
- while (this.entries.size > this.capacity) {
55
- const oldest = this.entries.keys().next().value as K;
56
- const evicted = this.entries.get(oldest) as V;
57
- this.entries.delete(oldest);
58
- this.onEvict?.(oldest, evicted);
59
- }
60
- }
61
-
62
- /** Delete a key. True when it existed. */
63
- delete(key: K): boolean {
64
- return this.entries.delete(key);
65
- }
66
-
67
- /** Delete every key. */
68
- clear(): void {
69
- this.entries.clear();
70
- }
71
-
72
- /** Delete each key whose value matches. This does not count as a use. The number deleted. */
73
- deleteWhere(matches: (value: V, key: K) => boolean): number {
74
- let deleted = 0;
75
- for (const [key, value] of this.entries) {
76
- if (matches(value, key)) {
77
- this.entries.delete(key);
78
- deleted++;
79
- }
80
- }
81
- return deleted;
82
- }
83
- }