@cat-factory/caching 0.12.10 → 0.13.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/dist/appCaches.d.ts +7 -1
- package/dist/appCaches.d.ts.map +1 -1
- package/dist/appCaches.js +21 -3
- package/dist/appCaches.js.map +1 -1
- package/package.json +2 -2
package/dist/appCaches.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AppCaches, Logger } from '@cat-factory/kernel';
|
|
1
|
+
import type { AppCaches, Logger, OperationalMetrics } from '@cat-factory/kernel';
|
|
2
2
|
import type { AbstractNotificationConsumer, GroupNotificationPublisher, InMemoryGroupCache } from 'layered-loader/core';
|
|
3
3
|
/** Per-cache tuning knobs; a facade passes a profile so TTLs can differ per runtime. */
|
|
4
4
|
export interface GroupCacheProfile {
|
|
@@ -83,6 +83,12 @@ export interface CreateAppCachesOptions {
|
|
|
83
83
|
notificationPairFactory?: GroupNotificationPairFactory;
|
|
84
84
|
/** Error sink for background cache/notification failures. */
|
|
85
85
|
logger?: Logger;
|
|
86
|
+
/**
|
|
87
|
+
* Where each read's hit/miss is counted. Hit RATE is the only way to tell a cache that is
|
|
88
|
+
* doing its job from one whose invalidation is firing so often it never serves anything —
|
|
89
|
+
* two states with identical latency graphs and opposite fixes. Absent ⇒ uncounted.
|
|
90
|
+
*/
|
|
91
|
+
operationalMetrics?: OperationalMetrics;
|
|
86
92
|
}
|
|
87
93
|
/**
|
|
88
94
|
* Build the app-owned cache bag. Called once per process by a facade's
|
package/dist/appCaches.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appCaches.d.ts","sourceRoot":"","sources":["../src/appCaches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EAMT,MAAM,
|
|
1
|
+
{"version":3,"file":"appCaches.d.ts","sourceRoot":"","sources":["../src/appCaches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,SAAS,EAMT,MAAM,EAON,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAO5B,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC1B,kBAAkB,EAEnB,MAAM,qBAAqB,CAAA;AAwB5B,wFAAwF;AACxF,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAA;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;;;;OAQG;IACH,2BAA2B,CAAC,EAAE,MAAM,CAAA;CACrC;AAED,6EAA6E;AAC7E,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,iBAAiB,CAAA;IAClC,YAAY,EAAE,iBAAiB,CAAA;IAC/B,0BAA0B,EAAE,iBAAiB,CAAA;IAC7C,oBAAoB,EAAE,iBAAiB,CAAA;IACvC,cAAc,EAAE,iBAAiB,CAAA;IACjC,SAAS,EAAE,iBAAiB,CAAA;IAC5B,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,eAAe,EAAE,iBAAiB,CAAA;IAClC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,EAAE,iBAAiB,CAAA;IACrC,eAAe,EAAE,iBAAiB,CAAA;IAClC,WAAW,EAAE,iBAAiB,CAAA;IAC9B,oBAAoB,EAAE,iBAAiB,CAAA;IACvC,UAAU,EAAE,iBAAiB,CAAA;IAC7B,eAAe,EAAE,iBAAiB,CAAA;CACnC;AAED,wEAAwE;AACxE,eAAO,MAAM,0BAA0B,EAAE,gBA4GxC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,EAAE,gBAmD7C,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB,CAAC,CAAC;IACxC,SAAS,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAA;IACxC,QAAQ,EAAE,4BAA4B,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAA;CACjE;AAED;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,EAC3C,SAAS,EAAE,MAAM,KACd,uBAAuB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;AAE3C,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAA;IACnC,2EAA2E;IAC3E,uBAAuB,CAAC,EAAE,4BAA4B,CAAA;IACtD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;CACxC;AAmHD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,SAAS,CAyG/E"}
|
package/dist/appCaches.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { noopOperationalMetrics } from '@cat-factory/kernel';
|
|
1
2
|
// `layered-loader/core` is the package's Redis-free entrypoint: nothing reachable from it
|
|
2
3
|
// imports `ioredis`, which must never load outside the Node facade's REDIS_URL-gated
|
|
3
4
|
// notification wiring — the Worker imports this package too. The package root re-exports
|
|
@@ -194,8 +195,12 @@ export const ISOLATE_SAFE_APP_CACHES_PROFILE = {
|
|
|
194
195
|
workspaceAccess: { ...DEFAULT_APP_CACHES_PROFILE.workspaceAccess, enabled: false },
|
|
195
196
|
};
|
|
196
197
|
class LayeredGroupCacheHandle {
|
|
198
|
+
name;
|
|
199
|
+
metrics;
|
|
197
200
|
loader;
|
|
198
|
-
constructor(name, profile, notifications, logger) {
|
|
201
|
+
constructor(name, profile, notifications, logger, metrics = noopOperationalMetrics) {
|
|
202
|
+
this.name = name;
|
|
203
|
+
this.metrics = metrics;
|
|
199
204
|
this.loader = new GroupLoader({
|
|
200
205
|
inMemoryCache: profile.enabled
|
|
201
206
|
? {
|
|
@@ -244,10 +249,23 @@ class LayeredGroupCacheHandle {
|
|
|
244
249
|
});
|
|
245
250
|
}
|
|
246
251
|
async get(key, group, load, isStillCurrent) {
|
|
252
|
+
// What is measured, precisely: a MISS is a read whose loader ran, a HIT is a read served
|
|
253
|
+
// without it. That is the distinction an operator acts on, and it is observable from here
|
|
254
|
+
// without reaching inside layered-loader. One caveat, stated rather than hidden: a read
|
|
255
|
+
// that lands inside a probe-refresh window can trigger a BACKGROUND reload, and if that
|
|
256
|
+
// reload's load closure runs before this await resolves it is attributed to this read. So
|
|
257
|
+
// the hit rate on a probe-refreshed cache is a floor, never an overstatement.
|
|
258
|
+
let loaderRan = false;
|
|
259
|
+
const countedLoad = () => {
|
|
260
|
+
loaderRan = true;
|
|
261
|
+
return load();
|
|
262
|
+
};
|
|
247
263
|
// The data source always resolves to the load's result, and load errors
|
|
248
264
|
// propagate (throwIfLoadError defaults on) — so a non-value here is impossible
|
|
249
265
|
// unless T itself includes null.
|
|
250
|
-
|
|
266
|
+
const value = (await this.loader.get({ key, load: countedLoad, isStillCurrent }, group));
|
|
267
|
+
this.metrics.increment(loaderRan ? 'cache.miss' : 'cache.hit', { cache: this.name });
|
|
268
|
+
return value;
|
|
251
269
|
}
|
|
252
270
|
invalidate(key, group) {
|
|
253
271
|
return this.loader.invalidateCacheFor(key, group);
|
|
@@ -325,6 +343,6 @@ export function createAppCaches(options = {}) {
|
|
|
325
343
|
}
|
|
326
344
|
function buildGroupCache(name, profile, options) {
|
|
327
345
|
const notifications = profile.enabled ? options.notificationPairFactory?.(name) : undefined;
|
|
328
|
-
return new LayeredGroupCacheHandle(name, profile, notifications, options.logger);
|
|
346
|
+
return new LayeredGroupCacheHandle(name, profile, notifications, options.logger, options.operationalMetrics);
|
|
329
347
|
}
|
|
330
348
|
//# sourceMappingURL=appCaches.js.map
|
package/dist/appCaches.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"appCaches.js","sourceRoot":"","sources":["../src/appCaches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"appCaches.js","sourceRoot":"","sources":["../src/appCaches.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/caching",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "The app-level caching seam for the Agent Architecture Board (docs/initiatives/caching-layer.md): createAppCaches builds the named, typed in-memory read-through caches (layered-loader) the services consume via the kernel AppCaches port, with optional distributed invalidation over an injected Redis notification pair. Redis is only ever an invalidation bus, never a data tier.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"layered-loader": "^16.0.0",
|
|
28
|
-
"@cat-factory/kernel": "0.
|
|
28
|
+
"@cat-factory/kernel": "0.215.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^26.1.2",
|