@loomwork/ui-hydration 0.0.0-stage → 0.1.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.
- package/LICENSE +202 -0
- package/NOTICE +8 -0
- package/README.md +398 -2
- package/dist/cache.d.ts +71 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +157 -0
- package/dist/cache.js.map +1 -0
- package/dist/chatSource.d.ts +105 -0
- package/dist/chatSource.d.ts.map +1 -0
- package/dist/chatSource.js +264 -0
- package/dist/chatSource.js.map +1 -0
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +36 -0
- package/dist/client.js.map +1 -0
- package/dist/contentRefs.d.ts +78 -0
- package/dist/contentRefs.d.ts.map +1 -0
- package/dist/contentRefs.js +129 -0
- package/dist/contentRefs.js.map +1 -0
- package/dist/controller.d.ts +228 -0
- package/dist/controller.d.ts.map +1 -0
- package/dist/controller.js +454 -0
- package/dist/controller.js.map +1 -0
- package/dist/dataProvider.d.ts +53 -0
- package/dist/dataProvider.d.ts.map +1 -0
- package/dist/dataProvider.js +77 -0
- package/dist/dataProvider.js.map +1 -0
- package/dist/esm/cache.js +151 -0
- package/dist/esm/cache.js.map +1 -0
- package/dist/esm/chatSource.js +259 -0
- package/dist/esm/chatSource.js.map +1 -0
- package/dist/esm/client.js +15 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/contentRefs.js +119 -0
- package/dist/esm/contentRefs.js.map +1 -0
- package/dist/esm/controller.js +449 -0
- package/dist/esm/controller.js.map +1 -0
- package/dist/esm/dataProvider.js +72 -0
- package/dist/esm/dataProvider.js.map +1 -0
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/invoker.js +2 -0
- package/dist/esm/invoker.js.map +1 -0
- package/dist/esm/invokers.js +310 -0
- package/dist/esm/invokers.js.map +1 -0
- package/dist/esm/loomEffectProvider.js +96 -0
- package/dist/esm/loomEffectProvider.js.map +1 -0
- package/dist/esm/params.js +207 -0
- package/dist/esm/params.js.map +1 -0
- package/dist/esm/path.js +24 -0
- package/dist/esm/path.js.map +1 -0
- package/dist/esm/plan.js +190 -0
- package/dist/esm/plan.js.map +1 -0
- package/dist/esm/projection.js +230 -0
- package/dist/esm/projection.js.map +1 -0
- package/dist/esm/provider.js +416 -0
- package/dist/esm/provider.js.map +1 -0
- package/dist/esm/repair.js +53 -0
- package/dist/esm/repair.js.map +1 -0
- package/dist/esm/reshape.js +156 -0
- package/dist/esm/reshape.js.map +1 -0
- package/dist/esm/restricted.js +54 -0
- package/dist/esm/restricted.js.map +1 -0
- package/dist/esm/scheduler.js +247 -0
- package/dist/esm/scheduler.js.map +1 -0
- package/dist/esm/select.js +18 -0
- package/dist/esm/select.js.map +1 -0
- package/dist/esm/shape.js +34 -0
- package/dist/esm/shape.js.map +1 -0
- package/dist/esm/split/client.js +312 -0
- package/dist/esm/split/client.js.map +1 -0
- package/dist/esm/split/index.js +3 -0
- package/dist/esm/split/index.js.map +1 -0
- package/dist/esm/split/server.js +488 -0
- package/dist/esm/split/server.js.map +1 -0
- package/dist/esm/split/shared.js +13 -0
- package/dist/esm/split/shared.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -0
- package/dist/invoker.d.ts +10 -0
- package/dist/invoker.d.ts.map +1 -0
- package/dist/invoker.js +3 -0
- package/dist/invoker.js.map +1 -0
- package/dist/invokers.d.ts +36 -0
- package/dist/invokers.d.ts.map +1 -0
- package/dist/invokers.js +315 -0
- package/dist/invokers.js.map +1 -0
- package/dist/loomEffectProvider.d.ts +67 -0
- package/dist/loomEffectProvider.d.ts.map +1 -0
- package/dist/loomEffectProvider.js +101 -0
- package/dist/loomEffectProvider.js.map +1 -0
- package/dist/params.d.ts +103 -0
- package/dist/params.d.ts.map +1 -0
- package/dist/params.js +221 -0
- package/dist/params.js.map +1 -0
- package/dist/path.d.ts +12 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +28 -0
- package/dist/path.js.map +1 -0
- package/dist/plan.d.ts +56 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +199 -0
- package/dist/plan.js.map +1 -0
- package/dist/projection.d.ts +122 -0
- package/dist/projection.d.ts.map +1 -0
- package/dist/projection.js +238 -0
- package/dist/projection.js.map +1 -0
- package/dist/provider.d.ts +152 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +421 -0
- package/dist/provider.js.map +1 -0
- package/dist/repair.d.ts +18 -0
- package/dist/repair.d.ts.map +1 -0
- package/dist/repair.js +57 -0
- package/dist/repair.js.map +1 -0
- package/dist/reshape.d.ts +32 -0
- package/dist/reshape.d.ts.map +1 -0
- package/dist/reshape.js +164 -0
- package/dist/reshape.js.map +1 -0
- package/dist/restricted.d.ts +21 -0
- package/dist/restricted.d.ts.map +1 -0
- package/dist/restricted.js +61 -0
- package/dist/restricted.js.map +1 -0
- package/dist/scheduler.d.ts +82 -0
- package/dist/scheduler.d.ts.map +1 -0
- package/dist/scheduler.js +254 -0
- package/dist/scheduler.js.map +1 -0
- package/dist/select.d.ts +34 -0
- package/dist/select.d.ts.map +1 -0
- package/dist/select.js +21 -0
- package/dist/select.js.map +1 -0
- package/dist/shape.d.ts +3 -0
- package/dist/shape.d.ts.map +1 -0
- package/dist/shape.js +37 -0
- package/dist/shape.js.map +1 -0
- package/dist/split/client.d.ts +135 -0
- package/dist/split/client.d.ts.map +1 -0
- package/dist/split/client.js +316 -0
- package/dist/split/client.js.map +1 -0
- package/dist/split/index.d.ts +5 -0
- package/dist/split/index.d.ts.map +1 -0
- package/dist/split/index.js +14 -0
- package/dist/split/index.js.map +1 -0
- package/dist/split/server.d.ts +160 -0
- package/dist/split/server.d.ts.map +1 -0
- package/dist/split/server.js +496 -0
- package/dist/split/server.js.map +1 -0
- package/dist/split/shared.d.ts +6 -0
- package/dist/split/shared.d.ts.map +1 -0
- package/dist/split/shared.js +19 -0
- package/dist/split/shared.js.map +1 -0
- package/package.json +77 -3
- package/src/cache.ts +211 -0
- package/src/chatSource.ts +378 -0
- package/src/client.ts +46 -0
- package/src/contentRefs.ts +195 -0
- package/src/controller.ts +708 -0
- package/src/dataProvider.ts +141 -0
- package/src/index.ts +86 -0
- package/src/invoker.ts +14 -0
- package/src/invokers.ts +348 -0
- package/src/loomEffectProvider.ts +136 -0
- package/src/params.ts +314 -0
- package/src/path.ts +26 -0
- package/src/plan.ts +197 -0
- package/src/projection.ts +297 -0
- package/src/provider.ts +657 -0
- package/src/repair.ts +70 -0
- package/src/reshape.ts +193 -0
- package/src/restricted.ts +69 -0
- package/src/scheduler.ts +284 -0
- package/src/select.ts +59 -0
- package/src/shape.ts +39 -0
- package/src/split/client.ts +452 -0
- package/src/split/index.ts +18 -0
- package/src/split/server.ts +746 -0
- package/src/split/shared.ts +18 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/split/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Finding } from "@loomwork/ui-core";
|
|
2
|
+
import type { HandleLoadResult } from "../scheduler";
|
|
3
|
+
export declare const reservedFinding: (handle: string) => Finding;
|
|
4
|
+
export declare const refuse: (code: string, message: string) => HandleLoadResult;
|
|
5
|
+
export declare const errorMessage: (e: unknown) => string;
|
|
6
|
+
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/split/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAKrD,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAI/C,CAAC;AAEH,eAAO,MAAM,MAAM,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,KAAG,gBAGrD,CAAC;AAEH,eAAO,MAAM,YAAY,GAAI,GAAG,OAAO,KAAG,MAAsD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.errorMessage = exports.refuse = exports.reservedFinding = void 0;
|
|
4
|
+
// What both halves of split hydration mint: kept free of any server import, so the client half
|
|
5
|
+
// (`./client`) stays browser-safe.
|
|
6
|
+
const reservedFinding = (handle) => ({
|
|
7
|
+
code: "invalid-handle",
|
|
8
|
+
severity: "error",
|
|
9
|
+
message: `handle "${handle}" is reserved`,
|
|
10
|
+
});
|
|
11
|
+
exports.reservedFinding = reservedFinding;
|
|
12
|
+
const refuse = (code, message) => ({
|
|
13
|
+
state: "error",
|
|
14
|
+
finding: { code, severity: "error", message },
|
|
15
|
+
});
|
|
16
|
+
exports.refuse = refuse;
|
|
17
|
+
const errorMessage = (e) => (e instanceof Error ? e.message : String(e));
|
|
18
|
+
exports.errorMessage = errorMessage;
|
|
19
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/split/shared.ts"],"names":[],"mappings":";;;AAGA,+FAA+F;AAC/F,mCAAmC;AAE5B,MAAM,eAAe,GAAG,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC;IAC3D,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,WAAW,MAAM,eAAe;CAC1C,CAAC,CAAC;AAJU,QAAA,eAAe,mBAIzB;AAEI,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,OAAe,EAAoB,EAAE,CAAC,CAAC;IAC1E,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE;CAC9C,CAAC,CAAC;AAHU,QAAA,MAAM,UAGhB;AAEI,MAAM,YAAY,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAApF,QAAA,YAAY,gBAAwE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,80 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@loomwork/ui-hydration",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Provider-plane execution for loom-ui: resolves an Experience's handles through loom's transient effects and publishes them as one loom projection",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"module": "./dist/esm/index.js",
|
|
8
|
+
"sideEffects": false,
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"node": "./dist/index.js",
|
|
13
|
+
"import": "./dist/esm/index.js",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./client": {
|
|
17
|
+
"types": "./dist/client.d.ts",
|
|
18
|
+
"node": "./dist/client.js",
|
|
19
|
+
"import": "./dist/esm/client.js",
|
|
20
|
+
"default": "./dist/client.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"typesVersions": {
|
|
24
|
+
"*": {
|
|
25
|
+
"client": [
|
|
26
|
+
"./dist/client.d.ts"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"@loomwork/agent": "^0.1.0",
|
|
32
|
+
"@loomwork/classify": "^0.1.0",
|
|
33
|
+
"@loomwork/core": "^0.1.0",
|
|
34
|
+
"@loomwork/effect-runtime": "^0.1.0",
|
|
35
|
+
"@loomwork/plugin-mcp": "^0.1.0",
|
|
36
|
+
"@loomwork/plugin-sandbox": "^0.1.0",
|
|
37
|
+
"@loomwork/projection-runtime": "^0.1.0",
|
|
38
|
+
"@loomwork/ui-core": "^0.1.1"
|
|
39
|
+
},
|
|
40
|
+
"devDependencies": {
|
|
41
|
+
"@types/node": "^22.0.0",
|
|
42
|
+
"esbuild": "0.21.5",
|
|
43
|
+
"typescript": "^5.6.3",
|
|
44
|
+
"vitest": "^2.1.8",
|
|
45
|
+
"zod": "^3.23.8"
|
|
46
|
+
},
|
|
47
|
+
"license": "Apache-2.0",
|
|
48
|
+
"repository": {
|
|
49
|
+
"type": "git",
|
|
50
|
+
"url": "git+https://github.com/chhetrisushil/loom-ui.git",
|
|
51
|
+
"directory": "packages/hydration"
|
|
52
|
+
},
|
|
53
|
+
"files": [
|
|
54
|
+
"dist",
|
|
55
|
+
"src",
|
|
56
|
+
"!src/**/*.test.ts",
|
|
57
|
+
"!src/**/*.test.tsx",
|
|
58
|
+
"!src/**/*.test-support.ts",
|
|
59
|
+
"!src/**/__tests__",
|
|
60
|
+
"!src/**/__fixtures__",
|
|
61
|
+
"!src/**/__snapshots__",
|
|
62
|
+
"!src/**/__golden__",
|
|
63
|
+
"LICENSE",
|
|
64
|
+
"NOTICE"
|
|
65
|
+
],
|
|
66
|
+
"publishConfig": {
|
|
67
|
+
"access": "public",
|
|
68
|
+
"tag": "next"
|
|
69
|
+
},
|
|
70
|
+
"engines": {
|
|
71
|
+
"node": ">=20.0.0"
|
|
72
|
+
},
|
|
73
|
+
"scripts": {
|
|
74
|
+
"build": "rm -f dist/split.js dist/split.js.map dist/split.d.ts dist/split.d.ts.map && tsc --build && rm -rf dist/esm && tsc -p tsconfig.esm.json",
|
|
75
|
+
"typecheck": "tsc --noEmit",
|
|
76
|
+
"typecheck:tests": "tsc -p tsconfig.test.json",
|
|
77
|
+
"test": "vitest run",
|
|
78
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo"
|
|
79
|
+
}
|
|
6
80
|
}
|
package/src/cache.ts
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { canonicalJson, fnv1a64 } from "@loomwork/core";
|
|
2
|
+
import type { ContractRegistry, ProviderSpec } from "@loomwork/ui-core";
|
|
3
|
+
import type { LoadParams } from "./params";
|
|
4
|
+
|
|
5
|
+
// ── Result cache ──────────────────────────────────────────────────────────────
|
|
6
|
+
// `scope: "global"` shares one entry per handle; `scope: "principal"` keys on (principal, handle)
|
|
7
|
+
// and refuses to cache when no principal is known — a per-viewer result must never leak to the
|
|
8
|
+
// next viewer. TTL is against an injected clock so tests never sleep.
|
|
9
|
+
//
|
|
10
|
+
// The key also carries the SPEC's fingerprint: a handle whose provider was repaired (a remapped
|
|
11
|
+
// schema pin, a different tool, a new reshaping) is a different question, and must not be
|
|
12
|
+
// answered from the entry the old spec left behind. `invalidate(handle)` still drops every
|
|
13
|
+
// spec-generation of that handle, so the fingerprint never makes a stale entry unreachable.
|
|
14
|
+
|
|
15
|
+
// NUL: cannot appear in a handle, so `invalidate(handle)`'s suffix match can never mis-hit
|
|
16
|
+
// another handle whose name happens to contain the delimiter (e.g. a handle literally named "h").
|
|
17
|
+
const SEP = String.fromCharCode(0);
|
|
18
|
+
|
|
19
|
+
// Memoized per spec OBJECT: the controller fingerprints the same spec on every `schedule`, and
|
|
20
|
+
// `canonicalJson` walks the whole graph. A WeakMap keeps that O(1) without pinning specs alive.
|
|
21
|
+
const fingerprints = new WeakMap<ProviderSpec, string>();
|
|
22
|
+
let unhashable = 0;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The content fingerprint of a provider spec — the identity both the cache key and the
|
|
26
|
+
* controller's "have I already loaded THIS spec?" check are taken over, so the two can never
|
|
27
|
+
* disagree about what "the same provider" means.
|
|
28
|
+
*
|
|
29
|
+
* Total: `canonicalJson` throws on a spec carrying a non-finite number, a bigint or a nest past
|
|
30
|
+
* its depth cap. Such a spec gets a fingerprint unique to the OBJECT, which is conservative in
|
|
31
|
+
* both directions — the same object is still recognised as itself (no reload storm), and two
|
|
32
|
+
* structurally identical unhashable specs are treated as different (no cache hit).
|
|
33
|
+
*/
|
|
34
|
+
export function specFingerprint(spec: ProviderSpec): string {
|
|
35
|
+
const memo = fingerprints.get(spec);
|
|
36
|
+
if (memo !== undefined) return memo;
|
|
37
|
+
let fp: string;
|
|
38
|
+
try {
|
|
39
|
+
fp = fnv1a64(canonicalJson(spec));
|
|
40
|
+
} catch {
|
|
41
|
+
unhashable += 1;
|
|
42
|
+
fp = `unhashable-${unhashable}`;
|
|
43
|
+
}
|
|
44
|
+
fingerprints.set(spec, fp);
|
|
45
|
+
return fp;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* What else, besides the spec, decides a cached answer.
|
|
50
|
+
*
|
|
51
|
+
* `params` are the load's params AS DECLARED — relative-time tokens (`$now-7d`) UNRESOLVED. That
|
|
52
|
+
* is deliberate: resolving first would give every load a fresh instant and so a fresh key, and the
|
|
53
|
+
* cache would never hit. `$now-7d` is therefore one key for the entry's TTL; freshness comes from
|
|
54
|
+
* `cachePolicy.ttlSeconds`, and a provider whose answer must track the clock more closely than
|
|
55
|
+
* that sets a shorter TTL (or 0, never cached).
|
|
56
|
+
*
|
|
57
|
+
* `kinds` are the kinds a `"contract"` value was checked against. They are keyed ONLY for a spec
|
|
58
|
+
* whose `outputCheck` is `"contract"`, sorted and de-duplicated (`normaliseKinds`). A value that
|
|
59
|
+
* passed for `[Kpi]` was never checked against `MetricCard` — serving it for `[Kpi, MetricCard]`
|
|
60
|
+
* would publish a value no check ever cleared for the kind now reading it. A shape-mode key
|
|
61
|
+
* ignores `kinds` entirely.
|
|
62
|
+
*/
|
|
63
|
+
export interface CacheVariant {
|
|
64
|
+
readonly params?: LoadParams;
|
|
65
|
+
readonly kinds?: readonly string[];
|
|
66
|
+
/**
|
|
67
|
+
* The host's value contracts. The `version` of each BOUND kind's contract (only those that
|
|
68
|
+
* declare one) is folded into the key, so a changed contract is a different question. A contract
|
|
69
|
+
* with no `version` adds nothing — such a host calls `invalidate()` after changing it.
|
|
70
|
+
*/
|
|
71
|
+
readonly contracts?: ContractRegistry;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/** `{kind: version}` for the bound kinds whose contract declares a version; `undefined` if none. */
|
|
75
|
+
function contractVersions(
|
|
76
|
+
kinds: readonly string[],
|
|
77
|
+
contracts: ContractRegistry | undefined
|
|
78
|
+
): Record<string, string> | undefined {
|
|
79
|
+
if (contracts === undefined) return undefined;
|
|
80
|
+
let out: Record<string, string> | undefined;
|
|
81
|
+
for (const k of kinds) {
|
|
82
|
+
if (!Object.hasOwn(contracts, k)) continue;
|
|
83
|
+
const v = contracts[k]?.version;
|
|
84
|
+
if (typeof v !== "string") continue;
|
|
85
|
+
// Null-prototype-safe: a kind named `__proto__` must not set a prototype.
|
|
86
|
+
out ??= Object.create(null) as Record<string, string>;
|
|
87
|
+
out[k] = v;
|
|
88
|
+
}
|
|
89
|
+
return out;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* The one normal form of a kinds list — sorted, de-duplicated. The cache key and the controller's
|
|
94
|
+
* load fingerprint both use it, so they can never disagree about whether two kinds lists are the
|
|
95
|
+
* same question.
|
|
96
|
+
*/
|
|
97
|
+
export function normaliseKinds(kinds: readonly string[]): string[] {
|
|
98
|
+
return [...new Set(kinds)].sort();
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** `""` for the plain variant; `undefined` for one that cannot be keyed (never cached). */
|
|
102
|
+
function variantKey(
|
|
103
|
+
params: LoadParams,
|
|
104
|
+
kinds: readonly string[],
|
|
105
|
+
versions: Record<string, string> | undefined
|
|
106
|
+
): string | undefined {
|
|
107
|
+
if (Object.keys(params).length === 0 && kinds.length === 0) return "";
|
|
108
|
+
try {
|
|
109
|
+
// `versions` is added ONLY when present, so every key without one is what it always was.
|
|
110
|
+
return fnv1a64(
|
|
111
|
+
canonicalJson(versions === undefined ? { params, kinds } : { params, kinds, versions })
|
|
112
|
+
);
|
|
113
|
+
} catch {
|
|
114
|
+
return undefined;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/** The default cap on cached results (U17). Generous: a surface with fewer live questions never notices it. */
|
|
119
|
+
export const DEFAULT_CACHE_MAX_ENTRIES = 10_000;
|
|
120
|
+
|
|
121
|
+
export interface HydrationCacheOptions {
|
|
122
|
+
/**
|
|
123
|
+
* The most results held at once (default {@link DEFAULT_CACHE_MAX_ENTRIES}). Past it the LEAST
|
|
124
|
+
* RECENTLY USED entry is evicted (a `get` hit or a `set` makes an entry most recent). An evicted
|
|
125
|
+
* entry is simply a miss: the next load for it calls the provider again, exactly as an expired one
|
|
126
|
+
* does. Before U17 the map grew without bound in a long-lived host, since an entry never re-read was
|
|
127
|
+
* never dropped.
|
|
128
|
+
*/
|
|
129
|
+
readonly maxEntries?: number;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
export class HydrationCache {
|
|
133
|
+
// A Map iterates in insertion order, so re-inserting on use keeps the least recently used entry
|
|
134
|
+
// FIRST: eviction and promotion are both O(1).
|
|
135
|
+
private readonly entries = new Map<string, { value: unknown; expiresAt: number }>();
|
|
136
|
+
private readonly maxEntries: number;
|
|
137
|
+
constructor(
|
|
138
|
+
private readonly clock: () => number = Date.now,
|
|
139
|
+
opts: HydrationCacheOptions = {}
|
|
140
|
+
) {
|
|
141
|
+
const max = opts.maxEntries ?? DEFAULT_CACHE_MAX_ENTRIES;
|
|
142
|
+
if (!Number.isInteger(max) || max < 1)
|
|
143
|
+
throw new RangeError(`HydrationCache maxEntries must be a positive integer, got ${max}`);
|
|
144
|
+
this.maxEntries = max;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/** How many results are held now (expired ones count until they are read or evicted). */
|
|
148
|
+
get size(): number {
|
|
149
|
+
return this.entries.size;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
private key(
|
|
153
|
+
spec: ProviderSpec,
|
|
154
|
+
principalId: string | undefined,
|
|
155
|
+
variant: CacheVariant
|
|
156
|
+
): string | undefined {
|
|
157
|
+
const kinds = spec.outputCheck === "contract" ? normaliseKinds(variant.kinds ?? []) : [];
|
|
158
|
+
const v = variantKey(variant.params ?? {}, kinds, contractVersions(kinds, variant.contracts));
|
|
159
|
+
if (v === undefined) return undefined;
|
|
160
|
+
const fp = specFingerprint(spec);
|
|
161
|
+
// The handle stays LAST: `invalidate(handle)` suffix-matches it across every variant.
|
|
162
|
+
if (spec.cachePolicy.scope === "global") return `g${SEP}${fp}${SEP}${v}${SEP}${spec.handle}`;
|
|
163
|
+
return principalId === undefined
|
|
164
|
+
? undefined
|
|
165
|
+
: `p${SEP}${principalId}${SEP}${fp}${SEP}${v}${SEP}${spec.handle}`;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
get(
|
|
169
|
+
spec: ProviderSpec,
|
|
170
|
+
principalId: string | undefined,
|
|
171
|
+
variant: CacheVariant = {}
|
|
172
|
+
): { value: unknown } | undefined {
|
|
173
|
+
const k = this.key(spec, principalId, variant);
|
|
174
|
+
if (k === undefined) return undefined;
|
|
175
|
+
const e = this.entries.get(k);
|
|
176
|
+
if (!e) return undefined;
|
|
177
|
+
if (e.expiresAt <= this.clock()) {
|
|
178
|
+
this.entries.delete(k);
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
// Promote: most recently used goes to the back of the iteration order.
|
|
182
|
+
this.entries.delete(k);
|
|
183
|
+
this.entries.set(k, e);
|
|
184
|
+
return { value: e.value };
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
set(
|
|
188
|
+
spec: ProviderSpec,
|
|
189
|
+
principalId: string | undefined,
|
|
190
|
+
value: unknown,
|
|
191
|
+
variant: CacheVariant = {}
|
|
192
|
+
): void {
|
|
193
|
+
const k = this.key(spec, principalId, variant);
|
|
194
|
+
if (k === undefined || spec.cachePolicy.ttlSeconds <= 0) return;
|
|
195
|
+
this.entries.delete(k);
|
|
196
|
+
this.entries.set(k, { value, expiresAt: this.clock() + spec.cachePolicy.ttlSeconds * 1000 });
|
|
197
|
+
while (this.entries.size > this.maxEntries) {
|
|
198
|
+
const oldest = this.entries.keys().next();
|
|
199
|
+
if (oldest.done === true) break;
|
|
200
|
+
this.entries.delete(oldest.value);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
invalidate(handle?: string): void {
|
|
205
|
+
if (handle === undefined) {
|
|
206
|
+
this.entries.clear();
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
for (const k of [...this.entries.keys()]) if (k.endsWith(SEP + handle)) this.entries.delete(k);
|
|
210
|
+
}
|
|
211
|
+
}
|