@galaxy-tool-util/cli 1.2.0 → 1.4.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `galaxy-tool-cache structural-schema` — export the structural JSON Schema
2
+ * `gxwf structural-schema` — export the structural JSON Schema
3
3
  * for Galaxy workflow validation (gxformat2 or native).
4
4
  */
5
5
  import { GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema } from "@galaxy-tool-util/schema";
@@ -0,0 +1,31 @@
1
+ import { type ParsedTool } from "@galaxy-tool-util/schema";
2
+ export interface SummarizeOptions {
3
+ version?: string;
4
+ output?: string;
5
+ cacheDir?: string;
6
+ }
7
+ export interface GalaxyToolSummaryManifest {
8
+ schema_version: 1;
9
+ tool_id: string;
10
+ tool_version: string | null;
11
+ cache_key: string;
12
+ source: {
13
+ kind: "toolshed" | "galaxy" | "local" | "orphan" | "unknown";
14
+ label: string;
15
+ url: string;
16
+ cached_at: string | null;
17
+ };
18
+ artifacts: {
19
+ parsed_tool_path: string;
20
+ raw_tool_source_path: string | null;
21
+ };
22
+ parsed_tool: ParsedTool;
23
+ input_schemas: {
24
+ workflow_step: unknown | null;
25
+ workflow_step_linked: unknown | null;
26
+ };
27
+ warnings: string[];
28
+ }
29
+ export declare function buildToolSummaryManifest(toolId: string, opts: SummarizeOptions): Promise<GalaxyToolSummaryManifest | null>;
30
+ export declare function runSummarize(toolId: string, opts: SummarizeOptions): Promise<void>;
31
+ //# sourceMappingURL=summarize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarize.d.ts","sourceRoot":"","sources":["../../src/commands/summarize.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,UAAU,EAGhB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,CAAC,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE;QACN,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;QAC7D,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;KAC1B,CAAC;IACF,SAAS,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;KACrC,CAAC;IACF,WAAW,EAAE,UAAU,CAAC;IACxB,aAAa,EAAE;QACb,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;QAC9B,oBAAoB,EAAE,OAAO,GAAG,IAAI,CAAC;KACtC,CAAC;IACF,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA+BD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,yBAAyB,GAAG,IAAI,CAAC,CAwC3C;AAED,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUxF"}
@@ -0,0 +1,85 @@
1
+ import { join } from "node:path";
2
+ import { writeFile } from "node:fs/promises";
3
+ import { getCacheDir, makeNodeToolCache } from "@galaxy-tool-util/core/node";
4
+ import { createFieldModel, } from "@galaxy-tool-util/schema";
5
+ import * as JSONSchema from "effect/JSONSchema";
6
+ import { isResolveError, loadCachedTool } from "./resolve-tool.js";
7
+ function sourceKind(label) {
8
+ if (label === "api")
9
+ return "toolshed";
10
+ if (label === "galaxy" || label === "local" || label === "orphan")
11
+ return label;
12
+ return "unknown";
13
+ }
14
+ function inputSchemaFor(tool, rep, warnings) {
15
+ const bundle = {
16
+ parameters: tool.inputs,
17
+ };
18
+ const effectSchema = createFieldModel(bundle, rep);
19
+ if (effectSchema === undefined) {
20
+ warnings.push(`${rep} input schema could not be generated for this tool`);
21
+ return null;
22
+ }
23
+ try {
24
+ return JSONSchema.make(effectSchema);
25
+ }
26
+ catch (err) {
27
+ warnings.push(`${rep} input schema generation failed: ${err instanceof Error ? err.message : String(err)}`);
28
+ return null;
29
+ }
30
+ }
31
+ export async function buildToolSummaryManifest(toolId, opts) {
32
+ const cacheDir = getCacheDir(opts.cacheDir);
33
+ const cache = makeNodeToolCache({ cacheDir });
34
+ await cache.index.load();
35
+ const result = await loadCachedTool(cache, toolId, opts.version);
36
+ if (isResolveError(result)) {
37
+ if (result.kind === "no_version") {
38
+ console.error(`No version specified for tool: ${toolId}`);
39
+ }
40
+ else {
41
+ console.error(`Tool not found in cache: ${toolId}. Run 'galaxy-tool-cache add' first.`);
42
+ }
43
+ process.exitCode = 1;
44
+ return null;
45
+ }
46
+ const indexEntry = (await cache.index.listAll()).find((entry) => entry.cache_key === result.key);
47
+ const warnings = [];
48
+ const manifest = {
49
+ schema_version: 1,
50
+ tool_id: result.tool.id,
51
+ tool_version: result.tool.version,
52
+ cache_key: result.key,
53
+ source: {
54
+ kind: sourceKind(indexEntry?.source),
55
+ label: indexEntry?.source ?? "unknown",
56
+ url: indexEntry?.source_url ?? "",
57
+ cached_at: indexEntry?.cached_at ?? null,
58
+ },
59
+ artifacts: {
60
+ parsed_tool_path: join(cacheDir, `${result.key}.json`),
61
+ raw_tool_source_path: null,
62
+ },
63
+ parsed_tool: result.tool,
64
+ input_schemas: {
65
+ workflow_step: inputSchemaFor(result.tool, "workflow_step", warnings),
66
+ workflow_step_linked: inputSchemaFor(result.tool, "workflow_step_linked", warnings),
67
+ },
68
+ warnings,
69
+ };
70
+ return manifest;
71
+ }
72
+ export async function runSummarize(toolId, opts) {
73
+ const manifest = await buildToolSummaryManifest(toolId, opts);
74
+ if (manifest === null)
75
+ return;
76
+ const output = `${JSON.stringify(manifest, null, 2)}\n`;
77
+ if (opts.output) {
78
+ await writeFile(opts.output, output);
79
+ console.log(`Summary written to ${opts.output}`);
80
+ }
81
+ else {
82
+ process.stdout.write(output);
83
+ }
84
+ }
85
+ //# sourceMappingURL=summarize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summarize.js","sourceRoot":"","sources":["../../src/commands/summarize.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { runInfo } from "../commands/info.js";
4
4
  import { runClear } from "../commands/clear.js";
5
5
  import { runPopulateWorkflow } from "../commands/populate-workflow.js";
6
6
  import { runSchema } from "../commands/schema.js";
7
- import { runStructuralSchema } from "../commands/structural-schema.js";
7
+ import { runSummarize } from "../commands/summarize.js";
8
8
  import { buildProgramFromSpec } from "../spec/build-program.js";
9
9
  import { galaxyToolCacheSpec } from "../meta/specs.js";
10
10
  const handlers = {
@@ -13,8 +13,8 @@ const handlers = {
13
13
  info: runInfo,
14
14
  clear: runClear,
15
15
  schema: runSchema,
16
+ summarize: runSummarize,
16
17
  populateWorkflow: runPopulateWorkflow,
17
- structuralSchema: runStructuralSchema,
18
18
  };
19
19
  export function buildGalaxyToolCacheProgram() {
20
20
  return buildProgramFromSpec(galaxyToolCacheSpec, handlers);
@@ -1 +1 @@
1
- {"version":3,"file":"galaxy-tool-cache.js","sourceRoot":"","sources":["../../src/programs/galaxy-tool-cache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,QAAQ,GAAoB;IAChC,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,gBAAgB,EAAE,mBAAmB;IACrC,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEF,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"galaxy-tool-cache.js","sourceRoot":"","sources":["../../src/programs/galaxy-tool-cache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,QAAQ,GAAoB;IAChC,GAAG,EAAE,MAAM;IACX,IAAI,EAAE,OAAO;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,YAAY;IACvB,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEF,MAAM,UAAU,2BAA2B;IACzC,OAAO,oBAAoB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;AAC7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"gxwf.d.ts","sourceRoot":"","sources":["../../src/programs/gxwf.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuEzC,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
1
+ {"version":3,"file":"gxwf.d.ts","sourceRoot":"","sources":["../../src/programs/gxwf.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyEzC,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -16,6 +16,7 @@ import { runToolSearch } from "../commands/tool-search.js";
16
16
  import { runToolVersions } from "../commands/tool-versions.js";
17
17
  import { runToolRevisions } from "../commands/tool-revisions.js";
18
18
  import { runRepoSearch } from "../commands/repo-search.js";
19
+ import { runStructuralSchema } from "../commands/structural-schema.js";
19
20
  import { buildProgramFromSpec } from "../spec/build-program.js";
20
21
  import { gxwfSpec } from "../meta/specs.js";
21
22
  const handlers = {
@@ -49,6 +50,7 @@ const handlers = {
49
50
  toolVersions: runToolVersions,
50
51
  toolRevisions: runToolRevisions,
51
52
  repoSearch: runRepoSearch,
53
+ structuralSchema: runStructuralSchema,
52
54
  };
53
55
  export function buildGxwfProgram() {
54
56
  return buildProgramFromSpec(gxwfSpec, handlers);
@@ -1 +1 @@
1
- {"version":3,"file":"gxwf.js","sourceRoot":"","sources":["../../src/programs/gxwf.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,QAAQ,GAAoB;IAChC,gBAAgB,EAAE,mBAAmB;IACrC,aAAa,EAAE,gBAAgB;IAC/B,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CACP,IAAY,EACZ,MAA0B,EAC1B,IAA8E,EAC9E,EAAE,CACF,UAAU,CAAC,IAAI,EAAE;QACf,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IACJ,WAAW,EAAE,CACX,IAAY,EACZ,MAA0B,EAC1B,IAMC,EACD,EAAE,CACF,cAAc,CAAC,IAAI,EAAE;QACnB,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IACJ,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;IAC/B,iBAAiB,EAAE,oBAAoB;IACvC,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,UAAU,EAAE,aAAa;CAC1B,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"gxwf.js","sourceRoot":"","sources":["../../src/programs/gxwf.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAwB,MAAM,0BAA0B,CAAC;AACtF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,QAAQ,GAAoB;IAChC,gBAAgB,EAAE,mBAAmB;IACrC,aAAa,EAAE,gBAAgB;IAC/B,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,UAAU;IACnB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,CACP,IAAY,EACZ,MAA0B,EAC1B,IAA8E,EAC9E,EAAE,CACF,UAAU,CAAC,IAAI,EAAE;QACf,MAAM;QACN,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;IACJ,WAAW,EAAE,CACX,IAAY,EACZ,MAA0B,EAC1B,IAMC,EACD,EAAE,CACF,cAAc,CAAC,IAAI,EAAE;QACnB,MAAM;QACN,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;QAC7C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;IACJ,YAAY,EAAE,eAAe;IAC7B,QAAQ,EAAE,WAAW;IACrB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,cAAc;IAC3B,aAAa,EAAE,gBAAgB;IAC/B,iBAAiB,EAAE,oBAAoB;IACvC,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,gBAAgB;IAC/B,UAAU,EAAE,aAAa;IACzB,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEF,MAAM,UAAU,gBAAgB;IAC9B,OAAO,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/cli",
3
- "version": "1.2.0",
3
+ "version": "1.4.0",
4
4
  "description": "galaxy-tool-cache CLI — cache and inspect Galaxy tool metadata",
5
5
  "type": "module",
6
6
  "bin": {
@@ -111,6 +111,31 @@
111
111
  }
112
112
  ]
113
113
  },
114
+ {
115
+ "name": "summarize",
116
+ "description": "Emit a deterministic summary manifest for a cached Galaxy tool",
117
+ "handler": "summarize",
118
+ "args": [
119
+ {
120
+ "raw": "<tool_id>",
121
+ "description": "Tool ID"
122
+ }
123
+ ],
124
+ "options": [
125
+ {
126
+ "flags": "--version <ver>",
127
+ "description": "Tool version"
128
+ },
129
+ {
130
+ "flags": "--output <file>",
131
+ "description": "Output file (default: stdout)"
132
+ },
133
+ {
134
+ "flags": "--cache-dir <dir>",
135
+ "description": "Cache directory"
136
+ }
137
+ ]
138
+ },
114
139
  {
115
140
  "name": "populate-workflow",
116
141
  "description": "Scan a workflow and cache all referenced tools",
@@ -131,22 +156,6 @@
131
156
  "description": "Galaxy instance URL for fallback"
132
157
  }
133
158
  ]
134
- },
135
- {
136
- "name": "structural-schema",
137
- "description": "Export the structural JSON Schema for Galaxy workflows",
138
- "handler": "structuralSchema",
139
- "options": [
140
- {
141
- "flags": "--format <fmt>",
142
- "description": "Workflow format: format2 (default) or native",
143
- "default": "format2"
144
- },
145
- {
146
- "flags": "--output <file>",
147
- "description": "Output file (default: stdout)"
148
- }
149
- ]
150
159
  }
151
160
  ]
152
161
  }
package/spec/gxwf.json CHANGED
@@ -688,6 +688,22 @@
688
688
  "description": "Emit machine-readable JSON envelope"
689
689
  }
690
690
  ]
691
+ },
692
+ {
693
+ "name": "structural-schema",
694
+ "description": "Export the structural JSON Schema for Galaxy workflows",
695
+ "handler": "structuralSchema",
696
+ "options": [
697
+ {
698
+ "flags": "--format <fmt>",
699
+ "description": "Workflow format: format2 (default) or native",
700
+ "default": "format2"
701
+ },
702
+ {
703
+ "flags": "--output <file>",
704
+ "description": "Output file (default: stdout)"
705
+ }
706
+ ]
691
707
  }
692
708
  ]
693
709
  }