@galaxy-tool-util/cli 1.13.1 → 1.14.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.
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Handles:
5
5
  * - base64:// URLs: base64-decode inline content, parse as YAML/JSON
6
- * - TRS URLs (GA4GH pattern): fetch descriptor endpoint, extract `content`
6
+ * - TRS URLs (GA4GH pattern): fetch the `GALAXY` descriptor endpoint, extract `content`
7
7
  * - Plain HTTP/HTTPS URLs: fetch and parse based on content-type
8
8
  * - File paths (no ://): read from workflowDirectory
9
9
  *
@@ -1 +1 @@
1
- {"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/commands/url-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAY,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,WAAW,CA2CpF"}
1
+ {"version":3,"file":"url-resolver.d.ts","sourceRoot":"","sources":["../../src/commands/url-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,sBAA2B,GAAG,WAAW,CAsDpF"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Handles:
5
5
  * - base64:// URLs: base64-decode inline content, parse as YAML/JSON
6
- * - TRS URLs (GA4GH pattern): fetch descriptor endpoint, extract `content`
6
+ * - TRS URLs (GA4GH pattern): fetch the `GALAXY` descriptor endpoint, extract `content`
7
7
  * - Plain HTTP/HTTPS URLs: fetch and parse based on content-type
8
8
  * - File paths (no ://): read from workflowDirectory
9
9
  *
@@ -12,7 +12,7 @@
12
12
  import { readFile } from "node:fs/promises";
13
13
  import { join } from "node:path";
14
14
  import * as yaml from "yaml";
15
- import { isTrsUrl } from "@galaxy-tool-util/schema";
15
+ import { trsDescriptorUrl } from "@galaxy-tool-util/schema";
16
16
  /**
17
17
  * Create a default RefResolver that handles base64, TRS, HTTP, and file paths.
18
18
  */
@@ -28,15 +28,27 @@ export function createDefaultResolver(opts = {}) {
28
28
  }
29
29
  // URL — fetch via HTTP
30
30
  if (ref.includes("://")) {
31
- const response = await fetcher(ref, {
31
+ const descriptorUrl = trsDescriptorUrl(ref);
32
+ const url = descriptorUrl ?? ref;
33
+ const source = descriptorUrl ? `${ref} (${descriptorUrl})` : ref;
34
+ const response = await fetcher(url, {
32
35
  headers: { Accept: "application/json, application/x-yaml, text/yaml, */*" },
33
36
  signal: AbortSignal.timeout(30_000),
34
37
  });
35
38
  if (!response.ok) {
36
- throw new Error(`Failed to fetch ${ref}: ${response.status}`);
39
+ throw new Error(`Failed to fetch ${source}: ${response.status}`);
37
40
  }
38
- if (isTrsUrl(ref)) {
39
- const descriptor = (await response.json());
41
+ if (descriptorUrl) {
42
+ let descriptor;
43
+ try {
44
+ descriptor = (await response.json());
45
+ }
46
+ catch {
47
+ throw new Error(`TRS descriptor at ${source} is not JSON`);
48
+ }
49
+ if (typeof descriptor?.content !== "string") {
50
+ throw new Error(`TRS descriptor at ${source} has no string 'content' field`);
51
+ }
40
52
  return yaml.parse(descriptor.content);
41
53
  }
42
54
  const contentType = response.headers.get("content-type") ?? "";
@@ -1 +1 @@
1
- {"version":3,"file":"url-resolver.js","sourceRoot":"","sources":["../../src/commands/url-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAoB,MAAM,0BAA0B,CAAC;AAStE;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B,EAAE;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;IAEjD,OAAO,KAAK,EAAE,GAAW,EAAoC,EAAE;QAC7D,sCAAsC;QACtC,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;QACxD,CAAC;QAED,uBAAuB;QACvB,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE;gBAClC,OAAO,EAAE,EAAE,MAAM,EAAE,sDAAsD,EAAE;gBAC3E,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;gBACtE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAiB,CAA4B,CAAC;YAC7E,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;YAC/D,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAC5D,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA4B,CAAC;QACrD,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,6BAA6B,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IACxD,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"url-resolver.js","sourceRoot":"","sources":["../../src/commands/url-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/cli",
3
- "version": "1.13.1",
3
+ "version": "1.14.0",
4
4
  "description": "galaxy-tool-cache CLI — cache and inspect Galaxy tool metadata",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,11 +39,11 @@
39
39
  "effect": "^3.21.0",
40
40
  "nunjucks": "^3.2.4",
41
41
  "yaml": "^2.8.3",
42
- "@galaxy-tool-util/schema": "1.13.1",
43
- "@galaxy-tool-util/core": "1.13.1",
44
- "@galaxy-tool-util/search": "1.13.1",
45
- "@galaxy-tool-util/tool-xml": "1.13.1",
46
- "@galaxy-tool-util/connection-validation": "1.13.1"
42
+ "@galaxy-tool-util/core": "1.14.0",
43
+ "@galaxy-tool-util/schema": "1.14.0",
44
+ "@galaxy-tool-util/connection-validation": "1.14.0",
45
+ "@galaxy-tool-util/search": "1.14.0",
46
+ "@galaxy-tool-util/tool-xml": "1.14.0"
47
47
  },
48
48
  "devDependencies": {
49
49
  "@types/node": "^25.5.0",