@galaxy-tool-util/core 1.1.0 → 1.2.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.
@@ -4,7 +4,7 @@ export { cacheKey } from "./cache-key.js";
4
4
  export { CacheIndex } from "./cache-index.js";
5
5
  export type { CacheIndexEntry, CacheIndexData } from "./cache-index.js";
6
6
  export { ToolCache } from "./tool-cache.js";
7
- export type { ResolvedCoordinates } from "./tool-cache.js";
7
+ export type { ResolvedCoordinates, CacheStats } from "./tool-cache.js";
8
8
  export { DEFAULT_TOOLSHED_URL, TOOLSHED_URL_ENV_VAR } from "./tool-cache-defaults.js";
9
9
  export type { CacheStorage } from "./storage/interface.js";
10
10
  export { IndexedDBCacheStorage } from "./storage/indexeddb.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cache/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACtF,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -12,6 +12,10 @@ export declare class FilesystemCacheStorage implements CacheStorage {
12
12
  save(key: string, data: unknown): Promise<void>;
13
13
  delete(key: string): Promise<void>;
14
14
  list(): Promise<string[]>;
15
+ stat(key: string): Promise<{
16
+ sizeBytes: number;
17
+ mtime?: string;
18
+ } | null>;
15
19
  saveAll(entries: ReadonlyArray<[string, unknown]>): Promise<void>;
16
20
  }
17
21
  //# sourceMappingURL=filesystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;IAErC,OAAO,CAAC,SAAS;IAKX,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQzB,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAMxE"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/filesystem.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AASnD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,YAAY;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM;gBAAhB,QAAQ,EAAE,MAAM;IAErC,OAAO,CAAC,SAAS;IAKX,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAW1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAWxE,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAMxE"}
@@ -1,4 +1,4 @@
1
- import { readFile, writeFile, mkdir, unlink, readdir } from "node:fs/promises";
1
+ import { readFile, writeFile, mkdir, unlink, readdir, stat } from "node:fs/promises";
2
2
  import { existsSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  /**
@@ -51,6 +51,18 @@ export class FilesystemCacheStorage {
51
51
  .filter((f) => f.endsWith(".json") && f !== INDEX_FILENAME)
52
52
  .map((f) => f.slice(0, -5));
53
53
  }
54
+ async stat(key) {
55
+ const path = this.keyToPath(key);
56
+ if (!existsSync(path))
57
+ return null;
58
+ try {
59
+ const s = await stat(path);
60
+ return { sizeBytes: s.size, mtime: s.mtime.toISOString() };
61
+ }
62
+ catch {
63
+ return null;
64
+ }
65
+ }
54
66
  async saveAll(entries) {
55
67
  await mkdir(this.cacheDir, { recursive: true });
56
68
  for (const [key, data] of entries) {
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/cache/storage/filesystem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC;;;GAGG;AACH,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC;;;;GAIG;AACH,MAAM,OAAO,sBAAsB;IACZ;IAArB,YAAqB,QAAgB;QAAhB,aAAQ,GAAR,QAAQ,CAAQ;IAAG,CAAC;IAEjC,SAAS,CAAC,GAAW;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAY,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW,EAAE,IAAa;QACnC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,UAAU,CAAC,IAAI,CAAC;YAAE,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC;aAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAyC;QACrD,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../../src/cache/storage/filesystem.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,10 @@ export declare class IndexedDBCacheStorage implements CacheStorage {
15
15
  save(key: string, data: unknown): Promise<void>;
16
16
  delete(key: string): Promise<void>;
17
17
  list(): Promise<string[]>;
18
+ stat(key: string): Promise<{
19
+ sizeBytes: number;
20
+ mtime?: string;
21
+ } | null>;
18
22
  /** Bulk insert using a single transaction — efficient for pre-populating from a bundled dataset. */
19
23
  saveAll(entries: ReadonlyArray<[string, unknown]>): Promise<void>;
20
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/indexeddb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IAG5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,EAAE,CAA4B;gBAET,MAAM,GAAE,MAAwB;IAE7D,OAAO,CAAC,KAAK;IAkBP,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAW/B,oGAAoG;IAC9F,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAYxE"}
1
+ {"version":3,"file":"indexeddb.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/indexeddb.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,YAAY;IAG5C,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,EAAE,CAA4B;gBAET,MAAM,GAAE,MAAwB;IAE7D,OAAO,CAAC,KAAK;IAkBP,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAU1C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAU/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAY9E,oGAAoG;IAC9F,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAYxE"}
@@ -70,6 +70,19 @@ export class IndexedDBCacheStorage {
70
70
  req.onerror = () => reject(req.error);
71
71
  });
72
72
  }
73
+ async stat(key) {
74
+ const value = await this.load(key);
75
+ if (value === null)
76
+ return null;
77
+ let sizeBytes;
78
+ if (value instanceof Blob) {
79
+ sizeBytes = value.size;
80
+ }
81
+ else {
82
+ sizeBytes = JSON.stringify(value).length;
83
+ }
84
+ return { sizeBytes };
85
+ }
73
86
  /** Bulk insert using a single transaction — efficient for pre-populating from a bundled dataset. */
74
87
  async saveAll(entries) {
75
88
  const db = await this.getDb();
@@ -1 +1 @@
1
- {"version":3,"file":"indexeddb.js","sourceRoot":"","sources":["../../../src/cache/storage/indexeddb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"indexeddb.js","sourceRoot":"","sources":["../../../src/cache/storage/indexeddb.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,10 @@ export interface CacheStorage {
13
13
  list(): Promise<string[]>;
14
14
  /** Optional bulk insert — single transaction for efficiency (e.g. pre-populating from bundle). */
15
15
  saveAll?(entries: ReadonlyArray<[string, unknown]>): Promise<void>;
16
+ /** Optional per-entry size/mtime metadata. Returns null if the key is missing. */
17
+ stat?(key: string): Promise<{
18
+ sizeBytes: number;
19
+ mtime?: string;
20
+ } | null>;
16
21
  }
17
22
  //# sourceMappingURL=interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,wCAAwC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4DAA4D;IAC5D,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1B,kGAAkG;IAClG,OAAO,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE"}
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/cache/storage/interface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,sDAAsD;IACtD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC3C,4DAA4D;IAC5D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,wCAAwC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,4DAA4D;IAC5D,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1B,kGAAkG;IAClG,OAAO,CAAC,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,kFAAkF;IAClF,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CAC3E"}
@@ -3,6 +3,16 @@ import { CacheIndex } from "./cache-index.js";
3
3
  import type { CacheStorage } from "./storage/interface.js";
4
4
  import { DEFAULT_TOOLSHED_URL, TOOLSHED_URL_ENV_VAR } from "./tool-cache-defaults.js";
5
5
  export { DEFAULT_TOOLSHED_URL, TOOLSHED_URL_ENV_VAR };
6
+ export interface CacheStats {
7
+ count: number;
8
+ /** Omitted if the storage backend does not implement `stat()`. */
9
+ totalBytes?: number;
10
+ bySource: Record<string, number>;
11
+ /** ISO 8601 timestamp of the oldest entry's `cached_at`. */
12
+ oldest?: string;
13
+ /** ISO 8601 timestamp of the newest entry's `cached_at`. */
14
+ newest?: string;
15
+ }
6
16
  export interface ResolvedCoordinates {
7
17
  toolshedUrl: string;
8
18
  trsToolId: string;
@@ -29,6 +39,22 @@ export declare class ToolCache {
29
39
  resolveToolCoordinates(toolId: string, toolVersion?: string | null): ResolvedCoordinates;
30
40
  hasCached(toolId: string, toolVersion?: string | null): Promise<boolean>;
31
41
  loadCached(key: string): Promise<ParsedTool | null>;
42
+ /**
43
+ * Load the raw cached payload without ParsedTool decoding.
44
+ * Returns null only if the key is missing — surfaces stale or malformed entries
45
+ * the inspector needs to render explicitly.
46
+ */
47
+ loadCachedRaw(key: string): Promise<unknown | null>;
48
+ /** Per-entry size/mtime if the storage backend supports it. */
49
+ statCached(key: string): Promise<{
50
+ sizeBytes: number;
51
+ mtime?: string;
52
+ } | null>;
53
+ /**
54
+ * Remove a single cached entry by cache key. Returns true if anything was
55
+ * removed (storage or index), false if neither held the key.
56
+ */
57
+ removeCached(key: string): Promise<boolean>;
32
58
  saveTool(key: string, parsedTool: ParsedTool, toolId: string, toolVersion: string, source: string, sourceUrl?: string): Promise<void>;
33
59
  listCached(): Promise<Array<{
34
60
  cache_key: string;
@@ -38,6 +64,8 @@ export declare class ToolCache {
38
64
  source_url: string;
39
65
  cached_at: string;
40
66
  }>>;
41
- clearCache(toolIdPrefix?: string): Promise<void>;
67
+ getCacheStats(): Promise<CacheStats>;
68
+ /** Clear cached entries. Returns the number of entries removed. */
69
+ clearCache(toolIdPrefix?: string): Promise<number>;
42
70
  }
43
71
  //# sourceMappingURL=tool-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAStD,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,WAAW,CAAiC;gBAExC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE;IAMxE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB;IAkBlF,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAoBnD,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,IAAI,CAAC;IAMV,UAAU,IAAI,OAAO,CACzB,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAIK,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAkBvD"}
1
+ {"version":3,"file":"tool-cache.d.ts","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAStD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,WAAW,CAAiC;gBAExC,IAAI,EAAE;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE;IAMxE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,mBAAmB;IAkBlF,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAOxE,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAyBzD;;;;OAIG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIzD,+DAA+D;IACzD,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAKpF;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU3C,QAAQ,CACZ,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,IAAI,CAAC;IAMV,UAAU,IAAI,OAAO,CACzB,KAAK,CAAC;QACJ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CACH;IAIK,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IAwB1C,mEAAmE;IAC7D,UAAU,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmBzD"}
@@ -64,7 +64,7 @@ export class ToolCache {
64
64
  const parsedTool = S.decodeUnknownSync(ParsedTool)(data);
65
65
  if (!(await this.index.has(key))) {
66
66
  const d = data;
67
- await this.index.add(key, d.id ?? "unknown", d.version ?? "unknown", "unknown");
67
+ await this.index.add(key, d.id ?? parsedTool.id ?? "unknown", parsedTool.version ?? "unknown", "orphan");
68
68
  }
69
69
  this.memoryCache.set(key, parsedTool);
70
70
  return parsedTool;
@@ -74,6 +74,33 @@ export class ToolCache {
74
74
  return null;
75
75
  }
76
76
  }
77
+ /**
78
+ * Load the raw cached payload without ParsedTool decoding.
79
+ * Returns null only if the key is missing — surfaces stale or malformed entries
80
+ * the inspector needs to render explicitly.
81
+ */
82
+ async loadCachedRaw(key) {
83
+ return this.storage.load(key);
84
+ }
85
+ /** Per-entry size/mtime if the storage backend supports it. */
86
+ async statCached(key) {
87
+ if (typeof this.storage.stat !== "function")
88
+ return null;
89
+ return this.storage.stat(key);
90
+ }
91
+ /**
92
+ * Remove a single cached entry by cache key. Returns true if anything was
93
+ * removed (storage or index), false if neither held the key.
94
+ */
95
+ async removeCached(key) {
96
+ const inIndex = await this.index.has(key);
97
+ const inStorage = inIndex ? false : (await this.storage.list()).includes(key);
98
+ const existed = inIndex || inStorage;
99
+ await this.storage.delete(key);
100
+ await this.index.remove(key);
101
+ this.memoryCache.delete(key);
102
+ return existed;
103
+ }
77
104
  async saveTool(key, parsedTool, toolId, toolVersion, source, sourceUrl = "") {
78
105
  await this.storage.save(key, parsedTool);
79
106
  await this.index.add(key, toolId, toolVersion, source, sourceUrl);
@@ -82,6 +109,35 @@ export class ToolCache {
82
109
  async listCached() {
83
110
  return this.index.listAll();
84
111
  }
112
+ async getCacheStats() {
113
+ const entries = await this.index.listAll();
114
+ const bySource = {};
115
+ let oldest;
116
+ let newest;
117
+ for (const e of entries) {
118
+ bySource[e.source] = (bySource[e.source] ?? 0) + 1;
119
+ if (oldest === undefined || e.cached_at < oldest)
120
+ oldest = e.cached_at;
121
+ if (newest === undefined || e.cached_at > newest)
122
+ newest = e.cached_at;
123
+ }
124
+ const stats = { count: entries.length, bySource };
125
+ if (oldest !== undefined)
126
+ stats.oldest = oldest;
127
+ if (newest !== undefined)
128
+ stats.newest = newest;
129
+ if (typeof this.storage.stat === "function") {
130
+ let totalBytes = 0;
131
+ for (const e of entries) {
132
+ const s = await this.storage.stat(e.cache_key);
133
+ if (s !== null)
134
+ totalBytes += s.sizeBytes;
135
+ }
136
+ stats.totalBytes = totalBytes;
137
+ }
138
+ return stats;
139
+ }
140
+ /** Clear cached entries. Returns the number of entries removed. */
85
141
  async clearCache(toolIdPrefix) {
86
142
  if (toolIdPrefix === undefined) {
87
143
  const keys = await this.storage.list();
@@ -90,16 +146,16 @@ export class ToolCache {
90
146
  }
91
147
  await this.index.clear();
92
148
  this.memoryCache.clear();
149
+ return keys.length;
93
150
  }
94
- else {
95
- const prefix = toolIdPrefix.replace(/\*$/, "");
96
- const toRemove = (await this.index.listAll()).filter((e) => e.tool_id.startsWith(prefix));
97
- for (const entry of toRemove) {
98
- await this.storage.delete(entry.cache_key);
99
- await this.index.remove(entry.cache_key);
100
- this.memoryCache.delete(entry.cache_key);
101
- }
151
+ const prefix = toolIdPrefix.replace(/\*$/, "");
152
+ const toRemove = (await this.index.listAll()).filter((e) => e.tool_id.startsWith(prefix));
153
+ for (const entry of toRemove) {
154
+ await this.storage.delete(entry.cache_key);
155
+ await this.index.remove(entry.cache_key);
156
+ this.memoryCache.delete(entry.cache_key);
102
157
  }
158
+ return toRemove.length;
103
159
  }
104
160
  }
105
161
  //# sourceMappingURL=tool-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-cache.js","sourceRoot":"","sources":["../../src/cache/tool-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;AAEtD,SAAS,cAAc;IACrB,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClD,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAoBD;;;;;;;GAOG;AACH,MAAM,OAAO,SAAS;IACX,kBAAkB,CAAS;IAC3B,KAAK,CAAa;IACV,OAAO,CAAe;IAC/B,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEpD,YAAY,IAA4D;QACtE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,cAAc,EAAE,IAAI,oBAAoB,CAAC;QAC9F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,sBAAsB,CAAC,MAAc,EAAE,WAA2B;QAChE,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,OAAO,EAAE,WAAW,IAAI,MAAM,CAAC,WAAW;gBAC1C,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,CAAC;aAChE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,kBAAkB;YACpC,SAAS,EAAE,MAAM;YACjB,OAAO,EAAE,WAAW,IAAI,IAAI;YAC5B,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,WAA2B;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChE,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACjF,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1C,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,UAAU,GAAG,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;YACzD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjC,MAAM,CAAC,GAAG,IAAuB,CAAC;gBAClC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAClB,GAAG,EACH,CAAC,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,IAAI,SAAS,EAClC,UAAU,CAAC,OAAO,IAAI,SAAS,EAC/B,QAAQ,CACT,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACtC,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAAC,GAAW;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,UAAU,CAAC,GAAW;QAC1B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACzD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,GAAW;QAC5B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC;QACrC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,GAAW,EACX,UAAsB,EACtB,MAAc,EACd,WAAmB,EACnB,MAAc,EACd,YAAoB,EAAE;QAEtB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,UAAU;QAUd,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAC5C,IAAI,MAA0B,CAAC;QAC/B,IAAI,MAA0B,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM;gBAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,GAAG,MAAM;gBAAE,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;QACD,MAAM,KAAK,GAAe,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC9D,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChD,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC5C,IAAI,UAAU,GAAG,CAAC,CAAC;YACnB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,KAAK,IAAI;oBAAE,UAAU,IAAI,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAChC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mEAAmE;IACnE,KAAK,CAAC,UAAU,CAAC,YAAqB;QACpC,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;YACD,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1F,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ cacheKey,
16
16
  CacheIndex,
17
17
  /** Two-layer cache (memory + storage) for parsed tool metadata. */
18
18
  ToolCache, DEFAULT_TOOLSHED_URL, TOOLSHED_URL_ENV_VAR, } from "./cache/index.js";
19
- export type { ToolCoordinates, CacheIndexEntry, CacheIndexData, CacheStorage, ResolvedCoordinates, } from "./cache/index.js";
19
+ export type { ToolCoordinates, CacheIndexEntry, CacheIndexData, CacheStorage, ResolvedCoordinates, CacheStats, } from "./cache/index.js";
20
20
  /** IndexedDB-backed cache storage for browser/Web Worker contexts. */
21
21
  export { IndexedDBCacheStorage } from "./cache/index.js";
22
22
  /** Fetch parsed tool metadata from a ToolShed instance via TRS API. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO;AACL,4FAA4F;AAC5F,mBAAmB;AACnB,oEAAoE;AACpE,aAAa;AACb,sFAAsF;AACtF,QAAQ;AACR,iFAAiF;AACjF,UAAU;AACV,mEAAmE;AACnE,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,sEAAsE;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO;AACL,4FAA4F;AAC5F,mBAAmB;AACnB,oEAAoE;AACpE,aAAa;AACb,sFAAsF;AACtF,QAAQ;AACR,iFAAiF;AACjF,UAAU;AACV,mEAAmE;AACnE,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,UAAU,GACX,MAAM,kBAAkB,CAAC;AAC1B,sEAAsE;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAClE,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO;AACL,4FAA4F;AAC5F,mBAAmB;AACnB,oEAAoE;AACpE,aAAa;AACb,sFAAsF;AACtF,QAAQ;AACR,iFAAiF;AACjF,UAAU;AACV,mEAAmE;AACnE,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAQ1B,sEAAsE;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO;AACL,4FAA4F;AAC5F,mBAAmB;AACnB,oEAAoE;AACpE,aAAa;AACb,sFAAsF;AACtF,QAAQ;AACR,iFAAiF;AACjF,UAAU;AACV,mEAAmE;AACnE,SAAS,EACT,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAS1B,sEAAsE;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,uEAAuE;AACvE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACvF,8DAA8D;AAC9D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEhF,oFAAoF;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,qEAAqE;AACrE,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,yBAAyB,GAC1B,MAAM,aAAa,CAAC"}
@@ -32,6 +32,21 @@ export declare class ToolInfoService {
32
32
  * if the tool is unknown to the shed or has no published versions.
33
33
  */
34
34
  private resolveLatestVersion;
35
+ /**
36
+ * Populate the cache for a known tool id. Idempotent by default — when the
37
+ * entry already exists, returns `{alreadyCached: true, fetched: false}` and
38
+ * skips the remote fetch. Pass `{force: true}` to evict the existing entry
39
+ * first and re-fetch unconditionally.
40
+ *
41
+ * Used by inspector / debug surfaces (gxwf-web `/api/tool-cache/{add,refetch}`).
42
+ */
43
+ refetch(toolId: string, toolVersion?: string | null, opts?: {
44
+ force?: boolean;
45
+ }): Promise<{
46
+ cacheKey: string;
47
+ fetched: boolean;
48
+ alreadyCached: boolean;
49
+ }>;
35
50
  addTool(toolId: string, toolVersion: string, parsedTool: ParsedTool, source?: string, sourceUrl?: string): Promise<string>;
36
51
  }
37
52
  //# sourceMappingURL=tool-info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-info.d.ts","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,gGAAgG;IAChG,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;gBAE3B,IAAI,EAAE,eAAe;IAsB3B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAyD1F;;;OAGG;YACW,oBAAoB;IAa5B,OAAO,CACX,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,MAAgB,EACxB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,MAAM,CAAC;CAOnB"}
1
+ {"version":3,"file":"tool-info.d.ts","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAIlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC;IAC5B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,0DAA0D;AAC1D,MAAM,WAAW,eAAe;IAC9B,gGAAgG;IAChG,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4FAA4F;IAC5F,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,qBAAa,eAAe;IAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;gBAE3B,IAAI,EAAE,eAAe;IAsB3B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAyD1F;;;OAGG;YACW,oBAAoB;IAalC;;;;;;;OAOG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GACzB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC;IAwBpE,OAAO,CACX,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EACtB,MAAM,GAAE,MAAgB,EACxB,SAAS,GAAE,MAAW,GACrB,OAAO,CAAC,MAAM,CAAC;CAOnB"}
package/dist/tool-info.js CHANGED
@@ -16,7 +16,7 @@ export class ToolInfoService {
16
16
  defaultToolshedUrl: opts.defaultToolshedUrl,
17
17
  });
18
18
  this.fetcher = opts.fetcher ?? globalThis.fetch;
19
- if (opts.sources && opts.sources.length > 0) {
19
+ if (opts.sources) {
20
20
  this.sources = opts.sources;
21
21
  }
22
22
  else {
@@ -85,6 +85,37 @@ export class ToolInfoService {
85
85
  return null;
86
86
  }
87
87
  }
88
+ /**
89
+ * Populate the cache for a known tool id. Idempotent by default — when the
90
+ * entry already exists, returns `{alreadyCached: true, fetched: false}` and
91
+ * skips the remote fetch. Pass `{force: true}` to evict the existing entry
92
+ * first and re-fetch unconditionally.
93
+ *
94
+ * Used by inspector / debug surfaces (gxwf-web `/api/tool-cache/{add,refetch}`).
95
+ */
96
+ async refetch(toolId, toolVersion, opts) {
97
+ const coords = this.cache.resolveToolCoordinates(toolId, toolVersion ?? null);
98
+ let resolvedVersion = coords.version;
99
+ let alreadyCached = false;
100
+ if (resolvedVersion !== null) {
101
+ alreadyCached = await this.cache.hasCached(toolId, resolvedVersion);
102
+ }
103
+ if (alreadyCached && !opts?.force) {
104
+ const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, resolvedVersion);
105
+ return { cacheKey: key, fetched: false, alreadyCached: true };
106
+ }
107
+ if (alreadyCached && opts?.force && resolvedVersion !== null) {
108
+ const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, resolvedVersion);
109
+ await this.cache.removeCached(key);
110
+ }
111
+ const tool = await this.getToolInfo(toolId, toolVersion ?? null);
112
+ if (tool === null) {
113
+ throw new Error(`Failed to fetch tool: ${toolId}`);
114
+ }
115
+ resolvedVersion = tool.version ?? resolvedVersion ?? "unknown";
116
+ const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, resolvedVersion);
117
+ return { cacheKey: key, fetched: true, alreadyCached };
118
+ }
88
119
  async addTool(toolId, toolVersion, parsedTool, source = "local", sourceUrl = "") {
89
120
  const coords = this.cache.resolveToolCoordinates(toolId, toolVersion);
90
121
  const version = coords.version ?? toolVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/core",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Galaxy tool cache, ToolShed client, and ParsedTool models",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -37,7 +37,7 @@
37
37
  "dependencies": {
38
38
  "effect": "^3.21.0",
39
39
  "yaml": "^2.8.3",
40
- "@galaxy-tool-util/schema": "1.1.0"
40
+ "@galaxy-tool-util/schema": "1.2.0"
41
41
  },
42
42
  "scripts": {
43
43
  "build": "tsc",