@galaxy-tool-util/schema 1.14.0 → 1.15.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.
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/user-tool-source/schema.generated.d.ts +1203 -266
- package/dist/user-tool-source/schema.generated.d.ts.map +1 -1
- package/dist/user-tool-source/schema.generated.js +1522 -367
- package/dist/user-tool-source/schema.generated.js.map +1 -1
- package/dist/workflow/index.d.ts +1 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +1 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/input-parameter.d.ts +280 -0
- package/dist/workflow/input-parameter.d.ts.map +1 -0
- package/dist/workflow/input-parameter.js +38 -0
- package/dist/workflow/input-parameter.js.map +1 -0
- package/dist/workflow/lint.d.ts.map +1 -1
- package/dist/workflow/lint.js +156 -50
- package/dist/workflow/lint.js.map +1 -1
- package/dist/workflow/mermaid.d.ts.map +1 -1
- package/dist/workflow/mermaid.js +1 -0
- package/dist/workflow/mermaid.js.map +1 -1
- package/dist/workflow/normalized/native.js +5 -4
- package/dist/workflow/normalized/native.js.map +1 -1
- package/dist/workflow/normalized/toFormat2.d.ts +1 -0
- package/dist/workflow/normalized/toFormat2.d.ts.map +1 -1
- package/dist/workflow/normalized/toFormat2.js +24 -2
- package/dist/workflow/normalized/toFormat2.js.map +1 -1
- package/dist/workflow/normalized/toNative.d.ts +3 -1
- package/dist/workflow/normalized/toNative.d.ts.map +1 -1
- package/dist/workflow/normalized/toNative.js +32 -11
- package/dist/workflow/normalized/toNative.js.map +1 -1
- package/dist/workflow/raw/gxformat2-draft.d.ts +67 -9
- package/dist/workflow/raw/gxformat2-draft.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2-draft.effect.d.ts +1073 -161
- package/dist/workflow/raw/gxformat2-draft.effect.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2-draft.effect.js +184 -120
- package/dist/workflow/raw/gxformat2-draft.effect.js.map +1 -1
- package/dist/workflow/raw/gxformat2-draft.js +6 -0
- package/dist/workflow/raw/gxformat2-draft.js.map +1 -1
- package/dist/workflow/raw/gxformat2.d.ts +67 -9
- package/dist/workflow/raw/gxformat2.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2.effect.d.ts +591 -143
- package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2.effect.js +169 -105
- package/dist/workflow/raw/gxformat2.effect.js.map +1 -1
- package/dist/workflow/raw/gxformat2.js +6 -0
- package/dist/workflow/raw/gxformat2.js.map +1 -1
- package/dist/workflow/raw/native.d.ts +14 -0
- package/dist/workflow/raw/native.d.ts.map +1 -1
- package/dist/workflow/raw/native.effect.d.ts +45 -30
- package/dist/workflow/raw/native.effect.d.ts.map +1 -1
- package/dist/workflow/raw/native.effect.js +40 -26
- package/dist/workflow/raw/native.effect.js.map +1 -1
- package/dist/workflow/raw/native.js.map +1 -1
- package/dist/workflow/schema_rules.yml +9 -0
- package/dist/workflow/semantic-validators.d.ts.map +1 -1
- package/dist/workflow/semantic-validators.js +17 -8
- package/dist/workflow/semantic-validators.js.map +1 -1
- package/dist/workflow/strict-checks.d.ts.map +1 -1
- package/dist/workflow/strict-checks.js +2 -3
- package/dist/workflow/strict-checks.js.map +1 -1
- package/dist/workflow/validators.d.ts +7 -4
- package/dist/workflow/validators.d.ts.map +1 -1
- package/dist/workflow/validators.js +20 -9
- package/dist/workflow/validators.js.map +1 -1
- package/package.json +1 -1
|
@@ -10,8 +10,15 @@
|
|
|
10
10
|
* (runtime tool-state validation): these are structural-but-cross-field
|
|
11
11
|
* Format2 rules.
|
|
12
12
|
*/
|
|
13
|
+
import { inputTypesDeclaring } from "./input-parameter.js";
|
|
13
14
|
const COLUMN_NAME_RE = /^[\w\-_ ?]*$/;
|
|
14
|
-
|
|
15
|
+
// Galaxy offers `multiple` on neither.
|
|
16
|
+
const SCALAR_ONLY_TYPE_VALUES = new Set(["color", "directory_uri"]);
|
|
17
|
+
// Parameter fields valid only on the input types whose schema declares them.
|
|
18
|
+
const PARAMETER_FIELD_TYPE_VALUES = new Map(["restrictions", "suggestions", "restrictOnConnections", "validators"].map((field) => [
|
|
19
|
+
field,
|
|
20
|
+
inputTypesDeclaring(field),
|
|
21
|
+
]));
|
|
15
22
|
const COLLECTION_TYPE_VALUES = new Set(["collection", "data_collection", "data_collection_input"]);
|
|
16
23
|
function _columnDefaultMatchesType(columnType, value) {
|
|
17
24
|
if (value == null)
|
|
@@ -66,8 +73,10 @@ export function validateInputParameter(inputParam) {
|
|
|
66
73
|
return;
|
|
67
74
|
const data = inputParam;
|
|
68
75
|
const typeValues = _typeList(data.type);
|
|
69
|
-
const isTextOnly = typeValues.length > 0 && typeValues.every((t) => TEXT_TYPE_VALUES.has(t));
|
|
70
76
|
const isCollectionOnly = typeValues.length > 0 && typeValues.every((t) => COLLECTION_TYPE_VALUES.has(t));
|
|
77
|
+
if (Array.isArray(data.type) && typeValues.some((t) => SCALAR_ONLY_TYPE_VALUES.has(t))) {
|
|
78
|
+
throw new Error(`multiple values are not supported for type=${JSON.stringify(data.type)}`);
|
|
79
|
+
}
|
|
71
80
|
if (data.collection_type != null && typeof data.collection_type !== "string") {
|
|
72
81
|
throw new Error("collection_type must be a string");
|
|
73
82
|
}
|
|
@@ -98,16 +107,16 @@ export function validateInputParameter(inputParam) {
|
|
|
98
107
|
throw new Error(`fields is only valid on record-typed collection inputs, got collection_type=${JSON.stringify(data.collection_type)}`);
|
|
99
108
|
}
|
|
100
109
|
}
|
|
101
|
-
for (const field of
|
|
110
|
+
for (const [field, allowedTypes] of PARAMETER_FIELD_TYPE_VALUES) {
|
|
102
111
|
const value = data[field];
|
|
103
|
-
|
|
112
|
+
// restrictOnConnections=false is the schema default and harmless.
|
|
113
|
+
if (value == null || value === false)
|
|
104
114
|
continue;
|
|
105
115
|
if (Array.isArray(value) && value.length === 0)
|
|
106
116
|
continue;
|
|
107
|
-
if (
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
throw new Error(`${field} is only valid on text/string inputs, got type=${JSON.stringify(data.type)}`);
|
|
117
|
+
if (typeValues.length > 0 && !typeValues.every((t) => allowedTypes.has(t))) {
|
|
118
|
+
const allowed = [...allowedTypes].sort().join("/");
|
|
119
|
+
throw new Error(`${field} is only valid on ${allowed} inputs, got type=${JSON.stringify(data.type)}`);
|
|
111
120
|
}
|
|
112
121
|
}
|
|
113
122
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../../src/workflow/semantic-validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,cAAc,GAAG,cAAc,CAAC;AAEtC,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-validators.js","sourceRoot":"","sources":["../../src/workflow/semantic-validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict-checks.d.ts","sourceRoot":"","sources":["../../src/workflow/strict-checks.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAqBtF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiBvF;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,EAAE,CAKV;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"strict-checks.d.ts","sourceRoot":"","sources":["../../src/workflow/strict-checks.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAQzD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAqBtF;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,EAAE,CAiBvF;AAED,8DAA8D;AAC9D,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,EAAE,CAKV;AASD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrC,MAAM,CAAC,EAAE,cAAc,GACtB,MAAM,EAAE,CAaV"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { NativeGalaxyWorkflowSchema, GalaxyWorkflowSchema } from "./raw/index.js";
|
|
8
8
|
import { detectFormat } from "./detect-format.js";
|
|
9
|
-
import {
|
|
9
|
+
import { withDecodeClass } from "./validators.js";
|
|
10
10
|
import * as ParseResult from "effect/ParseResult";
|
|
11
11
|
import * as S from "effect/Schema";
|
|
12
12
|
// ── Encoding checks ──────────────────────────────────────────────────
|
|
@@ -82,8 +82,7 @@ function formatIssues(error) {
|
|
|
82
82
|
*/
|
|
83
83
|
export function checkStrictStructure(workflowDict, format) {
|
|
84
84
|
const fmt = format ?? detectFormat(workflowDict);
|
|
85
|
-
const
|
|
86
|
-
const data = withClass(workflowDict, cls);
|
|
85
|
+
const data = withDecodeClass(workflowDict, fmt);
|
|
87
86
|
const schema = fmt === "native" ? NativeGalaxyWorkflowSchema : GalaxyWorkflowSchema;
|
|
88
87
|
const decode = S.decodeUnknownEither(schema, { onExcessProperty: "error" });
|
|
89
88
|
const result = decode(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strict-checks.js","sourceRoot":"","sources":["../../src/workflow/strict-checks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAElF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"strict-checks.js","sourceRoot":"","sources":["../../src/workflow/strict-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
* back the decoded value or throw on validation failure. Used by the schema-rule
|
|
6
6
|
* catalog runner and declarative-operation tests.
|
|
7
7
|
*
|
|
8
|
-
* The generated Effect schemas make `class` a required literal
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* The generated Effect schemas make `class` a required literal. Native `.ga`
|
|
9
|
+
* files never carry it and Format2 inline `run:` subworkflows may omit it, so
|
|
10
|
+
* `withDecodeClass` injects it there; a Format2 root must declare it
|
|
11
|
+
* (`Format2MissingClass`, gxformat2 #278).
|
|
12
12
|
*/
|
|
13
|
+
import type { WorkflowFormat } from "./detect-format.js";
|
|
13
14
|
/**
|
|
14
15
|
* Return `raw` with `class: cls` injected if missing, and the same injection
|
|
15
16
|
* applied recursively to step subworkflows. Native steps embed subworkflows
|
|
@@ -20,6 +21,8 @@
|
|
|
20
21
|
* subworkflows inherit `"GalaxyWorkflow"`, native inherit `"NativeGalaxyWorkflow"`.
|
|
21
22
|
*/
|
|
22
23
|
export declare function withClass(raw: unknown, cls: string): unknown;
|
|
24
|
+
/** Inject `class` where decoding needs it: everywhere for native, inline runs only for Format2. */
|
|
25
|
+
export declare function withDecodeClass(raw: unknown, format: WorkflowFormat): unknown;
|
|
23
26
|
export declare function validateFormat2(wf: unknown): unknown;
|
|
24
27
|
export declare function validateFormat2Strict(wf: unknown): unknown;
|
|
25
28
|
export declare function validateNative(wf: unknown): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/workflow/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/workflow/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAKzD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAI5D;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAI7E;AAoCD,wBAAgB,eAAe,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAMpD;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAM1D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAInD;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAIzD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,GACd,CAAC,EAAE,EAAE,OAAO,KAAK,OAAO,CAK1B"}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
* back the decoded value or throw on validation failure. Used by the schema-rule
|
|
6
6
|
* catalog runner and declarative-operation tests.
|
|
7
7
|
*
|
|
8
|
-
* The generated Effect schemas make `class` a required literal
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* The generated Effect schemas make `class` a required literal. Native `.ga`
|
|
9
|
+
* files never carry it and Format2 inline `run:` subworkflows may omit it, so
|
|
10
|
+
* `withDecodeClass` injects it there; a Format2 root must declare it
|
|
11
|
+
* (`Format2MissingClass`, gxformat2 #278).
|
|
12
12
|
*/
|
|
13
13
|
import { Schema } from "effect";
|
|
14
14
|
import { GalaxyWorkflowSchema } from "./raw/gxformat2.effect.js";
|
|
@@ -27,7 +27,18 @@ export function withClass(raw, cls) {
|
|
|
27
27
|
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
28
28
|
return raw;
|
|
29
29
|
const obj = raw;
|
|
30
|
-
|
|
30
|
+
return withStepSubworkflowClass("class" in obj ? obj : { ...obj, class: cls }, cls);
|
|
31
|
+
}
|
|
32
|
+
/** Inject `class` where decoding needs it: everywhere for native, inline runs only for Format2. */
|
|
33
|
+
export function withDecodeClass(raw, format) {
|
|
34
|
+
if (format === "native")
|
|
35
|
+
return withClass(raw, "NativeGalaxyWorkflow");
|
|
36
|
+
if (!raw || typeof raw !== "object" || Array.isArray(raw))
|
|
37
|
+
return raw;
|
|
38
|
+
return withStepSubworkflowClass(raw, "GalaxyWorkflow");
|
|
39
|
+
}
|
|
40
|
+
function withStepSubworkflowClass(obj, cls) {
|
|
41
|
+
const result = { ...obj };
|
|
31
42
|
const steps = result.steps;
|
|
32
43
|
if (!steps || typeof steps !== "object")
|
|
33
44
|
return result;
|
|
@@ -58,20 +69,20 @@ function injectStepSubworkflow(step, cls) {
|
|
|
58
69
|
return s;
|
|
59
70
|
}
|
|
60
71
|
export function validateFormat2(wf) {
|
|
61
|
-
const decoded = Schema.decodeUnknownSync(GalaxyWorkflowSchema, { onExcessProperty: "ignore" })(
|
|
72
|
+
const decoded = Schema.decodeUnknownSync(GalaxyWorkflowSchema, { onExcessProperty: "ignore" })(withDecodeClass(wf, "format2"));
|
|
62
73
|
validateWorkflowSemantics(wf);
|
|
63
74
|
return decoded;
|
|
64
75
|
}
|
|
65
76
|
export function validateFormat2Strict(wf) {
|
|
66
|
-
const decoded = Schema.decodeUnknownSync(GalaxyWorkflowSchema, { onExcessProperty: "error" })(
|
|
77
|
+
const decoded = Schema.decodeUnknownSync(GalaxyWorkflowSchema, { onExcessProperty: "error" })(withDecodeClass(wf, "format2"));
|
|
67
78
|
validateWorkflowSemantics(wf);
|
|
68
79
|
return decoded;
|
|
69
80
|
}
|
|
70
81
|
export function validateNative(wf) {
|
|
71
|
-
return Schema.decodeUnknownSync(NativeGalaxyWorkflowSchema, { onExcessProperty: "ignore" })(
|
|
82
|
+
return Schema.decodeUnknownSync(NativeGalaxyWorkflowSchema, { onExcessProperty: "ignore" })(withDecodeClass(wf, "native"));
|
|
72
83
|
}
|
|
73
84
|
export function validateNativeStrict(wf) {
|
|
74
|
-
return Schema.decodeUnknownSync(NativeGalaxyWorkflowSchema, { onExcessProperty: "error" })(
|
|
85
|
+
return Schema.decodeUnknownSync(NativeGalaxyWorkflowSchema, { onExcessProperty: "error" })(withDecodeClass(wf, "native"));
|
|
75
86
|
}
|
|
76
87
|
/**
|
|
77
88
|
* Pick the validator matching a fixture filename's format.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/workflow/validators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/workflow/validators.ts"],"names":[],"mappings":"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"}
|