@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.
- package/dist/commands/add-local.d.ts +15 -0
- package/dist/commands/add-local.d.ts.map +1 -0
- package/dist/commands/add-local.js +44 -0
- package/dist/commands/add-local.js.map +1 -0
- package/dist/commands/convert-tree.d.ts +3 -0
- package/dist/commands/convert-tree.d.ts.map +1 -1
- package/dist/commands/convert-tree.js +7 -12
- package/dist/commands/convert-tree.js.map +1 -1
- package/dist/commands/convert.d.ts.map +1 -1
- package/dist/commands/convert.js +3 -8
- package/dist/commands/convert.js.map +1 -1
- package/dist/commands/embedded-tool.d.ts +33 -0
- package/dist/commands/embedded-tool.d.ts.map +1 -0
- package/dist/commands/embedded-tool.js +69 -0
- package/dist/commands/embedded-tool.js.map +1 -0
- package/dist/commands/lint-tree.d.ts.map +1 -1
- package/dist/commands/lint-tree.js +2 -1
- package/dist/commands/lint-tree.js.map +1 -1
- package/dist/commands/stateful-tool-inputs.d.ts +12 -0
- package/dist/commands/stateful-tool-inputs.d.ts.map +1 -1
- package/dist/commands/stateful-tool-inputs.js +24 -2
- package/dist/commands/stateful-tool-inputs.js.map +1 -1
- package/dist/commands/tool-search.d.ts.map +1 -1
- package/dist/commands/tool-search.js +20 -49
- package/dist/commands/tool-search.js.map +1 -1
- package/dist/commands/tree.d.ts +12 -0
- package/dist/commands/tree.d.ts.map +1 -1
- package/dist/commands/tree.js +48 -8
- package/dist/commands/tree.js.map +1 -1
- package/dist/commands/validate-tree.d.ts.map +1 -1
- package/dist/commands/validate-tree.js +24 -6
- package/dist/commands/validate-tree.js.map +1 -1
- package/dist/commands/validate-workflow-json-schema.d.ts.map +1 -1
- package/dist/commands/validate-workflow-json-schema.js +129 -46
- package/dist/commands/validate-workflow-json-schema.js.map +1 -1
- package/dist/commands/validate-workflow.d.ts +12 -2
- package/dist/commands/validate-workflow.d.ts.map +1 -1
- package/dist/commands/validate-workflow.js +150 -58
- package/dist/commands/validate-workflow.js.map +1 -1
- package/dist/programs/galaxy-tool-cache.d.ts.map +1 -1
- package/dist/programs/galaxy-tool-cache.js +2 -0
- package/dist/programs/galaxy-tool-cache.js.map +1 -1
- package/dist/spec/build-program.js +16 -3
- package/dist/spec/build-program.js.map +1 -1
- package/package.json +6 -5
- package/spec/galaxy-tool-cache.json +25 -0
- package/spec/gxwf.json +12 -4
package/dist/commands/tree.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/commands/tree.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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":"AAUA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
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,
|
|
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) =>
|
|
30
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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
|
-
|
|
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":"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,GAAG,CAAC,6BAA6B,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"validate-tree.js","sourceRoot":"","sources":["../../src/commands/validate-tree.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
372
|
-
|
|
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
|
-
//
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
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
|
-
|
|
402
|
-
if (
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
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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"}
|