@galaxy-tool-util/cli 1.10.1 → 1.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/commands/add-local.d.ts +15 -0
  2. package/dist/commands/add-local.d.ts.map +1 -0
  3. package/dist/commands/add-local.js +44 -0
  4. package/dist/commands/add-local.js.map +1 -0
  5. package/dist/commands/convert-tree.d.ts +3 -0
  6. package/dist/commands/convert-tree.d.ts.map +1 -1
  7. package/dist/commands/convert-tree.js +7 -12
  8. package/dist/commands/convert-tree.js.map +1 -1
  9. package/dist/commands/convert.d.ts.map +1 -1
  10. package/dist/commands/convert.js +3 -8
  11. package/dist/commands/convert.js.map +1 -1
  12. package/dist/commands/embedded-tool.d.ts +33 -0
  13. package/dist/commands/embedded-tool.d.ts.map +1 -0
  14. package/dist/commands/embedded-tool.js +69 -0
  15. package/dist/commands/embedded-tool.js.map +1 -0
  16. package/dist/commands/lint-tree.d.ts.map +1 -1
  17. package/dist/commands/lint-tree.js +2 -1
  18. package/dist/commands/lint-tree.js.map +1 -1
  19. package/dist/commands/stateful-tool-inputs.d.ts +12 -0
  20. package/dist/commands/stateful-tool-inputs.d.ts.map +1 -1
  21. package/dist/commands/stateful-tool-inputs.js +24 -2
  22. package/dist/commands/stateful-tool-inputs.js.map +1 -1
  23. package/dist/commands/tool-search.d.ts.map +1 -1
  24. package/dist/commands/tool-search.js +20 -49
  25. package/dist/commands/tool-search.js.map +1 -1
  26. package/dist/commands/tree.d.ts +12 -0
  27. package/dist/commands/tree.d.ts.map +1 -1
  28. package/dist/commands/tree.js +48 -8
  29. package/dist/commands/tree.js.map +1 -1
  30. package/dist/commands/validate-tree.d.ts.map +1 -1
  31. package/dist/commands/validate-tree.js +24 -6
  32. package/dist/commands/validate-tree.js.map +1 -1
  33. package/dist/commands/validate-workflow-json-schema.d.ts.map +1 -1
  34. package/dist/commands/validate-workflow-json-schema.js +129 -46
  35. package/dist/commands/validate-workflow-json-schema.js.map +1 -1
  36. package/dist/commands/validate-workflow.d.ts +12 -2
  37. package/dist/commands/validate-workflow.d.ts.map +1 -1
  38. package/dist/commands/validate-workflow.js +150 -58
  39. package/dist/commands/validate-workflow.js.map +1 -1
  40. package/dist/programs/galaxy-tool-cache.d.ts.map +1 -1
  41. package/dist/programs/galaxy-tool-cache.js +2 -0
  42. package/dist/programs/galaxy-tool-cache.js.map +1 -1
  43. package/dist/spec/build-program.js +16 -3
  44. package/dist/spec/build-program.js.map +1 -1
  45. package/package.json +6 -5
  46. package/spec/galaxy-tool-cache.json +25 -0
  47. package/spec/gxwf.json +12 -4
@@ -12,6 +12,12 @@ export interface WorkflowInfo {
12
12
  path: string;
13
13
  relativePath: string;
14
14
  format: WorkflowFormat;
15
+ /**
16
+ * Set when a file with an unambiguous workflow extension (.ga, .gxwf.yml,
17
+ * .gxwf.yaml) failed to parse during discovery. Such files are still
18
+ * reported (as an error outcome) rather than silently dropped.
19
+ */
20
+ loadError?: string;
15
21
  }
16
22
  export interface WorkflowOutcome<T> {
17
23
  info: WorkflowInfo;
@@ -33,6 +39,12 @@ export interface TreeSummary {
33
39
  }
34
40
  /** Call from processOne to skip a workflow with a reason. */
35
41
  export declare function skipWorkflow(reason: string): never;
42
+ /**
43
+ * Collapse a multi-line message to its first line. Tree outcome errors land in
44
+ * the per-workflow console listing and in `|`-delimited Markdown report table
45
+ * cells, both of which a raw multi-line YAML parse error would wreck.
46
+ */
47
+ export declare function firstLine(msg: string): string;
36
48
  /** Discover workflow files recursively under root. */
37
49
  export declare function discoverWorkflows(root: string, includeFormat2?: boolean): Promise<WorkflowInfo[]>;
38
50
  /** Load and parse a discovered workflow file. Returns null on failure. */
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAElD;AAyCD,sDAAsD;AACtD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,cAAc,UAAO,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAkDD,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAOzC;AAID,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElG,mEAAmE;AACnE,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,cAAc,UAAO,GACpB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAwBxB;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAC9B,WAAW,CAiBb"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,YAAY,CAAC;IACnB,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAElD;AAqBD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7C;AAqCD,sDAAsD;AACtD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,cAAc,UAAO,GACpB,OAAO,CAAC,YAAY,EAAE,CAAC,CAKzB;AAiED,0EAA0E;AAC1E,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAOzC;AAID,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAElG,mEAAmE;AACnE,wBAAsB,WAAW,CAAC,CAAC,EACjC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,EACzB,cAAc,UAAO,GACpB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA4BxB;AAED,kDAAkD;AAClD,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,GAC9B,WAAW,CAiBb"}
@@ -28,20 +28,40 @@ function classifyFile(filename) {
28
28
  return "format2";
29
29
  return null;
30
30
  }
31
+ /**
32
+ * Collapse a multi-line message to its first line. Tree outcome errors land in
33
+ * the per-workflow console listing and in `|`-delimited Markdown report table
34
+ * cells, both of which a raw multi-line YAML parse error would wreck.
35
+ */
36
+ export function firstLine(msg) {
37
+ const idx = msg.indexOf("\n");
38
+ return idx === -1 ? msg : msg.slice(0, idx);
39
+ }
40
+ /**
41
+ * True for extensions that unambiguously denote a Galaxy workflow (.ga,
42
+ * .gxwf.yml, .gxwf.yaml). A parse failure on one of these is a real error to
43
+ * surface; a parse failure on a plain .yml/.json could be any unrelated file
44
+ * and is skipped silently.
45
+ */
46
+ function isDefiniteWorkflowExtension(filename) {
47
+ if (FORMAT2_SUFFIXES.some((suffix) => filename.endsWith(suffix)))
48
+ return true;
49
+ return NATIVE_EXTENSIONS.has(extname(filename));
50
+ }
31
51
  function isWorkflowContent(data, format) {
32
52
  if (format === "native") {
33
53
  return data.a_galaxy_workflow === "true";
34
54
  }
35
55
  return data.class === "GalaxyWorkflow";
36
56
  }
57
+ /** Parse raw workflow content; throws on malformed JSON/YAML. */
58
+ function parseFileContentOrThrow(raw, format) {
59
+ const parsed = format === "native" ? JSON.parse(raw) : YAML.parse(raw);
60
+ return typeof parsed === "object" && parsed !== null ? parsed : null;
61
+ }
37
62
  function parseFileContent(raw, format) {
38
63
  try {
39
- if (format === "native") {
40
- const parsed = JSON.parse(raw);
41
- return typeof parsed === "object" && parsed !== null ? parsed : null;
42
- }
43
- const parsed = YAML.parse(raw);
44
- return typeof parsed === "object" && parsed !== null ? parsed : null;
64
+ return parseFileContentOrThrow(raw, format);
45
65
  }
46
66
  catch {
47
67
  return null;
@@ -84,7 +104,23 @@ async function _walkDir(dir, root, includeFormat2, out) {
84
104
  catch {
85
105
  continue;
86
106
  }
87
- const data = parseFileContent(raw, format);
107
+ let data;
108
+ try {
109
+ data = parseFileContentOrThrow(raw, format);
110
+ }
111
+ catch (e) {
112
+ // A malformed file with an unambiguous workflow extension is a real
113
+ // error to report; a malformed plain .yml/.json is some other file.
114
+ if (isDefiniteWorkflowExtension(entry.name)) {
115
+ out.push({
116
+ path: filePath,
117
+ relativePath: relative(root, filePath),
118
+ format,
119
+ loadError: e instanceof Error ? e.message : String(e),
120
+ });
121
+ }
122
+ continue;
123
+ }
88
124
  if (!data || !isWorkflowContent(data, format))
89
125
  continue;
90
126
  out.push({
@@ -110,6 +146,10 @@ export async function collectTree(root, processOne, includeFormat2 = true) {
110
146
  const workflows = await discoverWorkflows(root, includeFormat2);
111
147
  const outcomes = [];
112
148
  for (const info of workflows) {
149
+ if (info.loadError) {
150
+ outcomes.push({ info, error: firstLine(info.loadError) });
151
+ continue;
152
+ }
113
153
  const data = await loadWorkflowSafe(info);
114
154
  if (!data) {
115
155
  outcomes.push({ info, error: "Failed to load workflow" });
@@ -124,7 +164,7 @@ export async function collectTree(root, processOne, includeFormat2 = true) {
124
164
  outcomes.push({ info, skipped: true, skipReason: e.message });
125
165
  }
126
166
  else {
127
- outcomes.push({ info, error: e instanceof Error ? e.message : String(e) });
167
+ outcomes.push({ info, error: firstLine(e instanceof Error ? e.message : String(e)) });
128
168
  }
129
169
  }
130
170
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-tree.d.ts","sourceRoot":"","sources":["../../src/commands/validate-tree.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQ/E,OAAO,EAAsC,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElG,MAAM,WAAW,mBAAoB,SAAQ,aAAa,EAAE,mBAAmB;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyG3F"}
1
+ {"version":3,"file":"validate-tree.d.ts","sourceRoot":"","sources":["../../src/commands/validate-tree.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQ/E,OAAO,EAAsC,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAElG,MAAM,WAAW,mBAAoB,SAAQ,aAAa,EAAE,mBAAmB;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgI3F"}
@@ -26,8 +26,12 @@ export async function runValidateTree(dir, opts) {
26
26
  let validateFormat2StepsJsonSchema;
27
27
  if (mode === "json-schema") {
28
28
  const mod = await import("./validate-workflow-json-schema.js");
29
- validateNativeStepsJsonSchema = (data, cache, prefix, expansionOpts) => mod.validateNativeStepsJsonSchema(data, cache, opts.toolSchemaDir, prefix, expansionOpts);
30
- validateFormat2StepsJsonSchema = (data, cache, prefix, expansionOpts) => mod.validateFormat2StepsJsonSchema(data, cache, opts.toolSchemaDir, prefix, expansionOpts);
29
+ validateNativeStepsJsonSchema = (data, cache, prefix, expansionOpts) => cache
30
+ ? mod.validateNativeStepsJsonSchema(data, cache, opts.toolSchemaDir, prefix, expansionOpts)
31
+ : Promise.resolve([]);
32
+ validateFormat2StepsJsonSchema = (data, cache, prefix, expansionOpts) => cache
33
+ ? mod.validateFormat2StepsJsonSchema(data, cache, opts.toolSchemaDir, prefix, expansionOpts)
34
+ : Promise.resolve([]);
31
35
  }
32
36
  const strict = resolveStrictOptions(opts);
33
37
  const treeResult = await collectTree(dir, async (info, data) => {
@@ -48,7 +52,7 @@ export async function runValidateTree(dir, opts) {
48
52
  const expansionOpts = {
49
53
  resolver: createDefaultResolver({ workflowDirectory: dirname(info.path) }),
50
54
  };
51
- let stepResults = [];
55
+ let stepResults;
52
56
  if (cache && opts.toolState !== false) {
53
57
  const validateNative = validateNativeStepsJsonSchema ?? validateNativeSteps;
54
58
  const validateF2 = validateFormat2StepsJsonSchema ?? validateFormat2Steps;
@@ -57,8 +61,21 @@ export async function runValidateTree(dir, opts) {
57
61
  ? await validateNative(data, cache, "", expansionOpts)
58
62
  : await validateF2(data, cache, "", expansionOpts);
59
63
  }
60
- // --strict-state: promote skips to failures
61
- if (strict.strictState && stepResults.some((s) => s.status !== "ok" && s.status !== "fail")) {
64
+ else {
65
+ // Tool-state validation disabled (or no cache): still enumerate tool
66
+ // steps so the step count is reported, marking each as skipped. No
67
+ // resolver is passed — enumeration must stay offline, so subworkflow
68
+ // expansion is inline-only rather than fetching external references.
69
+ stepResults =
70
+ format === "native"
71
+ ? await validateNativeSteps(data, null)
72
+ : await validateFormat2Steps(data, null);
73
+ }
74
+ // --strict-state: promote skips to failures. `skip_no_tool_state` is
75
+ // exempt — it means the user turned tool-state validation off, not that a
76
+ // step could not be checked, and `gxwf validate` treats it the same way.
77
+ if (strict.strictState &&
78
+ stepResults.some((s) => s.status !== "ok" && s.status !== "fail" && s.status !== "skip_no_tool_state")) {
62
79
  throw new Error("Strict state: skipped steps not allowed");
63
80
  }
64
81
  return buildWorkflowValidationResult(info.relativePath, stepResults);
@@ -95,7 +112,8 @@ export async function runValidateTree(dir, opts) {
95
112
  }
96
113
  const s = report.summary;
97
114
  const total = report.workflows.length;
98
- console.log(`\nSummary: ${total} workflows | ${s.ok} OK, ${s.fail} FAIL, ${s.skip} SKIP`);
115
+ const errorSuffix = s.error > 0 ? `, ${s.error} ERROR` : "";
116
+ console.log(`\nSummary: ${total} workflows | ${s.ok} OK, ${s.fail} FAIL, ${s.skip} SKIP${errorSuffix}`);
99
117
  process.exitCode = computeValidateExitCode(report);
100
118
  }
101
119
  function buildReport(treeResult) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate-tree.js","sourceRoot":"","sources":["../../src/commands/validate-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-tree.js","sourceRoot":"","sources":["../../src/commands/validate-tree.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,yBAAyB,GAK1B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAsB,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAmB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAA4B,MAAM,oBAAoB,CAAC;AAWlG,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW,EAAE,IAAyB;IAC1E,MAAM,IAAI,GAAmB,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEpF,qCAAqC;IACrC,IAAI,KAA4B,CAAC;IACjC,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,KAAK,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,EAAE,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,IAAI,6BAAqE,CAAC;IAC1E,IAAI,8BAAuE,CAAC;IAC5E,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAC/D,6BAA6B,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CACrE,KAAK;YACH,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC;YAC3F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1B,8BAA8B,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CACtE,KAAK;YACH,CAAC,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC;YAC5F,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,MAAM,WAAW,CAA2B,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;QACvF,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEhD,yBAAyB;QACzB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAC3B,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,cAAc,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAqB;YACtC,QAAQ,EAAE,qBAAqB,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC3E,CAAC;QAEF,IAAI,WAAmC,CAAC;QACxC,IAAI,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,cAAc,GAAG,6BAA6B,IAAI,mBAAmB,CAAC;YAC5E,MAAM,UAAU,GAAG,8BAA8B,IAAI,oBAAoB,CAAC;YAC1E,WAAW;gBACT,MAAM,KAAK,QAAQ;oBACjB,CAAC,CAAC,MAAM,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC;oBACtD,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACN,qEAAqE;YACrE,mEAAmE;YACnE,qEAAqE;YACrE,qEAAqE;YACrE,WAAW;gBACT,MAAM,KAAK,QAAQ;oBACjB,CAAC,CAAC,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvC,CAAC,CAAC,MAAM,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,CAAC;QAED,qEAAqE;QACrE,0EAA0E;QAC1E,yEAAyE;QACzE,IACE,MAAM,CAAC,WAAW;YAClB,WAAW,CAAC,IAAI,CACd,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,oBAAoB,CACrF,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,6BAA6B,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,iBAAiB,CAAC,qBAAqB,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;IAChG,MAAM,eAAe,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO;IACT,CAAC;IAED,cAAc;IACd,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QACD,IAAI,EAAE,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,cAAc,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,MAAM,CAAC,GAAG,EAAE,CAAC,OAAQ,CAAC;QACtB,MAAM,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;QAErC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;YAC3F,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,KAAK,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC;IACtC,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,OAAO,CAAC,GAAG,CACT,cAAc,KAAK,gBAAgB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,QAAQ,WAAW,EAAE,CAC3F,CAAC;IACF,OAAO,CAAC,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,UAAgD;IACnE,MAAM,SAAS,GAA+B,EAAE,CAAC;IAEjD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC3F,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,SAAS,CAAC,IAAI,CACZ,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE;gBACrD,cAAc,EAAG,CAAC,CAAC,UAAgC,IAAI,IAAI;aAC5D,CAAC,CACH,CAAC;YACF,SAAS;QACX,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,yBAAyB,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,uBAAuB,CAAC,MAA4B;IAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow-json-schema.d.ts","sourceRoot":"","sources":["../../src/commands/validate-workflow-json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAeL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAWlC,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AAwJhC;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAOV;AAID,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,uBAAuB,EAC7B,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAsGf;AAID,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AAiJD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC"}
1
+ {"version":3,"file":"validate-workflow-json-schema.d.ts","sourceRoot":"","sources":["../../src/commands/validate-workflow-json-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAiBL,KAAK,gBAAgB,EACtB,MAAM,0BAA0B,CAAC;AAWlC,OAAO,KAAK,EACV,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACrB,MAAM,wBAAwB,CAAC;AA8KhC;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,GACrB,MAAM,EAAE,CAOV;AAID,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,uBAAuB,EAC7B,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA8Gf;AAID,wBAAsB,6BAA6B,CACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC;AA4MD,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,EAAE,SAAS,EAChB,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,SAAK,EACX,aAAa,CAAC,EAAE,gBAAgB,GAC/B,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAGjC"}
@@ -8,7 +8,7 @@
8
8
  * Mirrors Galaxy's validation_json_schema.py.
9
9
  */
10
10
  import { makeNodeToolCache } from "@galaxy-tool-util/core/node";
11
- import { createFieldModel, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, scanForReplacements, withClass, } from "@galaxy-tool-util/schema";
11
+ import { createFieldModel, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, stripConnectedValues, scanForReplacements, withClass, isGalaxyUserToolRun, } from "@galaxy-tool-util/schema";
12
12
  import * as JSONSchema from "effect/JSONSchema";
13
13
  import Ajv2020 from "ajv/dist/2020.js";
14
14
  import { readFileSync, existsSync } from "node:fs";
@@ -16,6 +16,8 @@ import { join } from "node:path";
16
16
  import { buildSingleValidationReport, SKIP_STATUSES, nativeConnectionsFromFormat2In, } from "@galaxy-tool-util/schema";
17
17
  import { isEmptyState } from "./validate-workflow.js";
18
18
  import { isResolveError, resolveTool } from "./resolve-tool.js";
19
+ import { embeddedToolDefinition, isEmbeddedTool, resolveEmbeddedTool } from "./embedded-tool.js";
20
+ import { resolveStrictOptions } from "./strict-options.js";
19
21
  const Ajv = Ajv2020.default ?? Ajv2020;
20
22
  // Recursively drop `$id` keys. Effect's JSONSchema.make inlines unknown/any
21
23
  // params as `{$id: "/schemas/unknown", title: "unknown"}` (and `/schemas/any`)
@@ -133,6 +135,15 @@ function getOrBuildValidator(toolId, toolVersion, bundle, representation, toolSc
133
135
  _toolStateCache.set(key, validator);
134
136
  return validator;
135
137
  }
138
+ function cachedValidators(toolId, toolVersion, bundle, toolSchemaDir) {
139
+ return (representation) => getOrBuildValidator(toolId, toolVersion, bundle, representation, toolSchemaDir);
140
+ }
141
+ // Embedded definitions are built per step: their id is not a cache identity
142
+ // (two workflows may embed different tools under one id) and --tool-schema-dir
143
+ // holds schemas for cached tools only.
144
+ function embeddedValidators(bundle) {
145
+ return (representation) => buildToolStateValidator(bundle, representation);
146
+ }
136
147
  // --- AJV error formatting ---
137
148
  function formatAjvErrors(validate) {
138
149
  if (!validate.errors)
@@ -202,12 +213,14 @@ export async function runValidateWorkflowJsonSchema(filePath, data, format, opts
202
213
  }
203
214
  }
204
215
  const stateOk = !results.some((r) => r.status === "fail");
216
+ const strictStateSkipped = resolveStrictOptions(opts).strictState &&
217
+ results.some((r) => r.status !== "ok" && r.status !== "fail");
205
218
  if (opts.json) {
206
219
  const report = buildSingleValidationReport(filePath, results, {
207
220
  structure_errors: structureErrors,
208
221
  });
209
222
  console.log(JSON.stringify(report, null, 2));
210
- process.exitCode = structOk && stateOk ? 0 : 1;
223
+ process.exitCode = strictStateSkipped ? 2 : structOk && stateOk ? 0 : 1;
211
224
  return;
212
225
  }
213
226
  if (results.length === 0) {
@@ -235,6 +248,11 @@ export async function runValidateWorkflowJsonSchema(filePath, data, format, opts
235
248
  }
236
249
  }
237
250
  console.log(`\nTool state (json-schema): ${validated} validated, ${skipped} skipped`);
251
+ if (strictStateSkipped) {
252
+ console.error("Strict state: skipped steps not allowed");
253
+ process.exitCode = 2;
254
+ return;
255
+ }
238
256
  process.exitCode = structOk && stateOk ? 0 : 1;
239
257
  }
240
258
  // --- Native validation (json-schema) ---
@@ -251,6 +269,11 @@ async function _validateNativeWorkflowJsonSchema(wf, cache, toolSchemaDir, prefi
251
269
  results.push(...subResults);
252
270
  continue;
253
271
  }
272
+ const embedded = embeddedToolDefinition(step);
273
+ if (embedded) {
274
+ results.push(_validateEmbeddedNativeStepJsonSchema(step, stepLabel, embedded));
275
+ continue;
276
+ }
254
277
  const toolId = step.tool_id;
255
278
  if (!toolId)
256
279
  continue;
@@ -279,7 +302,13 @@ async function _validateNativeStepJsonSchema(step, stepLabel, toolId, toolVersio
279
302
  for (const [k, v] of Object.entries(step.input_connections)) {
280
303
  connections[k] = v;
281
304
  }
282
- return _validateNativeStateJsonSchema(bundle, step.tool_state, connections, stepLabel, toolId, toolVersion, toolSchemaDir);
305
+ return _validateNativeStateJsonSchema(bundle, step.tool_state, connections, stepLabel, toolId, toolVersion, cachedValidators(toolId, toolVersion, bundle, toolSchemaDir), step.when);
306
+ }
307
+ function _validateEmbeddedNativeStepJsonSchema(step, stepLabel, repr) {
308
+ const tool = resolveEmbeddedTool(repr, stepLabel);
309
+ if (!isEmbeddedTool(tool))
310
+ return tool;
311
+ return _validateNativeStateJsonSchema(tool.bundle, step.tool_state, { ...step.input_connections }, stepLabel, tool.toolId, tool.toolVersion, embeddedValidators(tool.bundle), step.when);
283
312
  }
284
313
  /**
285
314
  * Validate a native-encoded tool_state block against the `workflow_step_native`
@@ -288,7 +317,29 @@ async function _validateNativeStepJsonSchema(step, stepLabel, toolId, toolVersio
288
317
  * workflow format. (JSON Schema can't enforce double-encoded scalar types, e.g.
289
318
  * "5" for an int, but still checks structure and unknown keys.)
290
319
  */
291
- function _validateNativeStateJsonSchema(bundle, toolState, connections, stepLabel, toolId, toolVersion, toolSchemaDir) {
320
+ /**
321
+ * Connection keys that feed the step itself rather than the tool: Galaxy wires
322
+ * a conditional step's skip-if expression through `input_connections`, under
323
+ * the literal key `when` in native form and under whatever names the format2
324
+ * `when:` expression references. Neither names a tool parameter, so neither is
325
+ * matched by the parameter walk.
326
+ */
327
+ function stepLevelConnectionKeys(whenExpression) {
328
+ const keys = new Set(["when"]);
329
+ if (typeof whenExpression === "string") {
330
+ for (const m of whenExpression.matchAll(/inputs\.([A-Za-z_]\w*)/g))
331
+ keys.add(m[1]);
332
+ for (const m of whenExpression.matchAll(/inputs\[['"]([^'"]+)['"]\]/g))
333
+ keys.add(m[1]);
334
+ }
335
+ return keys;
336
+ }
337
+ /** Connection keys that matched no tool parameter and are not step-level inputs. */
338
+ function unmatchedConnectionKeys(remaining, whenExpression) {
339
+ const stepLevel = stepLevelConnectionKeys(whenExpression);
340
+ return Object.keys(remaining).filter((k) => !stepLevel.has(k));
341
+ }
342
+ function _validateNativeStateJsonSchema(bundle, toolState, connections, stepLabel, toolId, toolVersion, validators, whenExpression) {
292
343
  const replacementScan = scanForReplacements(bundle.parameters, toolState);
293
344
  if (replacementScan === "yes") {
294
345
  return {
@@ -300,8 +351,20 @@ function _validateNativeStateJsonSchema(bundle, toolState, connections, stepLabe
300
351
  };
301
352
  }
302
353
  const state = structuredClone(toolState);
303
- injectConnectionsIntoState(bundle.parameters, state, connections);
304
- const validate = getOrBuildValidator(toolId, toolVersion, bundle, "workflow_step_native", toolSchemaDir);
354
+ const remaining = injectConnectionsIntoState(bundle.parameters, state, connections);
355
+ // Mirrors the linked path below: an unmatched connection key is a defect
356
+ // regardless of which state block the step carries.
357
+ const unmatchedKeys = unmatchedConnectionKeys(remaining, whenExpression);
358
+ if (unmatchedKeys.length > 0) {
359
+ return {
360
+ step: stepLabel,
361
+ tool_id: toolId,
362
+ version: toolVersion,
363
+ status: "fail",
364
+ errors: unmatchedKeys.map((k) => `No parameter definition matching connection key "${k}"`),
365
+ };
366
+ }
367
+ const validate = validators("workflow_step_native");
305
368
  if (!validate) {
306
369
  return {
307
370
  step: stepLabel,
@@ -333,6 +396,10 @@ async function _validateFormat2WorkflowJsonSchema(wf, cache, toolSchemaDir, pref
333
396
  for (let i = 0; i < wf.steps.length; i++) {
334
397
  const step = wf.steps[i];
335
398
  const stepLabel = prefix ? `${prefix}${i}` : String(i);
399
+ if (isGalaxyUserToolRun(step.run)) {
400
+ results.push(_validateEmbeddedFormat2StepJsonSchema(step, stepLabel, step.run));
401
+ continue;
402
+ }
336
403
  if (step.run && typeof step.run === "object") {
337
404
  const subResults = await _validateFormat2WorkflowJsonSchema(step.run, cache, toolSchemaDir, `${stepLabel}.`);
338
405
  results.push(...subResults);
@@ -362,15 +429,33 @@ async function _validateFormat2StepJsonSchema(step, stepLabel, toolId, toolVersi
362
429
  const bundle = {
363
430
  parameters: resolved.tool.inputs,
364
431
  };
432
+ return _validateFormat2StateJsonSchema(bundle, step, stepLabel, toolId, toolVersion, cachedValidators(toolId, toolVersion, bundle, toolSchemaDir));
433
+ }
434
+ function _validateEmbeddedFormat2StepJsonSchema(step, stepLabel, repr) {
435
+ const tool = resolveEmbeddedTool(repr, stepLabel);
436
+ if (!isEmbeddedTool(tool))
437
+ return tool;
438
+ return _validateFormat2StateJsonSchema(tool.bundle, step, stepLabel, tool.toolId, tool.toolVersion, embeddedValidators(tool.bundle));
439
+ }
440
+ function _validateFormat2StateJsonSchema(bundle, step, stepLabel, toolId, toolVersion, validators) {
365
441
  // A verbatim native `tool_state` block validates through the native path
366
442
  // (same encoding regardless of workflow format); a schema-aware `state` block
367
443
  // validates below. State shape — not workflow format — picks the validator.
368
444
  if (isEmptyState(step.state) && !isEmptyState(step.tool_state)) {
369
- return _validateNativeStateJsonSchema(bundle, step.tool_state, nativeConnectionsFromFormat2In(step.in), stepLabel, toolId, toolVersion, toolSchemaDir);
445
+ return _validateNativeStateJsonSchema(bundle, step.tool_state, nativeConnectionsFromFormat2In(step.in), stepLabel, toolId, toolVersion, validators, step.when);
446
+ }
447
+ const state = structuredClone((step.state ?? {}));
448
+ stripConnectedValues(bundle.parameters, state);
449
+ // Build connections dict from step.in
450
+ const connections = {};
451
+ for (const stepInput of step.in) {
452
+ if (stepInput.id && stepInput.source) {
453
+ const src = stepInput.source;
454
+ connections[stepInput.id] = Array.isArray(src) ? src : [src];
455
+ }
370
456
  }
371
- const state = (step.state ?? {});
372
- // Level 1: base validation against workflow_step
373
- const baseValidate = getOrBuildValidator(toolId, toolVersion, bundle, "workflow_step", toolSchemaDir);
457
+ // Level 1: validate the stored, unlinked editor state.
458
+ const baseValidate = validators("workflow_step");
374
459
  if (!baseValidate) {
375
460
  return {
376
461
  step: stepLabel,
@@ -390,43 +475,41 @@ async function _validateFormat2StepJsonSchema(step, stepLabel, toolId, toolVersi
390
475
  errors: formatAjvErrors(baseValidate),
391
476
  };
392
477
  }
393
- // Build connections dict from step.in
394
- const connections = {};
395
- for (const stepInput of step.in) {
396
- if (stepInput.id && stepInput.source) {
397
- const src = stepInput.source;
398
- connections[stepInput.id] = Array.isArray(src) ? src : [src];
399
- }
478
+ // Level 2: validate effective state after connection injection. Always run
479
+ // this pass so missing, unconnected required values are rejected.
480
+ const linkedState = structuredClone(state);
481
+ const remaining = injectConnectionsIntoState(bundle.parameters, linkedState, connections, {
482
+ linked: true,
483
+ });
484
+ const unmatchedKeys = unmatchedConnectionKeys(remaining, step.when);
485
+ if (unmatchedKeys.length > 0) {
486
+ return {
487
+ step: stepLabel,
488
+ tool_id: toolId,
489
+ version: toolVersion,
490
+ status: "fail",
491
+ errors: unmatchedKeys.map((k) => `No parameter definition matching connection key "${k}"`),
492
+ };
400
493
  }
401
- // Level 2: linked validation with connections injected
402
- if (Object.keys(connections).length > 0) {
403
- const linkedState = structuredClone(state);
404
- // Unmatched connection keys (e.g. the synthetic `when` gate on conditional
405
- // steps) are discarded, not failed — mirrors Python's
406
- // validate_workflow_json_schema, which injects connections and ignores the
407
- // returned unmatched paths. (The Pydantic path raises on unmatched; the
408
- // JSON Schema path is intentionally lenient.)
409
- injectConnectionsIntoState(bundle.parameters, linkedState, connections, { linked: true });
410
- const linkedValidate = getOrBuildValidator(toolId, toolVersion, bundle, "workflow_step_linked", toolSchemaDir);
411
- if (!linkedValidate) {
412
- return {
413
- step: stepLabel,
414
- tool_id: toolId,
415
- version: toolVersion,
416
- status: "skip_tool_not_found",
417
- errors: ["unsupported parameter types"],
418
- };
419
- }
420
- const linkedValid = linkedValidate(linkedState);
421
- if (!linkedValid) {
422
- return {
423
- step: stepLabel,
424
- tool_id: toolId,
425
- version: toolVersion,
426
- status: "fail",
427
- errors: formatAjvErrors(linkedValidate),
428
- };
429
- }
494
+ const linkedValidate = validators("workflow_step_linked");
495
+ if (!linkedValidate) {
496
+ return {
497
+ step: stepLabel,
498
+ tool_id: toolId,
499
+ version: toolVersion,
500
+ status: "skip_tool_not_found",
501
+ errors: ["unsupported parameter types"],
502
+ };
503
+ }
504
+ const linkedValid = linkedValidate(linkedState);
505
+ if (!linkedValid) {
506
+ return {
507
+ step: stepLabel,
508
+ tool_id: toolId,
509
+ version: toolVersion,
510
+ status: "fail",
511
+ errors: formatAjvErrors(linkedValidate),
512
+ };
430
513
  }
431
514
  return { step: stepLabel, tool_id: toolId, version: toolVersion, status: "ok", errors: [] };
432
515
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow-json-schema.js","sourceRoot":"","sources":["../../src/commands/validate-workflow-json-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-workflow-json-schema.js","sourceRoot":"","sources":["../../src/commands/validate-workflow-json-schema.ts"],"names":[],"mappings":"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"}