@galaxy-tool-util/cli 1.3.0 → 1.5.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.
Files changed (48) hide show
  1. package/dist/commands/_draft-extract.d.ts +7 -0
  2. package/dist/commands/_draft-extract.d.ts.map +1 -0
  3. package/dist/commands/_draft-extract.js +75 -0
  4. package/dist/commands/_draft-extract.js.map +1 -0
  5. package/dist/commands/draft-next-step.d.ts +6 -0
  6. package/dist/commands/draft-next-step.d.ts.map +1 -0
  7. package/dist/commands/draft-next-step.js +49 -0
  8. package/dist/commands/draft-next-step.js.map +1 -0
  9. package/dist/commands/draft-validate.d.ts +8 -0
  10. package/dist/commands/draft-validate.d.ts.map +1 -0
  11. package/dist/commands/draft-validate.js +75 -0
  12. package/dist/commands/draft-validate.js.map +1 -0
  13. package/dist/commands/report-output.d.ts +27 -1
  14. package/dist/commands/report-output.d.ts.map +1 -1
  15. package/dist/commands/report-output.js +32 -0
  16. package/dist/commands/report-output.js.map +1 -1
  17. package/dist/commands/structural-schema.js +1 -1
  18. package/dist/commands/validate-tool-source-tree.d.ts +28 -0
  19. package/dist/commands/validate-tool-source-tree.d.ts.map +1 -0
  20. package/dist/commands/validate-tool-source-tree.js +113 -0
  21. package/dist/commands/validate-tool-source-tree.js.map +1 -0
  22. package/dist/commands/validate-tool-source.d.ts +20 -0
  23. package/dist/commands/validate-tool-source.d.ts.map +1 -0
  24. package/dist/commands/validate-tool-source.js +52 -0
  25. package/dist/commands/validate-tool-source.js.map +1 -0
  26. package/dist/commands/validate-workflow.d.ts.map +1 -1
  27. package/dist/commands/validate-workflow.js +7 -1
  28. package/dist/commands/validate-workflow.js.map +1 -1
  29. package/dist/index.d.ts +6 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/meta/spec-types.d.ts +2 -0
  34. package/dist/meta/spec-types.d.ts.map +1 -1
  35. package/dist/programs/galaxy-tool-cache.d.ts.map +1 -1
  36. package/dist/programs/galaxy-tool-cache.js +0 -2
  37. package/dist/programs/galaxy-tool-cache.js.map +1 -1
  38. package/dist/programs/gxwf.d.ts.map +1 -1
  39. package/dist/programs/gxwf.js +12 -0
  40. package/dist/programs/gxwf.js.map +1 -1
  41. package/dist/spec/build-program.js +1 -1
  42. package/dist/spec/build-program.js.map +1 -1
  43. package/dist/workflow/_templates-bundled.d.ts.map +1 -1
  44. package/dist/workflow/_templates-bundled.js +52 -0
  45. package/dist/workflow/_templates-bundled.js.map +1 -1
  46. package/package.json +5 -5
  47. package/spec/galaxy-tool-cache.json +0 -16
  48. package/spec/gxwf.json +135 -0
@@ -0,0 +1,7 @@
1
+ export interface DraftExtractOptions {
2
+ output?: string;
3
+ reportJson?: string | boolean;
4
+ format?: string;
5
+ }
6
+ export declare function runDraftExtract(filePath: string, opts: DraftExtractOptions): Promise<void>;
7
+ //# sourceMappingURL=_draft-extract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_draft-extract.d.ts","sourceRoot":"","sources":["../../src/commands/_draft-extract.ts"],"names":[],"mappings":"AA0BA,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDhG"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * `gxwf _draft-extract` — extract the concrete subset of a draft workflow.
3
+ *
4
+ * Hidden agent-loop command: runs `extractConcreteSubset` from
5
+ * @galaxy-tool-util/schema, strips `_plan_*` planning fields, and promotes
6
+ * `class: GalaxyWorkflowDraft` → `class: GalaxyWorkflow` on any
7
+ * (sub)workflow that is now fully concrete. Emits the trimmed workflow to
8
+ * stdout (or `-o` file) and an optional sidecar JSON report.
9
+ *
10
+ * Exit codes:
11
+ * 0 — input parses + extract ran (including empty-extract case)
12
+ * 2 — parse/read failure, native input rejected, or stdout-sink collision
13
+ * (workflow → stdout AND --report-json → stdout simultaneously)
14
+ */
15
+ import { writeFile } from "node:fs/promises";
16
+ import { buildSingleDraftExtractReport, extractConcreteSubset, promoteFullyConcreteDrafts, resolveFormat, serializeWorkflow, stripPlanFields, } from "@galaxy-tool-util/schema";
17
+ import { readWorkflowFile, writeWorkflowOutput } from "./workflow-io.js";
18
+ import { findStdoutSinkCollision, targetsStdout } from "./report-output.js";
19
+ export async function runDraftExtract(filePath, opts) {
20
+ const collision = findStdoutSinkCollision([
21
+ { flag: "<workflow output>", toStdout: !opts.output },
22
+ { flag: "--report-json", toStdout: targetsStdout(opts.reportJson) },
23
+ ]);
24
+ if (collision) {
25
+ console.error(collision);
26
+ process.exitCode = 2;
27
+ return;
28
+ }
29
+ const data = await readWorkflowFile(filePath);
30
+ if (!data) {
31
+ process.exitCode = 2;
32
+ return;
33
+ }
34
+ const format = resolveFormat(data, opts.format);
35
+ if (format === "native") {
36
+ console.error("_draft-extract requires format2 — native workflows cannot be drafts");
37
+ process.exitCode = 2;
38
+ return;
39
+ }
40
+ const extract = extractConcreteSubset(data);
41
+ stripPlanFields(extract.workflow);
42
+ const promote = promoteFullyConcreteDrafts(extract.workflow);
43
+ const trimmed = extract.workflow != null && typeof extract.workflow === "object"
44
+ ? extract.workflow
45
+ : {};
46
+ const classAfter = trimmed.class === "GalaxyWorkflow" ? "GalaxyWorkflow" : "GalaxyWorkflowDraft";
47
+ const outputFormat = outputFormatFor(opts.output, format);
48
+ const serialized = serializeWorkflow(trimmed, outputFormat);
49
+ await writeWorkflowOutput(serialized, opts.output, "Extracted workflow");
50
+ if (opts.reportJson !== undefined) {
51
+ const report = buildSingleDraftExtractReport(filePath, opts.output ?? null, extract, promote, classAfter);
52
+ const json = JSON.stringify(report, null, 2);
53
+ const dest = opts.reportJson;
54
+ if (dest === true || dest === "-") {
55
+ console.log(json);
56
+ }
57
+ else {
58
+ await writeFile(dest, json + "\n", "utf-8");
59
+ }
60
+ }
61
+ process.exitCode = 0;
62
+ }
63
+ /**
64
+ * Resolve the workflow serialization format from -o's extension, falling
65
+ * back to the detected input format. `.ga` / `.json` → native (JSON);
66
+ * `.gxwf.yml` / other → format2 (YAML).
67
+ */
68
+ function outputFormatFor(output, fallback) {
69
+ if (!output)
70
+ return fallback;
71
+ if (output.endsWith(".ga") || output.endsWith(".json"))
72
+ return "native";
73
+ return "format2";
74
+ }
75
+ //# sourceMappingURL=_draft-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_draft-extract.js","sourceRoot":"","sources":["../../src/commands/_draft-extract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export interface DraftNextStepOptions {
2
+ format?: string;
3
+ outputFormat?: "json" | "markdown" | string;
4
+ }
5
+ export declare function runDraftNextStep(filePath: string, opts: DraftNextStepOptions): Promise<void>;
6
+ //# sourceMappingURL=draft-next-step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-next-step.d.ts","sourceRoot":"","sources":["../../src/commands/draft-next-step.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;CAC7C;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CA4Bf"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * `gxwf draft-next-step` — pick the next step a downstream agent should
3
+ * work on. Wraps `nextDraftStep` from @galaxy-tool-util/schema.
4
+ *
5
+ * Default output is JSON (the agent-loop wire format); `--output-format
6
+ * markdown` renders a human-glance checklist. Pure pass-through — same
7
+ * input → byte-identical output.
8
+ *
9
+ * Exit codes:
10
+ * 0 — input parses + is a (possibly non-draft) workflow document
11
+ * 2 — parse/read failure or format mismatch (native rejected)
12
+ */
13
+ import { nextDraftStep, resolveFormat } from "@galaxy-tool-util/schema";
14
+ import { readWorkflowFile } from "./workflow-io.js";
15
+ export async function runDraftNextStep(filePath, opts) {
16
+ const data = await readWorkflowFile(filePath);
17
+ if (!data) {
18
+ process.exitCode = 2;
19
+ return;
20
+ }
21
+ const format = resolveFormat(data, opts.format);
22
+ if (format === "native") {
23
+ console.error("draft-next-step requires format2 — native workflows cannot be drafts");
24
+ process.exitCode = 2;
25
+ return;
26
+ }
27
+ const result = nextDraftStep(data);
28
+ const outputFormat = opts.outputFormat ?? "json";
29
+ if (outputFormat === "markdown") {
30
+ process.stdout.write(renderMarkdown(result));
31
+ }
32
+ else if (outputFormat === "json") {
33
+ console.log(JSON.stringify(result, null, 2));
34
+ }
35
+ else {
36
+ console.error(`unknown --output-format: ${outputFormat} (expected json or markdown)`);
37
+ process.exitCode = 2;
38
+ return;
39
+ }
40
+ process.exitCode = 0;
41
+ }
42
+ function renderMarkdown(result) {
43
+ if (!result.draft)
44
+ return "_No remaining draft work._\n";
45
+ const heading = `## Next step: \`${result.step.join(" / ")}\`\n\n`;
46
+ const items = result.work.map((w) => `- [ ] ${w}`).join("\n");
47
+ return heading + items + "\n";
48
+ }
49
+ //# sourceMappingURL=draft-next-step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-next-step.js","sourceRoot":"","sources":["../../src/commands/draft-next-step.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAuB,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,IAA0B;IAE1B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,sEAAsE,CAAC,CAAC;QACtF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;IAEjD,IAAI,YAAY,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,8BAA8B,CAAC,CAAC;QACtF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,cAAc,CAAC,MAAsB;IAC5C,IAAI,CAAC,MAAM,CAAC,KAAK;QAAE,OAAO,8BAA8B,CAAC;IACzD,MAAM,OAAO,GAAG,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9D,OAAO,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC;AAChC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface DraftValidateOptions {
2
+ format?: string;
3
+ json?: boolean;
4
+ reportHtml?: string | boolean;
5
+ reportMarkdown?: string | boolean;
6
+ }
7
+ export declare function runDraftValidate(filePath: string, opts: DraftValidateOptions): Promise<void>;
8
+ //# sourceMappingURL=draft-validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-validate.d.ts","sourceRoot":"","sources":["../../src/commands/draft-validate.ts"],"names":[],"mappings":"AAwBA,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * `gxwf draft-validate` — validate a draft Galaxy workflow
3
+ * (class: GalaxyWorkflowDraft).
4
+ *
5
+ * Wraps `validateDraft` from @galaxy-tool-util/schema. Single-file only; the
6
+ * tree variant is deferred to workstream v2.
7
+ *
8
+ * Exit codes (per workstream C):
9
+ * 0 — clean draft (no structure/topology/semantic errors; warnings allowed)
10
+ * 1 — draft validation errors (topology or semantic errors)
11
+ * 2 — parse failure, format mismatch, or structural decode failure
12
+ * (class !== GalaxyWorkflowDraft, schema decode error)
13
+ */
14
+ import { buildSingleDraftValidationReport, resolveFormat, validateDraft, } from "@galaxy-tool-util/schema";
15
+ import { readWorkflowFile } from "./workflow-io.js";
16
+ import { findStdoutSinkConflict, writeReportHtml, writeReportOutput } from "./report-output.js";
17
+ export async function runDraftValidate(filePath, opts) {
18
+ const conflict = findStdoutSinkConflict(opts);
19
+ if (conflict) {
20
+ console.error(conflict);
21
+ process.exitCode = 2;
22
+ return;
23
+ }
24
+ const data = await readWorkflowFile(filePath);
25
+ if (!data) {
26
+ process.exitCode = 2;
27
+ return;
28
+ }
29
+ const format = resolveFormat(data, opts.format);
30
+ if (format === "native") {
31
+ console.error("draft-validate requires format2 — native workflows cannot be drafts");
32
+ process.exitCode = 2;
33
+ return;
34
+ }
35
+ const result = validateDraft(data);
36
+ const report = buildSingleDraftValidationReport(filePath, result);
37
+ if (opts.json) {
38
+ console.log(JSON.stringify(report, null, 2));
39
+ }
40
+ else {
41
+ printTextReport(report, result);
42
+ }
43
+ await writeReportOutput("draft_validate.md.j2", report, opts);
44
+ await writeReportHtml("draft-validate", report, opts.reportHtml);
45
+ process.exitCode = exitCodeFor(result);
46
+ }
47
+ function exitCodeFor(result) {
48
+ if (result.structureErrors.length > 0)
49
+ return 2;
50
+ if (result.topologyErrors.length > 0 || result.semanticErrors.length > 0)
51
+ return 1;
52
+ return 0;
53
+ }
54
+ function printTextReport(report, result) {
55
+ console.log(`Draft validation: ${report.workflow}`);
56
+ console.log(` ${report.summary}`);
57
+ printBucket("Structure errors", result.structureErrors);
58
+ printBucket("Topology errors", result.topologyErrors);
59
+ printBucket("Semantic errors", result.semanticErrors);
60
+ printBucket("Warnings", result.warnings);
61
+ const survey = report.survey;
62
+ console.log(` Survey: ${survey.todo_count} TODO sentinel${survey.todo_count === 1 ? "" : "s"}` +
63
+ ` across ${survey.todo_paths.length} step path${survey.todo_paths.length === 1 ? "" : "s"};` +
64
+ ` ${survey.plan_step_paths.length} step${survey.plan_step_paths.length === 1 ? "" : "s"} with _plan_* fields`);
65
+ }
66
+ function printBucket(label, diagnostics) {
67
+ if (diagnostics.length === 0)
68
+ return;
69
+ console.log(` ${label} (${diagnostics.length}):`);
70
+ for (const d of diagnostics) {
71
+ const where = d.path.length === 0 ? "<workflow>" : d.path.join("/");
72
+ console.log(` ${where}: ${d.message}`);
73
+ }
74
+ }
75
+ //# sourceMappingURL=draft-validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-validate.js","sourceRoot":"","sources":["../../src/commands/draft-validate.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type ReportType = "validate" | "lint" | "clean" | "validate-tree" | "lint-tree" | "clean-tree" | "roundtrip-tree";
1
+ export type ReportType = "validate" | "lint" | "clean" | "draft-validate" | "validate-tree" | "lint-tree" | "clean-tree" | "roundtrip-tree";
2
2
  export interface ReportOutputOptions {
3
3
  /**
4
4
  * Path to write Markdown report to. Commander sets this to `true` (boolean)
@@ -9,6 +9,32 @@ export interface ReportOutputOptions {
9
9
  /** Same semantics as reportMarkdown but for HTML output. */
10
10
  reportHtml?: string | boolean;
11
11
  }
12
+ /** True if dest is unset to a filename and would write to stdout. */
13
+ declare function targetsStdout(dest: string | boolean | undefined): boolean;
14
+ /**
15
+ * If more than one sink in `candidates` would write to stdout, return an
16
+ * error message naming the conflicting flags. Otherwise null.
17
+ *
18
+ * Generalizes `findStdoutSinkConflict` for commands whose stdout sinks
19
+ * aren't drawn from the standard `--json` / `--report-{html,markdown}`
20
+ * set (e.g. `draft-extract` writes the trimmed workflow to stdout by
21
+ * default + `--report-json` may also target stdout).
22
+ */
23
+ export declare function findStdoutSinkCollision(candidates: Array<{
24
+ flag: string;
25
+ toStdout: boolean;
26
+ }>): string | null;
27
+ /**
28
+ * If more than one report sink (JSON + rendered reports) would write to
29
+ * stdout, return an error message describing the conflict. Otherwise null.
30
+ */
31
+ export declare function findStdoutSinkConflict(opts: {
32
+ json?: boolean;
33
+ reportHtml?: string | boolean;
34
+ reportMarkdown?: string | boolean;
35
+ }): string | null;
36
+ /** Re-export for command handlers that need their own collision-detection sites. */
37
+ export { targetsStdout };
12
38
  /**
13
39
  * Render and write report output if --report-markdown / --report-html flags
14
40
  * were passed. Both can be specified simultaneously.
@@ -1 +1 @@
1
- {"version":3,"file":"report-output.d.ts","sourceRoot":"","sources":["../../src/commands/report-output.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,MAAM,GACN,OAAO,GACP,eAAe,GACf,WAAW,GACX,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,SAAgB,GAAG,MAAM,CAgB9F;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAClC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"report-output.d.ts","sourceRoot":"","sources":["../../src/commands/report-output.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,WAAW,GACX,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,qEAAqE;AACrE,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAElE;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,GACrD,MAAM,GAAG,IAAI,CAIf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC,GAAG,MAAM,GAAG,IAAI,CAMhB;AAED,oFAAoF;AACpF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,SAAgB,GAAG,MAAM,CAgB9F;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAClC,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -7,6 +7,38 @@ import { renderReport } from "../workflow/report-templates.js";
7
7
  // Bump when a new shell version with user-visible changes is released to npm.
8
8
  const SHELL_CDN_VERSION = "0.1.0";
9
9
  const SHELL_CDN_BASE = `https://cdn.jsdelivr.net/npm/@galaxy-tool-util/gxwf-report-shell@${SHELL_CDN_VERSION}/dist`;
10
+ /** True if dest is unset to a filename and would write to stdout. */
11
+ function targetsStdout(dest) {
12
+ return dest === true || dest === "-";
13
+ }
14
+ /**
15
+ * If more than one sink in `candidates` would write to stdout, return an
16
+ * error message naming the conflicting flags. Otherwise null.
17
+ *
18
+ * Generalizes `findStdoutSinkConflict` for commands whose stdout sinks
19
+ * aren't drawn from the standard `--json` / `--report-{html,markdown}`
20
+ * set (e.g. `draft-extract` writes the trimmed workflow to stdout by
21
+ * default + `--report-json` may also target stdout).
22
+ */
23
+ export function findStdoutSinkCollision(candidates) {
24
+ const sinks = candidates.filter((c) => c.toStdout).map((c) => c.flag);
25
+ if (sinks.length < 2)
26
+ return null;
27
+ return `cannot write ${sinks.join(" + ")} to stdout simultaneously — pick one, or redirect a report to a file`;
28
+ }
29
+ /**
30
+ * If more than one report sink (JSON + rendered reports) would write to
31
+ * stdout, return an error message describing the conflict. Otherwise null.
32
+ */
33
+ export function findStdoutSinkConflict(opts) {
34
+ return findStdoutSinkCollision([
35
+ { flag: "--json", toStdout: !!opts.json },
36
+ { flag: "--report-html", toStdout: targetsStdout(opts.reportHtml) },
37
+ { flag: "--report-markdown", toStdout: targetsStdout(opts.reportMarkdown) },
38
+ ]);
39
+ }
40
+ /** Re-export for command handlers that need their own collision-detection sites. */
41
+ export { targetsStdout };
10
42
  /**
11
43
  * Render and write report output if --report-markdown / --report-html flags
12
44
  * were passed. Both can be specified simultaneously.
@@ -1 +1 @@
1
- {"version":3,"file":"report-output.js","sourceRoot":"","sources":["../../src/commands/report-output.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,yDAAyD;AACzD,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,cAAc,GAAG,oEAAoE,iBAAiB,OAAO,CAAC;AAsBpH;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,MAAe,EACf,IAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,6EAA6E;IAC7E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,IAAa,EAAE,KAAK,GAAG,aAAa;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO;;;;;WAKE,KAAK;iCACiB,cAAc;;;;qCAIV,OAAO;iBAC3B,cAAc;;QAEvB,CAAC;AACT,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAgB,EAChB,IAAa,EACb,IAAkC,EAClC,KAAc;IAEd,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,IAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"report-output.js","sourceRoot":"","sources":["../../src/commands/report-output.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,yDAAyD;AACzD,8EAA8E;AAC9E,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,cAAc,GAAG,oEAAoE,iBAAiB,OAAO,CAAC;AAuBpH,qEAAqE;AACrE,SAAS,aAAa,CAAC,IAAkC;IACvD,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,CAAC;AACvC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,uBAAuB,CACrC,UAAsD;IAEtD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,OAAO,gBAAgB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sEAAsE,CAAC;AACjH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAItC;IACC,OAAO,uBAAuB,CAAC;QAC7B,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;QACzC,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;QACnE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;KAC5E,CAAC,CAAC;AACL,CAAC;AAED,oFAAoF;AACpF,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,YAAoB,EACpB,MAAe,EACf,IAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACzD,6EAA6E;IAC7E,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAgB,EAAE,IAAa,EAAE,KAAK,GAAG,aAAa;IACpF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,OAAO;;;;;WAKE,KAAK;iCACiB,cAAc;;;;qCAIV,OAAO;iBAC3B,cAAc;;QAEvB,CAAC;AACT,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,IAAgB,EAChB,IAAa,EACb,IAAkC,EAClC,KAAc;IAEd,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACnD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CAAC,IAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -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,28 @@
1
+ /**
2
+ * ``gxwf validate-tool-source-tree`` — batch-validate every user-defined tool
3
+ * source YAML under a directory. Discovery parses each candidate YAML and
4
+ * checks for ``class: GalaxyUserTool`` / ``class: GalaxyTool`` rather than
5
+ * relying on a filename suffix (UDTs don't have an established convention).
6
+ */
7
+ import { type UserToolSourceDiagnostic } from "@galaxy-tool-util/schema";
8
+ export interface ValidateToolSourceTreeOptions {
9
+ json?: boolean;
10
+ schemaOnly?: boolean;
11
+ }
12
+ export interface ToolSourceTreeFileReport {
13
+ path: string;
14
+ valid: boolean;
15
+ errors: UserToolSourceDiagnostic[];
16
+ }
17
+ export interface ValidateToolSourceTreeReport {
18
+ root: string;
19
+ files: ToolSourceTreeFileReport[];
20
+ summary: {
21
+ total: number;
22
+ ok: number;
23
+ fail: number;
24
+ error: number;
25
+ };
26
+ }
27
+ export declare function runValidateToolSourceTree(dir: string, opts?: ValidateToolSourceTreeOptions): Promise<void>;
28
+ //# sourceMappingURL=validate-tool-source-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tool-source-tree.d.ts","sourceRoot":"","sources":["../../src/commands/validate-tool-source-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAA0B,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,MAAM,WAAW,6BAA6B;IAC5C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,wBAAwB,EAAE,CAAC;IAClC,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAqED,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,6BAAkC,GACvC,OAAO,CAAC,IAAI,CAAC,CAyCf"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * ``gxwf validate-tool-source-tree`` — batch-validate every user-defined tool
3
+ * source YAML under a directory. Discovery parses each candidate YAML and
4
+ * checks for ``class: GalaxyUserTool`` / ``class: GalaxyTool`` rather than
5
+ * relying on a filename suffix (UDTs don't have an established convention).
6
+ */
7
+ import { readdir, readFile } from "node:fs/promises";
8
+ import { join, relative } from "node:path";
9
+ import { parse as parseYaml } from "yaml";
10
+ import { validateUserToolSource } from "@galaxy-tool-util/schema";
11
+ const EXCLUDE_DIRS = new Set([".git", ".hg", ".venv", "node_modules", "__pycache__", ".snakemake"]);
12
+ const YAML_EXTS = [".yml", ".yaml"];
13
+ const TOOL_CLASSES = new Set(["GalaxyUserTool", "GalaxyTool"]);
14
+ function isYamlFile(name) {
15
+ return YAML_EXTS.some((e) => name.endsWith(e));
16
+ }
17
+ async function discoverYamlFiles(root) {
18
+ const out = [];
19
+ await walk(root, out);
20
+ out.sort();
21
+ return out;
22
+ }
23
+ async function walk(dir, out) {
24
+ let entries;
25
+ try {
26
+ entries = await readdir(dir, { withFileTypes: true });
27
+ }
28
+ catch {
29
+ return;
30
+ }
31
+ for (const entry of entries) {
32
+ if (entry.isDirectory()) {
33
+ if (!EXCLUDE_DIRS.has(entry.name)) {
34
+ await walk(join(dir, entry.name), out);
35
+ }
36
+ continue;
37
+ }
38
+ if (entry.isFile() && isYamlFile(entry.name)) {
39
+ out.push(join(dir, entry.name));
40
+ }
41
+ }
42
+ }
43
+ async function validateOne(path, root, schemaOnly) {
44
+ const rel = relative(root, path);
45
+ let parsed;
46
+ try {
47
+ const raw = await readFile(path, "utf-8");
48
+ parsed = parseYaml(raw);
49
+ }
50
+ catch (err) {
51
+ const msg = err instanceof Error ? err.message : String(err);
52
+ return {
53
+ path: rel,
54
+ valid: false,
55
+ loadError: true,
56
+ errors: [
57
+ { path: "(root)", message: `YAML parse error: ${msg}`, keyword: "yaml", params: {} },
58
+ ],
59
+ };
60
+ }
61
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
62
+ return undefined;
63
+ }
64
+ const cls = parsed["class"];
65
+ if (typeof cls !== "string" || !TOOL_CLASSES.has(cls)) {
66
+ return undefined;
67
+ }
68
+ const { valid, errors } = validateUserToolSource(parsed, { schemaOnly });
69
+ return { path: rel, valid, errors };
70
+ }
71
+ export async function runValidateToolSourceTree(dir, opts = {}) {
72
+ const paths = await discoverYamlFiles(dir);
73
+ const files = [];
74
+ for (const p of paths) {
75
+ const result = await validateOne(p, dir, opts.schemaOnly === true);
76
+ if (result)
77
+ files.push(result);
78
+ }
79
+ const summary = {
80
+ total: files.length,
81
+ ok: files.filter((f) => f.valid).length,
82
+ fail: files.filter((f) => !f.valid && !f.loadError).length,
83
+ error: files.filter((f) => f.loadError).length,
84
+ };
85
+ const report = {
86
+ root: dir,
87
+ files: files.map(({ path, valid, errors }) => ({ path, valid, errors })),
88
+ summary,
89
+ };
90
+ if (opts.json) {
91
+ console.log(JSON.stringify(report, null, 2));
92
+ }
93
+ else {
94
+ for (const f of files) {
95
+ if (f.loadError) {
96
+ console.error(` ${f.path}: ERROR (${f.errors[0]?.message ?? "load failed"})`);
97
+ }
98
+ else if (f.valid) {
99
+ console.log(` ${f.path}: OK`);
100
+ }
101
+ else {
102
+ console.error(` ${f.path}: ${f.errors.length} validation error(s)`);
103
+ for (const e of f.errors) {
104
+ console.error(` ${e.path}: ${e.message} [${e.keyword}]`);
105
+ }
106
+ }
107
+ }
108
+ const s = summary;
109
+ console.log(`\nSummary: ${s.total} files | ${s.ok} OK, ${s.fail} FAIL, ${s.error} ERROR`);
110
+ }
111
+ process.exitCode = summary.fail > 0 || summary.error > 0 ? 1 : 0;
112
+ }
113
+ //# sourceMappingURL=validate-tool-source-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tool-source-tree.js","sourceRoot":"","sources":["../../src/commands/validate-tool-source-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAC;AAmBjG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AACpG,MAAM,SAAS,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;AAE/D,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAY;IAC3C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACtB,GAAG,CAAC,IAAI,EAAE,CAAC;IACX,OAAO,GAAG,CAAC;AACb,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,GAAW,EAAE,GAAa;IAC5C,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,IAAY,EACZ,IAAY,EACZ,UAAmB;IAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO;YACL,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,IAAI;YACf,MAAM,EAAE;gBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;aACrF;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAI,MAAkC,CAAC,OAAO,CAAC,CAAC;IACzD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACzE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,GAAW,EACX,OAAsC,EAAE;IAExC,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,KAAK,GAA2D,EAAE,CAAC;IACzE,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG;QACd,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM;QACvC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;QAC1D,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM;KAC/C,CAAC;IAEF,MAAM,MAAM,GAAiC;QAC3C,IAAI,EAAE,GAAG;QACT,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO;KACR,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,aAAa,GAAG,CAAC,CAAC;YACjF,CAAC;iBAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,sBAAsB,CAAC,CAAC;gBACrE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QACD,MAAM,CAAC,GAAG,OAAO,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,KAAK,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * ``gxwf validate-tool-source`` — validate a user-defined Galaxy tool source
3
+ * YAML file (``class: GalaxyUserTool`` / ``class: GalaxyTool``) against the
4
+ * JSON Schema synced from Galaxy's ``galaxy.tool_util_models.DynamicToolSources``
5
+ * Pydantic models, plus the semantic checks added in
6
+ * galaxyproject/galaxy#22615 (input refs, output discovery, citation shape,
7
+ * blank required fields).
8
+ */
9
+ import { type UserToolSourceDiagnostic } from "@galaxy-tool-util/schema";
10
+ export interface ValidateToolSourceOptions {
11
+ json?: boolean;
12
+ schemaOnly?: boolean;
13
+ }
14
+ export interface ValidateToolSourceReport {
15
+ file: string;
16
+ valid: boolean;
17
+ errors: UserToolSourceDiagnostic[];
18
+ }
19
+ export declare function runValidateToolSource(filePath: string, opts?: ValidateToolSourceOptions): Promise<void>;
20
+ //# sourceMappingURL=validate-tool-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tool-source.d.ts","sourceRoot":"","sources":["../../src/commands/validate-tool-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAA0B,KAAK,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEjG,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,wBAAwB,EAAE,CAAC;CACpC;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,yBAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAsCf"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ``gxwf validate-tool-source`` — validate a user-defined Galaxy tool source
3
+ * YAML file (``class: GalaxyUserTool`` / ``class: GalaxyTool``) against the
4
+ * JSON Schema synced from Galaxy's ``galaxy.tool_util_models.DynamicToolSources``
5
+ * Pydantic models, plus the semantic checks added in
6
+ * galaxyproject/galaxy#22615 (input refs, output discovery, citation shape,
7
+ * blank required fields).
8
+ */
9
+ import { readFile } from "node:fs/promises";
10
+ import { parse as parseYaml } from "yaml";
11
+ import { validateUserToolSource } from "@galaxy-tool-util/schema";
12
+ export async function runValidateToolSource(filePath, opts = {}) {
13
+ const raw = await readFile(filePath, "utf-8");
14
+ let parsed;
15
+ try {
16
+ parsed = parseYaml(raw);
17
+ }
18
+ catch (err) {
19
+ const msg = err instanceof Error ? err.message : String(err);
20
+ if (opts.json) {
21
+ const report = {
22
+ file: filePath,
23
+ valid: false,
24
+ errors: [
25
+ { path: "(root)", message: `YAML parse error: ${msg}`, keyword: "yaml", params: {} },
26
+ ],
27
+ };
28
+ console.log(JSON.stringify(report, null, 2));
29
+ }
30
+ else {
31
+ console.error(`${filePath}: YAML parse error: ${msg}`);
32
+ }
33
+ process.exitCode = 2;
34
+ return;
35
+ }
36
+ const { valid, errors } = validateUserToolSource(parsed, { schemaOnly: opts.schemaOnly });
37
+ if (opts.json) {
38
+ const report = { file: filePath, valid, errors };
39
+ console.log(JSON.stringify(report, null, 2));
40
+ }
41
+ else if (valid) {
42
+ console.log(`${filePath}: OK`);
43
+ }
44
+ else {
45
+ console.error(`${filePath}: ${errors.length} validation error(s)`);
46
+ for (const e of errors) {
47
+ console.error(` ${e.path}: ${e.message} [${e.keyword}]`);
48
+ }
49
+ }
50
+ process.exitCode = valid ? 0 : 1;
51
+ }
52
+ //# sourceMappingURL=validate-tool-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-tool-source.js","sourceRoot":"","sources":["../../src/commands/validate-tool-source.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAiC,MAAM,0BAA0B,CAAC;AAajG,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAgB,EAChB,OAAkC,EAAE;IAEpC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,MAAM,GAA6B;gBACvC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;iBACrF;aACF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,uBAAuB,GAAG,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,sBAAsB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAE1F,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,MAAM,GAA6B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC3E,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,KAAK,MAAM,CAAC,MAAM,sBAAsB,CAAC,CAAC;QACnE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAmBL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK/E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEtD,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAaV;AAED,YAAY,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,KAAK,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CA4If;AAwBD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AA4GD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAmJD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,EACtB,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
1
+ {"version":3,"file":"validate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAmBL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAK/E,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,aAAa,CAAC;AAEtD,MAAM,WAAW,uBAAwB,SAAQ,aAAa;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAOD,2FAA2F;AAC3F,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAaV;AAED,YAAY,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAG7F,OAAO,KAAK,EAAE,oBAAoB,IAAI,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE7F,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,uBAAuB,GAC5B,OAAO,CAAC,IAAI,CAAC,CAmJf;AAwBD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AA4GD,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAmJD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,cAAc,EACtB,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,MAAM,EAAE,CAAC,CAOnB"}
@@ -8,7 +8,7 @@ import { createDefaultResolver } from "./url-resolver.js";
8
8
  import { renderStepResults } from "./render-results.js";
9
9
  import { readWorkflowFile, resolveFormat } from "./workflow-io.js";
10
10
  import { resolveStrictOptions } from "./strict-options.js";
11
- import { writeReportHtml } from "./report-output.js";
11
+ import { findStdoutSinkConflict, writeReportHtml } from "./report-output.js";
12
12
  import { buildConnectionReport } from "./connection-validation.js";
13
13
  function formatIssues(error) {
14
14
  const issues = ParseResult.ArrayFormatter.formatErrorSync(error);
@@ -27,6 +27,12 @@ export function decodeStructureErrors(data, format) {
27
27
  return [];
28
28
  }
29
29
  export async function runValidateWorkflow(filePath, opts) {
30
+ const conflict = findStdoutSinkConflict(opts);
31
+ if (conflict) {
32
+ console.error(conflict);
33
+ process.exitCode = 2;
34
+ return;
35
+ }
30
36
  const data = await readWorkflowFile(filePath);
31
37
  if (!data)
32
38
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,6 +22,12 @@ export type { ValidateTestsOptions, ValidateTestsReport } from "./commands/valid
22
22
  /** Batch-validate workflow-test files under a directory. */
23
23
  export { runValidateTestsTree } from "./commands/validate-tests-tree.js";
24
24
  export type { ValidateTestsTreeOptions, ValidateTestsTreeReport, } from "./commands/validate-tests-tree.js";
25
+ /** Validate a user-defined Galaxy tool source YAML (class: GalaxyUserTool / GalaxyTool). */
26
+ export { runValidateToolSource } from "./commands/validate-tool-source.js";
27
+ export type { ValidateToolSourceOptions, ValidateToolSourceReport, } from "./commands/validate-tool-source.js";
28
+ /** Batch-validate user-defined Galaxy tool source YAMLs under a directory. */
29
+ export { runValidateToolSourceTree } from "./commands/validate-tool-source-tree.js";
30
+ export type { ValidateToolSourceTreeOptions, ValidateToolSourceTreeReport, } from "./commands/validate-tool-source-tree.js";
25
31
  /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
26
32
  export { runClean } from "./commands/clean.js";
27
33
  /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjG,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,gEAAgE;AAChE,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,YAAY,EACV,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,oCAAoC,CAAC;AAC5C,8EAA8E;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AACpF,YAAY,EACV,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,yCAAyC,CAAC;AACjD,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjG,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,gEAAgE;AAChE,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,oCAAoC,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
package/dist/index.js CHANGED
@@ -20,6 +20,10 @@ export { runValidateWorkflow } from "./commands/validate-workflow.js";
20
20
  export { runValidateTests } from "./commands/validate-tests.js";
21
21
  /** Batch-validate workflow-test files under a directory. */
22
22
  export { runValidateTestsTree } from "./commands/validate-tests-tree.js";
23
+ /** Validate a user-defined Galaxy tool source YAML (class: GalaxyUserTool / GalaxyTool). */
24
+ export { runValidateToolSource } from "./commands/validate-tool-source.js";
25
+ /** Batch-validate user-defined Galaxy tool source YAMLs under a directory. */
26
+ export { runValidateToolSourceTree } from "./commands/validate-tool-source-tree.js";
23
27
  /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
24
28
  export { runClean } from "./commands/clean.js";
25
29
  /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,gEAAgE;AAChE,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,oCAAoC,CAAC;AAE5C,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,4FAA4F;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAK3E,8EAA8E;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,yCAAyC,CAAC;AAKpF,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,gEAAgE;AAChE,OAAO,EACL,sBAAsB,EACtB,+BAA+B,EAC/B,uCAAuC,GACxC,MAAM,oCAAoC,CAAC;AAE5C,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
@@ -28,6 +28,8 @@ export interface SpecCommand {
28
28
  optionGroups?: string[];
29
29
  /** Key into the handler registry passed to `buildProgramFromSpec`. */
30
30
  handler: string;
31
+ /** When true, suppress this command from `--help` output. */
32
+ hidden?: boolean;
31
33
  }
32
34
  export interface ProgramSpec {
33
35
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"spec-types.d.ts","sourceRoot":"","sources":["../../src/meta/spec-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"spec-types.d.ts","sourceRoot":"","sources":["../../src/meta/spec-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IACzB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,OAAO;IACtB,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC5C,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"galaxy-tool-cache.d.ts","sourceRoot":"","sources":["../../src/programs/galaxy-tool-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,2BAA2B,IAAI,OAAO,CAErD"}
1
+ {"version":3,"file":"galaxy-tool-cache.d.ts","sourceRoot":"","sources":["../../src/programs/galaxy-tool-cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,2BAA2B,IAAI,OAAO,CAErD"}
@@ -5,7 +5,6 @@ import { runClear } from "../commands/clear.js";
5
5
  import { runPopulateWorkflow } from "../commands/populate-workflow.js";
6
6
  import { runSchema } from "../commands/schema.js";
7
7
  import { runSummarize } from "../commands/summarize.js";
8
- import { runStructuralSchema } from "../commands/structural-schema.js";
9
8
  import { buildProgramFromSpec } from "../spec/build-program.js";
10
9
  import { galaxyToolCacheSpec } from "../meta/specs.js";
11
10
  const handlers = {
@@ -16,7 +15,6 @@ const handlers = {
16
15
  schema: runSchema,
17
16
  summarize: runSummarize,
18
17
  populateWorkflow: runPopulateWorkflow,
19
- structuralSchema: runStructuralSchema,
20
18
  };
21
19
  export function buildGalaxyToolCacheProgram() {
22
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,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,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,SAAS,EAAE,YAAY;IACvB,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;AAmFzC,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C"}
@@ -1,5 +1,8 @@
1
1
  import { runClean } from "../commands/clean.js";
2
2
  import { runCleanTree } from "../commands/clean-tree.js";
3
+ import { runDraftExtract } from "../commands/_draft-extract.js";
4
+ import { runDraftNextStep } from "../commands/draft-next-step.js";
5
+ import { runDraftValidate } from "../commands/draft-validate.js";
3
6
  import { runConvert } from "../commands/convert.js";
4
7
  import { runConvertTree } from "../commands/convert-tree.js";
5
8
  import { runRoundtrip } from "../commands/roundtrip.js";
@@ -11,17 +14,23 @@ import { runLintTree } from "../commands/lint-tree.js";
11
14
  import { runValidateWorkflow } from "../commands/validate-workflow.js";
12
15
  import { runValidateTests } from "../commands/validate-tests.js";
13
16
  import { runValidateTestsTree } from "../commands/validate-tests-tree.js";
17
+ import { runValidateToolSource } from "../commands/validate-tool-source.js";
18
+ import { runValidateToolSourceTree } from "../commands/validate-tool-source-tree.js";
14
19
  import { runValidateTree } from "../commands/validate-tree.js";
15
20
  import { runToolSearch } from "../commands/tool-search.js";
16
21
  import { runToolVersions } from "../commands/tool-versions.js";
17
22
  import { runToolRevisions } from "../commands/tool-revisions.js";
18
23
  import { runRepoSearch } from "../commands/repo-search.js";
24
+ import { runStructuralSchema } from "../commands/structural-schema.js";
19
25
  import { buildProgramFromSpec } from "../spec/build-program.js";
20
26
  import { gxwfSpec } from "../meta/specs.js";
21
27
  const handlers = {
22
28
  validateWorkflow: runValidateWorkflow,
23
29
  validateTests: runValidateTests,
24
30
  clean: runClean,
31
+ draftExtract: runDraftExtract,
32
+ draftNextStep: runDraftNextStep,
33
+ draftValidate: runDraftValidate,
25
34
  lint: runLint,
26
35
  convert: runConvert,
27
36
  roundtrip: runRoundtrip,
@@ -45,10 +54,13 @@ const handlers = {
45
54
  convertTree: runConvertTree,
46
55
  roundtripTree: runRoundtripTree,
47
56
  validateTestsTree: runValidateTestsTree,
57
+ validateToolSource: runValidateToolSource,
58
+ validateToolSourceTree: runValidateToolSourceTree,
48
59
  toolSearch: runToolSearch,
49
60
  toolVersions: runToolVersions,
50
61
  toolRevisions: runToolRevisions,
51
62
  repoSearch: runRepoSearch,
63
+ structuralSchema: runStructuralSchema,
52
64
  };
53
65
  export function buildGxwfProgram() {
54
66
  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":"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"}
@@ -11,7 +11,7 @@ export function buildProgramFromSpec(spec, handlers) {
11
11
  program.name(spec.name).description(spec.description).version(spec.version);
12
12
  const groups = spec.optionGroups ?? {};
13
13
  for (const cmd of spec.commands) {
14
- program.addCommand(buildCommand(cmd, groups, handlers));
14
+ program.addCommand(buildCommand(cmd, groups, handlers), cmd.hidden ? { hidden: true } : {});
15
15
  }
16
16
  return program;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-program.js","sourceRoot":"","sources":["../../src/spec/build-program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-program.js","sourceRoot":"","sources":["../../src/spec/build-program.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"_templates-bundled.d.ts","sourceRoot":"","sources":["../../src/workflow/_templates-bundled.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiUpD,CAAC"}
1
+ {"version":3,"file":"_templates-bundled.d.ts","sourceRoot":"","sources":["../../src/workflow/_templates-bundled.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAqXpD,CAAC"}
@@ -142,6 +142,58 @@ All other workflows have no stale keys.
142
142
  | - | {{ step_label }} | error | - | {{ err }} |
143
143
  {% endfor %}
144
144
  {% endfor %}
145
+ {% endif %}
146
+ `,
147
+ "draft_validate.md.j2": `{#-
148
+ Single-file report for \`\`gxwf draft-validate\`\`.
149
+
150
+ Context:
151
+ report — SingleDraftValidationReport from buildSingleDraftValidationReport
152
+ meta — optional generated_at / tool_util_version (ignored here)
153
+ -#}
154
+ # Draft Workflow Validation Report
155
+
156
+ Workflow: \`{{ report.workflow }}\`
157
+ Status: {% if report.ok %}OK{% else %}FAIL{% endif %}
158
+ Summary: {{ report.summary }}
159
+
160
+ ## Survey
161
+
162
+ - Draft: {% if report.survey.is_draft %}yes{% else %}no{% endif %}
163
+ - TODO sentinels: {{ report.survey.todo_count }} across {{ report.survey.todo_paths | length }} step path(s)
164
+ - Steps with \`_plan_*\` fields: {{ report.survey.plan_step_paths | length }}
165
+
166
+ {% if report.structure_errors | length > 0 %}
167
+ ## Structure Errors ({{ report.structure_errors | length }})
168
+
169
+ {% for d in report.structure_errors %}
170
+ - \`\`{% if d.path | length == 0 %}<workflow>{% else %}{{ d.path | join("/") }}{% endif %}\`\` — {{ d.message }}
171
+ {% endfor %}
172
+
173
+ {% endif %}
174
+ {% if report.topology_errors | length > 0 %}
175
+ ## Topology Errors ({{ report.topology_errors | length }})
176
+
177
+ {% for d in report.topology_errors %}
178
+ - \`\`{% if d.path | length == 0 %}<workflow>{% else %}{{ d.path | join("/") }}{% endif %}\`\` — {{ d.message }}
179
+ {% endfor %}
180
+
181
+ {% endif %}
182
+ {% if report.semantic_errors | length > 0 %}
183
+ ## Semantic Errors ({{ report.semantic_errors | length }})
184
+
185
+ {% for d in report.semantic_errors %}
186
+ - \`\`{% if d.path | length == 0 %}<workflow>{% else %}{{ d.path | join("/") }}{% endif %}\`\` — {{ d.message }}
187
+ {% endfor %}
188
+
189
+ {% endif %}
190
+ {% if report.warnings | length > 0 %}
191
+ ## Warnings ({{ report.warnings | length }})
192
+
193
+ {% for d in report.warnings %}
194
+ - \`\`{% if d.path | length == 0 %}<workflow>{% else %}{{ d.path | join("/") }}{% endif %}\`\` — {{ d.message }}
195
+ {% endfor %}
196
+
145
197
  {% endif %}
146
198
  `,
147
199
  "export_tree.md.j2": `{#-
@@ -1 +1 @@
1
- {"version":3,"file":"_templates-bundled.js","sourceRoot":"","sources":["../../src/workflow/_templates-bundled.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DlB;IACC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDrB;IACC,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B;IACC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BtB;IACC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BpB;IACC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzB;IACC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB;IACC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDxB;CACA,CAAC"}
1
+ {"version":3,"file":"_templates-bundled.js","sourceRoot":"","sources":["../../src/workflow/_templates-bundled.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAA2B;IACvD,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4DlB;IACC,kBAAkB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDrB;IACC,0BAA0B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgC7B;IACC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDzB;IACC,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BtB;IACC,iBAAiB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BpB;IACC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BzB;IACC,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BzB;IACC,qBAAqB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDxB;CACA,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/cli",
3
- "version": "1.3.0",
3
+ "version": "1.5.0",
4
4
  "description": "galaxy-tool-cache CLI — cache and inspect Galaxy tool metadata",
5
5
  "type": "module",
6
6
  "bin": {
@@ -39,10 +39,10 @@
39
39
  "effect": "^3.21.0",
40
40
  "nunjucks": "^3.2.4",
41
41
  "yaml": "^2.8.3",
42
- "@galaxy-tool-util/connection-validation": "1.2.0",
43
- "@galaxy-tool-util/core": "1.2.0",
44
- "@galaxy-tool-util/schema": "1.2.0",
45
- "@galaxy-tool-util/search": "1.2.0"
42
+ "@galaxy-tool-util/connection-validation": "1.5.0",
43
+ "@galaxy-tool-util/core": "1.5.0",
44
+ "@galaxy-tool-util/schema": "1.5.0",
45
+ "@galaxy-tool-util/search": "1.5.0"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/node": "^25.5.0",
@@ -156,22 +156,6 @@
156
156
  "description": "Galaxy instance URL for fallback"
157
157
  }
158
158
  ]
159
- },
160
- {
161
- "name": "structural-schema",
162
- "description": "Export the structural JSON Schema for Galaxy workflows",
163
- "handler": "structuralSchema",
164
- "options": [
165
- {
166
- "flags": "--format <fmt>",
167
- "description": "Workflow format: format2 (default) or native",
168
- "default": "format2"
169
- },
170
- {
171
- "flags": "--output <file>",
172
- "description": "Output file (default: stdout)"
173
- }
174
- ]
175
159
  }
176
160
  ]
177
161
  }
package/spec/gxwf.json CHANGED
@@ -91,6 +91,83 @@
91
91
  }
92
92
  ]
93
93
  },
94
+ {
95
+ "name": "draft-validate",
96
+ "description": "Validate a draft Galaxy workflow (class: GalaxyWorkflowDraft)",
97
+ "handler": "draftValidate",
98
+ "args": [
99
+ {
100
+ "raw": "<file>",
101
+ "description": "Draft workflow file (.gxwf.yml)"
102
+ }
103
+ ],
104
+ "options": [
105
+ {
106
+ "flags": "--format <fmt>",
107
+ "description": "Force format: format2 (native is rejected for drafts)"
108
+ },
109
+ {
110
+ "flags": "--json",
111
+ "description": "Output structured JSON report"
112
+ },
113
+ {
114
+ "flags": "--report-html [file]",
115
+ "description": "Write HTML report to file (or stdout if omitted)"
116
+ },
117
+ {
118
+ "flags": "--report-markdown [file]",
119
+ "description": "Write Markdown report to file (or stdout if omitted)"
120
+ }
121
+ ]
122
+ },
123
+ {
124
+ "name": "_draft-extract",
125
+ "description": "Extract the concrete subset of a draft workflow (agent-loop internal; hidden)",
126
+ "handler": "draftExtract",
127
+ "hidden": true,
128
+ "args": [
129
+ {
130
+ "raw": "<file>",
131
+ "description": "Draft workflow file (.gxwf.yml)"
132
+ }
133
+ ],
134
+ "options": [
135
+ {
136
+ "flags": "-o, --output <file>",
137
+ "description": "Write extracted workflow to file (default: stdout)"
138
+ },
139
+ {
140
+ "flags": "--report-json [file]",
141
+ "description": "Write extraction report JSON (drops, rewrites, class flip) — to file or stdout if omitted"
142
+ },
143
+ {
144
+ "flags": "--format <fmt>",
145
+ "description": "Force input format: format2 (default; native is rejected)"
146
+ }
147
+ ]
148
+ },
149
+ {
150
+ "name": "draft-next-step",
151
+ "description": "Pick the next step a downstream agent should work on (or report no remaining work)",
152
+ "handler": "draftNextStep",
153
+ "args": [
154
+ {
155
+ "raw": "<file>",
156
+ "description": "Draft workflow file (.gxwf.yml)"
157
+ }
158
+ ],
159
+ "options": [
160
+ {
161
+ "flags": "--format <fmt>",
162
+ "description": "Force input format: format2 (default; native is rejected)"
163
+ },
164
+ {
165
+ "flags": "--output-format <fmt>",
166
+ "description": "Output format: json (default) or markdown",
167
+ "default": "json"
168
+ }
169
+ ]
170
+ },
94
171
  {
95
172
  "name": "clean",
96
173
  "description": "Strip stale keys and decode legacy tool_state encoding",
@@ -555,6 +632,48 @@
555
632
  }
556
633
  ]
557
634
  },
635
+ {
636
+ "name": "validate-tool-source",
637
+ "description": "Validate a user-defined Galaxy tool source YAML (class: GalaxyUserTool / GalaxyTool) against the Galaxy DynamicToolSources schema + #22615 semantic checks",
638
+ "handler": "validateToolSource",
639
+ "args": [
640
+ {
641
+ "raw": "<file>",
642
+ "description": "Tool source YAML file"
643
+ }
644
+ ],
645
+ "options": [
646
+ {
647
+ "flags": "--json",
648
+ "description": "Output structured JSON report"
649
+ },
650
+ {
651
+ "flags": "--schema-only",
652
+ "description": "Skip semantic (model_validator) checks; structural JSON-Schema validation only"
653
+ }
654
+ ]
655
+ },
656
+ {
657
+ "name": "validate-tool-source-tree",
658
+ "description": "Batch validate user-defined Galaxy tool source YAMLs (auto-discovered by class:) under a directory",
659
+ "handler": "validateToolSourceTree",
660
+ "args": [
661
+ {
662
+ "raw": "<dir>",
663
+ "description": "Directory to scan for tool source files"
664
+ }
665
+ ],
666
+ "options": [
667
+ {
668
+ "flags": "--json",
669
+ "description": "Output structured JSON report"
670
+ },
671
+ {
672
+ "flags": "--schema-only",
673
+ "description": "Skip semantic (model_validator) checks; structural JSON-Schema validation only"
674
+ }
675
+ ]
676
+ },
558
677
  {
559
678
  "name": "tool-search",
560
679
  "description": "Search the Galaxy Tool Shed for tools matching a query",
@@ -688,6 +807,22 @@
688
807
  "description": "Emit machine-readable JSON envelope"
689
808
  }
690
809
  ]
810
+ },
811
+ {
812
+ "name": "structural-schema",
813
+ "description": "Export the structural JSON Schema for Galaxy workflows",
814
+ "handler": "structuralSchema",
815
+ "options": [
816
+ {
817
+ "flags": "--format <fmt>",
818
+ "description": "Workflow format: format2 (default) or native",
819
+ "default": "format2"
820
+ },
821
+ {
822
+ "flags": "--output <file>",
823
+ "description": "Output file (default: stdout)"
824
+ }
825
+ ]
691
826
  }
692
827
  ]
693
828
  }