@galaxy-tool-util/core 1.10.1 → 1.13.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/dist/cache/index.d.ts +1 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/node.d.ts +5 -5
- package/dist/cache/node.d.ts.map +1 -1
- package/dist/cache/node.js +6 -1
- package/dist/cache/node.js.map +1 -1
- package/dist/cache/storage/filesystem.d.ts +6 -1
- package/dist/cache/storage/filesystem.d.ts.map +1 -1
- package/dist/cache/storage/filesystem.js +53 -15
- package/dist/cache/storage/filesystem.js.map +1 -1
- package/dist/cache/storage/indexeddb.d.ts +3 -0
- package/dist/cache/storage/indexeddb.d.ts.map +1 -1
- package/dist/cache/storage/indexeddb.js +20 -3
- package/dist/cache/storage/indexeddb.js.map +1 -1
- package/dist/cache/storage/interface.d.ts +4 -0
- package/dist/cache/storage/interface.d.ts.map +1 -1
- package/dist/cache/tool-cache.d.ts +13 -4
- package/dist/cache/tool-cache.d.ts.map +1 -1
- package/dist/cache/tool-cache.js +31 -4
- package/dist/cache/tool-cache.js.map +1 -1
- package/dist/cache-http/cache-to-trs.d.ts +36 -0
- package/dist/cache-http/cache-to-trs.d.ts.map +1 -0
- package/dist/cache-http/cache-to-trs.js +81 -0
- package/dist/cache-http/cache-to-trs.js.map +1 -0
- package/dist/cache-http/dto.d.ts +69 -0
- package/dist/cache-http/dto.d.ts.map +1 -0
- package/dist/cache-http/dto.js +8 -0
- package/dist/cache-http/dto.js.map +1 -0
- package/dist/cache-http/error.d.ts +10 -0
- package/dist/cache-http/error.d.ts.map +1 -0
- package/dist/cache-http/error.js +15 -0
- package/dist/cache-http/error.js.map +1 -0
- package/dist/cache-http/handlers.d.ts +41 -0
- package/dist/cache-http/handlers.d.ts.map +1 -0
- package/dist/cache-http/handlers.js +241 -0
- package/dist/cache-http/handlers.js.map +1 -0
- package/dist/cache-http/index.d.ts +13 -0
- package/dist/cache-http/index.d.ts.map +1 -0
- package/dist/cache-http/index.js +12 -0
- package/dist/cache-http/index.js.map +1 -0
- package/dist/cache-http/route-table.d.ts +67 -0
- package/dist/cache-http/route-table.d.ts.map +1 -0
- package/dist/cache-http/route-table.js +145 -0
- package/dist/cache-http/route-table.js.map +1 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -0
- package/dist/client/index.js.map +1 -1
- package/dist/client/tool-source.d.ts +6 -0
- package/dist/client/tool-source.d.ts.map +1 -0
- package/dist/client/tool-source.js +27 -0
- package/dist/client/tool-source.js.map +1 -0
- package/dist/client/toolshed.d.ts.map +1 -1
- package/dist/client/toolshed.js +24 -2
- package/dist/client/toolshed.js.map +1 -1
- package/dist/diagnostics.d.ts +5 -0
- package/dist/diagnostics.d.ts.map +1 -0
- package/dist/diagnostics.js +3 -0
- package/dist/diagnostics.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/node-http.d.ts +39 -0
- package/dist/node-http.d.ts.map +1 -0
- package/dist/node-http.js +114 -0
- package/dist/node-http.js.map +1 -0
- package/dist/node.d.ts +1 -0
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +1 -0
- package/dist/node.js.map +1 -1
- package/dist/tool-info.d.ts +7 -0
- package/dist/tool-info.d.ts.map +1 -1
- package/dist/tool-info.js +77 -19
- package/dist/tool-info.js.map +1 -1
- package/dist/tool-source.d.ts +9 -0
- package/dist/tool-source.d.ts.map +1 -0
- package/dist/tool-source.js +9 -0
- package/dist/tool-source.js.map +1 -0
- package/package.json +2 -2
package/dist/tool-info.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { DEFAULT_TOOL_VERSION, ToolCache } from "./cache/tool-cache.js";
|
|
2
2
|
import { cacheKey } from "./cache/cache-key.js";
|
|
3
3
|
import { fetchFromToolShed, fetchFromGalaxy } from "./client/toolshed.js";
|
|
4
|
+
import { ToolFetchError } from "./client/toolshed.js";
|
|
5
|
+
import { fetchToolSourceFromGalaxy, fetchToolSourceFromToolShed } from "./client/tool-source.js";
|
|
4
6
|
import { getLatestTRSToolVersion } from "./client/trs.js";
|
|
7
|
+
import { ignoreDiagnostic } from "./diagnostics.js";
|
|
5
8
|
/**
|
|
6
9
|
* High-level service for fetching Galaxy tool metadata with automatic caching.
|
|
7
10
|
* Tries configured sources in order and caches on first successful fetch.
|
|
@@ -10,12 +13,15 @@ export class ToolInfoService {
|
|
|
10
13
|
cache;
|
|
11
14
|
sources;
|
|
12
15
|
fetcher;
|
|
16
|
+
onDiagnostic;
|
|
13
17
|
constructor(opts) {
|
|
14
18
|
this.cache = new ToolCache({
|
|
15
19
|
storage: opts.storage,
|
|
16
20
|
defaultToolshedUrl: opts.defaultToolshedUrl,
|
|
21
|
+
onDiagnostic: opts.onDiagnostic,
|
|
17
22
|
});
|
|
18
23
|
this.fetcher = opts.fetcher ?? globalThis.fetch;
|
|
24
|
+
this.onDiagnostic = opts.onDiagnostic ?? ignoreDiagnostic;
|
|
19
25
|
if (opts.sources) {
|
|
20
26
|
this.sources = opts.sources;
|
|
21
27
|
}
|
|
@@ -35,6 +41,55 @@ export class ToolInfoService {
|
|
|
35
41
|
const resolved = await this.resolveTool(toolId, toolVersion);
|
|
36
42
|
return resolved === null ? null : resolved.tool;
|
|
37
43
|
}
|
|
44
|
+
/** Lazy wrapper-source fetch with write-through caching, independent of parsed metadata. */
|
|
45
|
+
async fetchToolSource(toolId, toolVersion) {
|
|
46
|
+
const coords = this.cache.resolveToolCoordinates(toolId, toolVersion);
|
|
47
|
+
const keyVersion = coords.version ?? (await this.resolveLatestVersion(coords.toolshedUrl, coords.trsToolId));
|
|
48
|
+
if (keyVersion === null)
|
|
49
|
+
return null;
|
|
50
|
+
const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, keyVersion);
|
|
51
|
+
const cached = await this.cache.loadToolSource(key);
|
|
52
|
+
if (cached !== null)
|
|
53
|
+
return cached;
|
|
54
|
+
let fetchVersion = keyVersion;
|
|
55
|
+
if (keyVersion === DEFAULT_TOOL_VERSION) {
|
|
56
|
+
const parsed = await this.cache.loadCached(key);
|
|
57
|
+
fetchVersion =
|
|
58
|
+
parsed?.version ??
|
|
59
|
+
(await this.resolveLatestVersion(coords.toolshedUrl, coords.trsToolId)) ??
|
|
60
|
+
DEFAULT_TOOL_VERSION;
|
|
61
|
+
}
|
|
62
|
+
let failure;
|
|
63
|
+
for (const source of this.sources) {
|
|
64
|
+
let document;
|
|
65
|
+
try {
|
|
66
|
+
document =
|
|
67
|
+
source.type === "toolshed"
|
|
68
|
+
? await fetchToolSourceFromToolShed(source.url, coords.trsToolId, fetchVersion, this.fetcher)
|
|
69
|
+
: await fetchToolSourceFromGalaxy(source.url, coords.trsToolId.includes("~") ? coords.readableId : toolId, fetchVersion === DEFAULT_TOOL_VERSION ? null : fetchVersion, this.fetcher);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
this.onDiagnostic(`${source.type} source fetch failed (${source.url}) for ${coords.trsToolId}: ${err}`);
|
|
73
|
+
if (!(err instanceof ToolFetchError) || err.statusCode !== 404)
|
|
74
|
+
failure = err;
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
await this.cache.saveToolSource(key, document);
|
|
79
|
+
// Source-only entries must participate in cache deletion and prefix clearing.
|
|
80
|
+
if (!(await this.cache.index.has(key))) {
|
|
81
|
+
await this.cache.index.add(key, coords.readableId, fetchVersion, source.type === "toolshed" ? "api" : "galaxy", source.url);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
this.onDiagnostic(`Failed to cache fetched tool source ${coords.trsToolId}: ${err}`);
|
|
86
|
+
}
|
|
87
|
+
return document;
|
|
88
|
+
}
|
|
89
|
+
if (failure !== undefined)
|
|
90
|
+
throw failure;
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
38
93
|
/**
|
|
39
94
|
* Like {@link getToolInfo}, but also returns the cache key the tool lives under
|
|
40
95
|
* — the authoritative key this service caches with. Callers needing the key
|
|
@@ -51,7 +106,7 @@ export class ToolInfoService {
|
|
|
51
106
|
// ToolShed tool without a pin — must resolve a concrete version before we can key it.
|
|
52
107
|
const resolved = await this.resolveLatestVersion(coords.toolshedUrl, coords.trsToolId);
|
|
53
108
|
if (resolved === null) {
|
|
54
|
-
|
|
109
|
+
this.onDiagnostic(`No version available for tool: ${toolId}`);
|
|
55
110
|
return null;
|
|
56
111
|
}
|
|
57
112
|
keyVersion = resolved;
|
|
@@ -73,10 +128,10 @@ export class ToolInfoService {
|
|
|
73
128
|
}
|
|
74
129
|
// Try each source in order
|
|
75
130
|
for (const source of this.sources) {
|
|
131
|
+
let parsedTool;
|
|
132
|
+
let sourceLabel;
|
|
133
|
+
let sourceUrl;
|
|
76
134
|
try {
|
|
77
|
-
let parsedTool;
|
|
78
|
-
let sourceLabel;
|
|
79
|
-
let sourceUrl;
|
|
80
135
|
if (source.type === "toolshed") {
|
|
81
136
|
parsedTool = await fetchFromToolShed(source.url, coords.trsToolId, fetchVersion, this.fetcher);
|
|
82
137
|
sourceLabel = "api";
|
|
@@ -87,17 +142,23 @@ export class ToolInfoService {
|
|
|
87
142
|
sourceLabel = "galaxy";
|
|
88
143
|
sourceUrl = `${source.url}/api/tools/${encodeURIComponent(toolId)}/parsed`;
|
|
89
144
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
148
|
+
this.onDiagnostic(`${source.type} fetch failed (${source.url}) for ${coords.trsToolId}: ${msg}`);
|
|
149
|
+
continue;
|
|
150
|
+
}
|
|
151
|
+
// A cache failure must not discard an otherwise valid remote response.
|
|
152
|
+
// Report it separately and still return the fetched tool to the caller.
|
|
153
|
+
const indexVersion = parsedTool.version ?? fetchVersion;
|
|
154
|
+
try {
|
|
94
155
|
await this.cache.saveTool(key, parsedTool, coords.readableId, indexVersion, sourceLabel, sourceUrl);
|
|
95
|
-
return { tool: parsedTool, key };
|
|
96
156
|
}
|
|
97
157
|
catch (err) {
|
|
98
158
|
const msg = err instanceof Error ? err.message : String(err);
|
|
99
|
-
|
|
159
|
+
this.onDiagnostic(`Failed to cache fetched tool ${coords.trsToolId} version ${indexVersion}: ${msg}`);
|
|
100
160
|
}
|
|
161
|
+
return { tool: parsedTool, key };
|
|
101
162
|
}
|
|
102
163
|
return null;
|
|
103
164
|
}
|
|
@@ -111,7 +172,7 @@ export class ToolInfoService {
|
|
|
111
172
|
}
|
|
112
173
|
catch (err) {
|
|
113
174
|
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
-
|
|
175
|
+
this.onDiagnostic(`TRS latest-version lookup failed for ${trsToolId} on ${toolshedUrl}: ${msg}`);
|
|
115
176
|
return null;
|
|
116
177
|
}
|
|
117
178
|
}
|
|
@@ -125,7 +186,10 @@ export class ToolInfoService {
|
|
|
125
186
|
*/
|
|
126
187
|
async refetch(toolId, toolVersion, opts) {
|
|
127
188
|
const coords = this.cache.resolveToolCoordinates(toolId, toolVersion ?? null);
|
|
128
|
-
|
|
189
|
+
let resolvedVersion = coords.version;
|
|
190
|
+
if (opts?.force && resolvedVersion === null) {
|
|
191
|
+
resolvedVersion = await this.resolveLatestVersion(coords.toolshedUrl, coords.trsToolId);
|
|
192
|
+
}
|
|
129
193
|
let alreadyCached = false;
|
|
130
194
|
if (resolvedVersion !== null) {
|
|
131
195
|
alreadyCached = await this.cache.hasCached(toolId, resolvedVersion);
|
|
@@ -134,7 +198,7 @@ export class ToolInfoService {
|
|
|
134
198
|
const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, resolvedVersion);
|
|
135
199
|
return { cacheKey: key, fetched: false, alreadyCached: true };
|
|
136
200
|
}
|
|
137
|
-
if (
|
|
201
|
+
if (opts?.force && resolvedVersion !== null) {
|
|
138
202
|
const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, resolvedVersion);
|
|
139
203
|
await this.cache.removeCached(key);
|
|
140
204
|
}
|
|
@@ -148,12 +212,6 @@ export class ToolInfoService {
|
|
|
148
212
|
// (coords.version); an unpinned ToolShed tool (coords.version === null) keys by
|
|
149
213
|
// the resolved version. Must not key a stock tool by tool.version — its entry
|
|
150
214
|
// lives under the `_default_` key, not `~<version>`.
|
|
151
|
-
//
|
|
152
|
-
// Known edge (tracked): a stock entry is keyed under `_default_` but its index/display
|
|
153
|
-
// version is the concrete one (e.g. `1.1.1`). A caller that refetches by the *display*
|
|
154
|
-
// version (gxwf-web inspector does) passes `1.1.1`, misses the `_default_` key, and
|
|
155
|
-
// writes a duplicate sibling instead of refreshing. Unreachable until the shed's TRS
|
|
156
|
-
// version-list endpoint is healthy; fix needs the request version persisted in the index.
|
|
157
215
|
const keyVersion = coords.version ?? tool.version ?? "unknown";
|
|
158
216
|
const key = await cacheKey(coords.toolshedUrl, coords.trsToolId, keyVersion);
|
|
159
217
|
return { cacheKey: key, fetched: true, alreadyCached };
|
package/dist/tool-info.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-info.js","sourceRoot":"","sources":["../src/tool-info.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** A serialized wrapper document, as returned by Galaxy or the Tool Shed. */
|
|
2
|
+
export interface ToolSourceDocument {
|
|
3
|
+
contents: string;
|
|
4
|
+
language: "xml" | "yaml" | "json" | "cwl" | "text";
|
|
5
|
+
/** XML serializers return the macro-expanded tree; other formats have no XML macros. */
|
|
6
|
+
macrosExpanded: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function isToolSourceDocument(value: unknown): value is ToolSourceDocument;
|
|
9
|
+
//# sourceMappingURL=tool-source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-source.d.ts","sourceRoot":"","sources":["../src/tool-source.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;IACnD,wFAAwF;IACxF,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAQhF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function isToolSourceDocument(value) {
|
|
2
|
+
if (value === null || typeof value !== "object")
|
|
3
|
+
return false;
|
|
4
|
+
const source = value;
|
|
5
|
+
return (typeof source.contents === "string" &&
|
|
6
|
+
["xml", "yaml", "json", "cwl", "text"].includes(source.language) &&
|
|
7
|
+
typeof source.macrosExpanded === "boolean");
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tool-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-source.js","sourceRoot":"","sources":["../src/tool-source.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,KAA2B,CAAC;IAC3C,OAAO,CACL,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChE,OAAO,MAAM,CAAC,cAAc,KAAK,SAAS,CAC3C,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galaxy-tool-util/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.1",
|
|
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.
|
|
40
|
+
"@galaxy-tool-util/schema": "1.13.1"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"build": "tsc",
|