@seedprotocol/query 0.6.6 → 0.6.8
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/FileCache-BZ2cHsU3.js +95 -0
- package/dist/FileCache-BZ2cHsU3.js.map +1 -0
- package/dist/cache/CacheManager.d.ts +11 -4
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/config.d.ts.map +1 -1
- package/dist/cache/etag.d.ts +1 -1
- package/dist/cache/etag.d.ts.map +1 -1
- package/dist/cache/index.d.ts +6 -5
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/types.d.ts +9 -0
- package/dist/cache/types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1080
- package/dist/index.node.d.ts +3 -0
- package/dist/index.node.d.ts.map +1 -0
- package/dist/index.node.js +9 -0
- package/dist/index.node.js.map +1 -0
- package/dist/node/index.d.ts +1 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node.js +3 -2
- package/dist/parseEasRelationPropertyName.d.ts +2 -0
- package/dist/parseEasRelationPropertyName.d.ts.map +1 -1
- package/dist/src-D2LHcfAN.js +985 -0
- package/dist/src-D2LHcfAN.js.map +1 -0
- package/dist/{bootstrap-DQZ8ehyx.js → types-DHRoT30t.js} +14 -2
- package/dist/types-DHRoT30t.js.map +1 -0
- package/package.json +11 -6
- package/dist/bootstrap-DQZ8ehyx.js.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { n as e } from "./types-DHRoT30t.js";
|
|
2
|
+
import { promises as t } from "fs";
|
|
3
|
+
import { join as n } from "path";
|
|
4
|
+
//#region src/cache/FileCache.ts
|
|
5
|
+
var r = class {
|
|
6
|
+
cacheDir;
|
|
7
|
+
config;
|
|
8
|
+
constructor(e) {
|
|
9
|
+
this.cacheDir = e.cacheDir, this.config = e, this.ensureCacheDir().catch((e) => {
|
|
10
|
+
console.error("Failed to create query cache directory:", e);
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
async ensureCacheDir() {
|
|
14
|
+
try {
|
|
15
|
+
await t.mkdir(this.cacheDir, { recursive: !0 });
|
|
16
|
+
} catch (e) {
|
|
17
|
+
if (e.code !== "EEXIST") throw e;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async ensureItemsDir() {
|
|
21
|
+
try {
|
|
22
|
+
await t.mkdir(n(this.cacheDir, "items"), { recursive: !0 });
|
|
23
|
+
} catch (e) {
|
|
24
|
+
if (e.code !== "EEXIST") throw e;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
collectionPath(e) {
|
|
28
|
+
return n(this.cacheDir, `${e}.json`);
|
|
29
|
+
}
|
|
30
|
+
itemPath(t, r) {
|
|
31
|
+
let i = e(t);
|
|
32
|
+
return n(this.cacheDir, "items", `${i}-${r}.json`);
|
|
33
|
+
}
|
|
34
|
+
async getCollection(e) {
|
|
35
|
+
try {
|
|
36
|
+
let n = await t.readFile(this.collectionPath(e), "utf-8"), r = JSON.parse(n);
|
|
37
|
+
return Math.floor(Date.now() / 1e3) - r.lastUpdated > this.config.ttl ? (await this.clearCollection(e), null) : r;
|
|
38
|
+
} catch (t) {
|
|
39
|
+
return t.code === "ENOENT" || console.error(`Error reading query collection cache for ${e}:`, t), null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async setCollection(e, n) {
|
|
43
|
+
try {
|
|
44
|
+
await this.ensureCacheDir(), await t.writeFile(this.collectionPath(e), JSON.stringify(n, null, 2), "utf-8");
|
|
45
|
+
} catch (t) {
|
|
46
|
+
console.error(`Error writing query collection cache for ${e}:`, t);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async getItem(e, n) {
|
|
50
|
+
try {
|
|
51
|
+
let r = await t.readFile(this.itemPath(e, n), "utf-8"), i = JSON.parse(r);
|
|
52
|
+
return Math.floor(Date.now() / 1e3) - i.lastUpdated > this.config.ttl ? (await this.clearItem(e, n), null) : i;
|
|
53
|
+
} catch (t) {
|
|
54
|
+
return t.code === "ENOENT" || console.error(`Error reading query item cache for ${e}:`, t), null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async setItem(e) {
|
|
58
|
+
try {
|
|
59
|
+
await this.ensureItemsDir(), await t.writeFile(this.itemPath(e.record.seedUid, e.optionsKey), JSON.stringify(e, null, 2), "utf-8");
|
|
60
|
+
} catch (t) {
|
|
61
|
+
console.error(`Error writing query item cache for ${e.record.seedUid}:`, t);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
async clearCollection(e) {
|
|
65
|
+
try {
|
|
66
|
+
await t.unlink(this.collectionPath(e));
|
|
67
|
+
} catch (t) {
|
|
68
|
+
t.code !== "ENOENT" && console.error(`Error clearing query collection cache for ${e}:`, t);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
async clearItem(e, n) {
|
|
72
|
+
try {
|
|
73
|
+
await t.unlink(this.itemPath(e, n));
|
|
74
|
+
} catch (t) {
|
|
75
|
+
t.code !== "ENOENT" && console.error(`Error clearing query item cache for ${e}:`, t);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async clearAll() {
|
|
79
|
+
try {
|
|
80
|
+
let e = await t.readdir(this.cacheDir);
|
|
81
|
+
for (let r of e) r.endsWith(".json") && await t.unlink(n(this.cacheDir, r));
|
|
82
|
+
let r = n(this.cacheDir, "items");
|
|
83
|
+
try {
|
|
84
|
+
let e = await t.readdir(r);
|
|
85
|
+
for (let i of e) i.endsWith(".json") && await t.unlink(n(r, i));
|
|
86
|
+
} catch {}
|
|
87
|
+
} catch (e) {
|
|
88
|
+
console.error("Error clearing all query caches:", e);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
//#endregion
|
|
93
|
+
export { r as t };
|
|
94
|
+
|
|
95
|
+
//# sourceMappingURL=FileCache-BZ2cHsU3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileCache-BZ2cHsU3.js","names":[],"sources":["../src/cache/FileCache.ts"],"sourcesContent":["import { promises as fs } from 'fs'\nimport { join } from 'path'\nimport type {\n CachedCollectionData,\n CachedItemData,\n QueryCacheConfig,\n} from './types.js'\nimport { sanitizeSeedUidForPath } from './types.js'\n\n/**\n * File-based persistent cache for collections and items (Node / best-effort).\n */\nexport class FileCache {\n private cacheDir: string\n private config: QueryCacheConfig\n\n constructor(config: QueryCacheConfig) {\n this.cacheDir = config.cacheDir\n this.config = config\n this.ensureCacheDir().catch((err) => {\n console.error('Failed to create query cache directory:', err)\n })\n }\n\n private async ensureCacheDir(): Promise<void> {\n try {\n await fs.mkdir(this.cacheDir, { recursive: true })\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== 'EEXIST') {\n throw error\n }\n }\n }\n\n private async ensureItemsDir(): Promise<void> {\n try {\n await fs.mkdir(join(this.cacheDir, 'items'), { recursive: true })\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== 'EEXIST') {\n throw error\n }\n }\n }\n\n private collectionPath(schemaName: string): string {\n return join(this.cacheDir, `${schemaName}.json`)\n }\n\n private itemPath(seedUid: string, optionsKey: string): string {\n const safe = sanitizeSeedUidForPath(seedUid)\n return join(this.cacheDir, 'items', `${safe}-${optionsKey}.json`)\n }\n\n async getCollection(schemaName: string): Promise<CachedCollectionData | null> {\n try {\n const data = await fs.readFile(this.collectionPath(schemaName), 'utf-8')\n const cached: CachedCollectionData = JSON.parse(data)\n const now = Math.floor(Date.now() / 1000)\n if (now - cached.lastUpdated > this.config.ttl) {\n await this.clearCollection(schemaName)\n return null\n }\n return cached\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') {\n return null\n }\n console.error(\n `Error reading query collection cache for ${schemaName}:`,\n error,\n )\n return null\n }\n }\n\n async setCollection(\n schemaName: string,\n data: CachedCollectionData,\n ): Promise<void> {\n try {\n await this.ensureCacheDir()\n await fs.writeFile(\n this.collectionPath(schemaName),\n JSON.stringify(data, null, 2),\n 'utf-8',\n )\n } catch (error) {\n console.error(\n `Error writing query collection cache for ${schemaName}:`,\n error,\n )\n }\n }\n\n async getItem(\n seedUid: string,\n optionsKey: string,\n ): Promise<CachedItemData | null> {\n try {\n const data = await fs.readFile(\n this.itemPath(seedUid, optionsKey),\n 'utf-8',\n )\n const cached: CachedItemData = JSON.parse(data)\n const now = Math.floor(Date.now() / 1000)\n if (now - cached.lastUpdated > this.config.ttl) {\n await this.clearItem(seedUid, optionsKey)\n return null\n }\n return cached\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code === 'ENOENT') {\n return null\n }\n console.error(`Error reading query item cache for ${seedUid}:`, error)\n return null\n }\n }\n\n async setItem(data: CachedItemData): Promise<void> {\n try {\n await this.ensureItemsDir()\n await fs.writeFile(\n this.itemPath(data.record.seedUid, data.optionsKey),\n JSON.stringify(data, null, 2),\n 'utf-8',\n )\n } catch (error) {\n console.error(\n `Error writing query item cache for ${data.record.seedUid}:`,\n error,\n )\n }\n }\n\n async clearCollection(schemaName: string): Promise<void> {\n try {\n await fs.unlink(this.collectionPath(schemaName))\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {\n console.error(\n `Error clearing query collection cache for ${schemaName}:`,\n error,\n )\n }\n }\n }\n\n async clearItem(seedUid: string, optionsKey: string): Promise<void> {\n try {\n await fs.unlink(this.itemPath(seedUid, optionsKey))\n } catch (error) {\n if ((error as NodeJS.ErrnoException).code !== 'ENOENT') {\n console.error(\n `Error clearing query item cache for ${seedUid}:`,\n error,\n )\n }\n }\n }\n\n async clearAll(): Promise<void> {\n try {\n const files = await fs.readdir(this.cacheDir)\n for (const file of files) {\n if (file.endsWith('.json')) {\n await fs.unlink(join(this.cacheDir, file))\n }\n }\n const itemsDir = join(this.cacheDir, 'items')\n try {\n const itemFiles = await fs.readdir(itemsDir)\n for (const file of itemFiles) {\n if (file.endsWith('.json')) {\n await fs.unlink(join(itemsDir, file))\n }\n }\n } catch {\n // items dir may not exist\n }\n } catch (error) {\n console.error('Error clearing all query caches:', error)\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import type { GetSeedResult, SeedRecord } from '../types.js';
|
|
2
2
|
import { MemoryCache } from './MemoryCache.js';
|
|
3
|
-
import type { CachedCollectionData, CachedItemData, QueryCacheConfig, QueryCacheStats } from './types.js';
|
|
3
|
+
import type { CachedCollectionData, CachedItemData, PersistentCache, QueryCacheConfig, QueryCacheStats } from './types.js';
|
|
4
|
+
type PersistentCacheFactory = (config: QueryCacheConfig) => PersistentCache | null;
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
+
* Node entry (`index.node.ts`) registers FileCache here so the browser
|
|
7
|
+
* graph never statically imports `fs` / `path`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function configurePersistentCacheFactory(factory: PersistentCacheFactory): void;
|
|
10
|
+
/**
|
|
11
|
+
* Unified query cache: memory, with optional persistent (disk) layer.
|
|
6
12
|
*/
|
|
7
13
|
export declare class CacheManager {
|
|
8
14
|
private memoryCache;
|
|
9
|
-
private
|
|
15
|
+
private persistent;
|
|
10
16
|
private config;
|
|
11
17
|
private stats;
|
|
12
|
-
constructor(config: QueryCacheConfig);
|
|
18
|
+
constructor(config: QueryCacheConfig, persistent?: PersistentCache | null);
|
|
13
19
|
get enabled(): boolean;
|
|
14
20
|
getConfig(): QueryCacheConfig;
|
|
15
21
|
getCollection(schemaName: string): Promise<CachedCollectionData | null>;
|
|
@@ -34,4 +40,5 @@ export declare class CacheManager {
|
|
|
34
40
|
};
|
|
35
41
|
resetStats(): void;
|
|
36
42
|
}
|
|
43
|
+
export {};
|
|
37
44
|
//# sourceMappingURL=CacheManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAA;AAEnB,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,eAAe,GAAG,IAAI,CAAA;AAIlF;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CAEN;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,KAAK,CAKZ;gBAEW,MAAM,EAAE,gBAAgB,EAAE,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI;IAUzE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,SAAS,IAAI,gBAAgB;IAIvB,aAAa,CACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA6BjC,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,EAAE,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAiBjC,OAAO,CACX,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA0B3B,OAAO,CACX,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAiB3B,iBAAiB,CACrB,KAAK,EAAE,UAAU,EAAE,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAOV,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAKzB,eAAe,CAAC,CAAC,EACrB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;IAIb;;OAEG;IACH,YAAY,CACV,WAAW,EAAE,UAAU,EAAE,EACzB,QAAQ,EAAE,UAAU,EAAE,GACrB,UAAU,EAAE;IAmBf;;OAEG;IACH,gBAAgB,CACd,KAAK,EAAE,UAAU,EAAE,EACnB,sBAAsB,EAAE,MAAM,GAC7B,UAAU,EAAE;IAMf,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAKrD,QAAQ,IAAI,eAAe,GAAG;QAC5B,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAA;KACjD;IAOD,UAAU,IAAI,IAAI;CAQnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cache/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cache/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAQlD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,CAqCvD"}
|
package/dist/cache/etag.d.ts
CHANGED
package/dist/cache/etag.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"etag.d.ts","sourceRoot":"","sources":["../../src/cache/etag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"etag.d.ts","sourceRoot":"","sources":["../../src/cache/etag.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,sBAAsB,EAAE,MAAM,EAC9B,SAAS,EAAE,MAAM,GAChB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR"}
|
package/dist/cache/index.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { CacheManager } from './CacheManager.js';
|
|
2
|
-
import {
|
|
3
|
-
export { CacheManager } from './CacheManager.js';
|
|
2
|
+
import type { PersistentCache, QueryCacheConfig } from './types.js';
|
|
3
|
+
export { CacheManager, configurePersistentCacheFactory } from './CacheManager.js';
|
|
4
4
|
export { MemoryCache } from './MemoryCache.js';
|
|
5
|
-
export { FileCache } from './FileCache.js';
|
|
6
5
|
export { loadQueryCacheConfig } from './config.js';
|
|
7
6
|
export { generateETag, generateCollectionETag, generateItemETag, } from './etag.js';
|
|
8
7
|
export { buildAssembleOptionsKey, sanitizeSeedUidForPath, } from './types.js';
|
|
9
|
-
export type { CachedCollectionData, CachedItemData, QueryCacheConfig, QueryCacheStats, } from './types.js';
|
|
8
|
+
export type { CachedCollectionData, CachedItemData, PersistentCache, QueryCacheConfig, QueryCacheStats, } from './types.js';
|
|
10
9
|
/**
|
|
11
10
|
* Get the singleton query CacheManager (lazy-init from env).
|
|
11
|
+
* Browser graphs are memory-only. Node `index.node` registers FileCache.
|
|
12
12
|
*/
|
|
13
13
|
export declare function getQueryCacheManager(): CacheManager;
|
|
14
14
|
/**
|
|
@@ -17,6 +17,7 @@ export declare function getQueryCacheManager(): CacheManager;
|
|
|
17
17
|
export declare function resetQueryCacheManager(): void;
|
|
18
18
|
/**
|
|
19
19
|
* Create a CacheManager with an explicit config (tests).
|
|
20
|
+
* Pass a PersistentCache (e.g. FileCache) to enable the disk layer.
|
|
20
21
|
*/
|
|
21
|
-
export declare function createQueryCacheManager(config?: Partial<
|
|
22
|
+
export declare function createQueryCacheManager(config?: Partial<QueryCacheConfig>, persistent?: PersistentCache | null): CacheManager;
|
|
22
23
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAEhD,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAA;AAInB;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,YAAY,CAKnD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EAClC,UAAU,CAAC,EAAE,eAAe,GAAG,IAAI,GAClC,YAAY,CAQd"}
|
package/dist/cache/types.d.ts
CHANGED
|
@@ -32,6 +32,15 @@ export type QueryCacheStats = {
|
|
|
32
32
|
refreshes: number;
|
|
33
33
|
errors: number;
|
|
34
34
|
};
|
|
35
|
+
/** Optional disk (or other) layer under CacheManager. Browser graphs omit this. */
|
|
36
|
+
export type PersistentCache = {
|
|
37
|
+
getCollection(schemaName: string): Promise<CachedCollectionData | null>;
|
|
38
|
+
setCollection(schemaName: string, data: CachedCollectionData): Promise<void>;
|
|
39
|
+
getItem(seedUid: string, optionsKey: string): Promise<CachedItemData | null>;
|
|
40
|
+
setItem(data: CachedItemData): Promise<void>;
|
|
41
|
+
clearCollection(schemaName: string): Promise<void>;
|
|
42
|
+
clearAll(): Promise<void>;
|
|
43
|
+
};
|
|
35
44
|
/**
|
|
36
45
|
* Build a stable key for assemble options that affect cached payloads.
|
|
37
46
|
* Default latest-only (`include: 'data'`) keeps Phase 2 key `e1-h1`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;CACxC,GAAG,MAAM,CAkBT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/cache/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,sBAAsB,EAAE,MAAM,CAAA;IAC9B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,aAAa,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,eAAe,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAA;IACvE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5E,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC5E,OAAO,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5C,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B,CAAA;AAQD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE;IAChD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,SAAS,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAA;CACxC,GAAG,MAAM,CAkBT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type { QueryDataSource, ResolvedQuerySource } from './source/index.js';
|
|
|
8
8
|
export { buildFlatSnapshotFromProperties, diffVersionSnapshots, diffPropertyAttestations, applyChangelogFilters, decodePropertyAttestation, changelogValuesEqual, } from './changelog.js';
|
|
9
9
|
export type { SeedRecord, AssembleOptions, QuerySourceMode, GetSeedOptions, GetSeedResult, ChangelogInclude, ChangelogOptions, ChangelogEntry, VersionChangelogEntry, PropertyChangelogEntry, QueryBySchemaOptions, QueryBySchemaResult, AttestationLike, } from './types.js';
|
|
10
10
|
export { getQueryCacheManager, resetQueryCacheManager, createQueryCacheManager, loadQueryCacheConfig, CacheManager, buildAssembleOptionsKey, } from './cache/index.js';
|
|
11
|
-
export type { CachedCollectionData, CachedItemData, QueryCacheConfig, QueryCacheStats, } from './cache/index.js';
|
|
11
|
+
export type { CachedCollectionData, CachedItemData, PersistentCache, QueryCacheConfig, QueryCacheStats, } from './cache/index.js';
|
|
12
12
|
export { getArweaveUrlForTransaction } from './arweaveUrl.js';
|
|
13
13
|
export { publicListRelationPropertyKey, stripListRelationStorageAliasesForPublicKey, tryCoerceJsonStringArray, } from './listRelationKey.js';
|
|
14
14
|
export { parseEasPropertyMetadata, parseEasPropertyMetadataForFeed, } from './parseEasPropertyMetadata.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EACL,6BAA6B,EAC7B,2CAA2C,EAC3C,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,YAAY,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AAEtF,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AACvB,YAAY,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAA;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAExE,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAE7E,OAAO,EACL,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,gBAAgB,CAAA;AAEvB,YAAY,EACV,UAAU,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,GAChB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,GACxB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAA;AAE7D,OAAO,EACL,6BAA6B,EAC7B,2CAA2C,EAC3C,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EACL,wBAAwB,EACxB,+BAA+B,GAChC,MAAM,+BAA+B,CAAA;AACtC,YAAY,EACV,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC9B,qCAAqC,GACtC,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAA;AAChF,YAAY,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAA;AAEtF,OAAO,EACL,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,EAC/B,oBAAoB,EACpB,wBAAwB,EACxB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,wBAAwB,CAAA;AAC/B,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,4BAA4B,GAC7B,MAAM,wBAAwB,CAAA;AAE/B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,8BAA8B,CAAA;AAErC,OAAO,EACL,6BAA6B,EAC7B,iCAAiC,EACjC,8BAA8B,GAC/B,MAAM,6BAA6B,CAAA;AACpC,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA"}
|