@galaxy-tool-util/schema 0.1.0 → 0.2.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/LICENSE +21 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/workflow/clean.d.ts +27 -0
- package/dist/workflow/clean.d.ts.map +1 -1
- package/dist/workflow/clean.js +29 -0
- package/dist/workflow/clean.js.map +1 -1
- package/dist/workflow/coercions.d.ts +22 -0
- package/dist/workflow/coercions.d.ts.map +1 -0
- package/dist/workflow/coercions.js +67 -0
- package/dist/workflow/coercions.js.map +1 -0
- package/dist/workflow/index.d.ts +6 -1
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +6 -1
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/normalized/index.d.ts +5 -2
- package/dist/workflow/normalized/index.d.ts.map +1 -1
- package/dist/workflow/normalized/index.js +2 -0
- package/dist/workflow/normalized/index.js.map +1 -1
- package/dist/workflow/normalized/stateful-runner.d.ts +82 -0
- package/dist/workflow/normalized/stateful-runner.d.ts.map +1 -0
- package/dist/workflow/normalized/stateful-runner.js +122 -0
- package/dist/workflow/normalized/stateful-runner.js.map +1 -0
- package/dist/workflow/normalized/toFormat2.d.ts +19 -1
- package/dist/workflow/normalized/toFormat2.d.ts.map +1 -1
- package/dist/workflow/normalized/toFormat2.js +47 -16
- package/dist/workflow/normalized/toFormat2.js.map +1 -1
- package/dist/workflow/normalized/toFormat2Stateful.d.ts +30 -0
- package/dist/workflow/normalized/toFormat2Stateful.d.ts.map +1 -0
- package/dist/workflow/normalized/toFormat2Stateful.js +58 -0
- package/dist/workflow/normalized/toFormat2Stateful.js.map +1 -0
- package/dist/workflow/normalized/toNative.d.ts +10 -1
- package/dist/workflow/normalized/toNative.d.ts.map +1 -1
- package/dist/workflow/normalized/toNative.js +24 -8
- package/dist/workflow/normalized/toNative.js.map +1 -1
- package/dist/workflow/normalized/toNativeStateful.d.ts +31 -0
- package/dist/workflow/normalized/toNativeStateful.d.ts.map +1 -0
- package/dist/workflow/normalized/toNativeStateful.js +55 -0
- package/dist/workflow/normalized/toNativeStateful.js.map +1 -0
- package/dist/workflow/precheck.d.ts +54 -0
- package/dist/workflow/precheck.d.ts.map +1 -0
- package/dist/workflow/precheck.js +91 -0
- package/dist/workflow/precheck.js.map +1 -0
- package/dist/workflow/raw/gxformat2.effect.d.ts +108 -332
- package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2.effect.js +106 -94
- package/dist/workflow/raw/gxformat2.effect.js.map +1 -1
- package/dist/workflow/raw/native.effect.d.ts +30 -177
- package/dist/workflow/raw/native.effect.d.ts.map +1 -1
- package/dist/workflow/raw/native.effect.js +43 -31
- package/dist/workflow/raw/native.effect.js.map +1 -1
- package/dist/workflow/roundtrip.d.ts +54 -0
- package/dist/workflow/roundtrip.d.ts.map +1 -0
- package/dist/workflow/roundtrip.js +516 -0
- package/dist/workflow/roundtrip.js.map +1 -0
- package/dist/workflow/runtime-markers.d.ts +20 -0
- package/dist/workflow/runtime-markers.d.ts.map +1 -0
- package/dist/workflow/runtime-markers.js +26 -0
- package/dist/workflow/runtime-markers.js.map +1 -0
- package/dist/workflow/stale-keys.d.ts +16 -0
- package/dist/workflow/stale-keys.d.ts.map +1 -0
- package/dist/workflow/stale-keys.js +43 -0
- package/dist/workflow/stale-keys.js.map +1 -0
- package/dist/workflow/state-merge.d.ts.map +1 -1
- package/dist/workflow/state-merge.js +5 -22
- package/dist/workflow/state-merge.js.map +1 -1
- package/dist/workflow/stateful-convert.d.ts +47 -0
- package/dist/workflow/stateful-convert.d.ts.map +1 -0
- package/dist/workflow/stateful-convert.js +151 -0
- package/dist/workflow/stateful-convert.js.map +1 -0
- package/dist/workflow/stateful-validate.d.ts +46 -0
- package/dist/workflow/stateful-validate.d.ts.map +1 -0
- package/dist/workflow/stateful-validate.js +96 -0
- package/dist/workflow/stateful-validate.js.map +1 -0
- package/dist/workflow/walker.d.ts +53 -0
- package/dist/workflow/walker.d.ts.map +1 -0
- package/dist/workflow/walker.js +189 -0
- package/dist/workflow/walker.js.map +1 -0
- package/package.json +18 -14
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-aware state walkers for native and format2 workflow tool state.
|
|
3
|
+
*
|
|
4
|
+
* Port of Python galaxy.tool_util.workflow_state._walker.
|
|
5
|
+
*
|
|
6
|
+
* Walks the parameter tree using tool definitions, calling a leaf callback
|
|
7
|
+
* for each scalar parameter. Handles conditionals (branch selection),
|
|
8
|
+
* repeats (instance expansion), and sections (recursion). Builds a new
|
|
9
|
+
* state dict from callback return values.
|
|
10
|
+
*
|
|
11
|
+
* Design principles:
|
|
12
|
+
* - No double encoding: containers must be proper dicts/lists, never JSON strings
|
|
13
|
+
* - No legacy decode: string containers are errors, not silently accommodated
|
|
14
|
+
* - SKIP_VALUE sentinel omits a value from the output
|
|
15
|
+
*/
|
|
16
|
+
import { flatStatePath, repeatInputsToArray, selectWhichWhen } from "./state-merge.js";
|
|
17
|
+
import { STALE_KEYS } from "./stale-keys.js";
|
|
18
|
+
/** Sentinel: return from leaf callback to omit a value from output. */
|
|
19
|
+
export const SKIP_VALUE = Symbol("SKIP_VALUE");
|
|
20
|
+
/**
|
|
21
|
+
* Walk native workflow tool_state using the parameter tree.
|
|
22
|
+
*
|
|
23
|
+
* For each leaf parameter, calls `leafCallback(toolInput, value, statePath)`.
|
|
24
|
+
* Return values build the output dict; return SKIP_VALUE to omit.
|
|
25
|
+
*
|
|
26
|
+
* Containers (conditionals, repeats, sections) are recursed into.
|
|
27
|
+
* Bookkeeping keys (__current_case__, etc.) are stripped.
|
|
28
|
+
* Input connections are used to determine repeat instance counts.
|
|
29
|
+
*
|
|
30
|
+
* @throws Error if a container parameter value is a string (legacy encoding)
|
|
31
|
+
*/
|
|
32
|
+
export function walkNativeState(inputConnections, toolInputs, state, leafCallback, options) {
|
|
33
|
+
const prefix = options?.prefix;
|
|
34
|
+
const checkUnknownKeys = options?.checkUnknownKeys ?? false;
|
|
35
|
+
const result = {};
|
|
36
|
+
const visitedKeys = new Set();
|
|
37
|
+
for (const toolInput of toolInputs) {
|
|
38
|
+
const name = toolInput.name;
|
|
39
|
+
visitedKeys.add(name);
|
|
40
|
+
const parameterType = toolInput.parameter_type;
|
|
41
|
+
const statePath = flatStatePath(name, prefix);
|
|
42
|
+
if (parameterType === "gx_conditional") {
|
|
43
|
+
const conditional = toolInput;
|
|
44
|
+
const conditionalState = state[name];
|
|
45
|
+
_assertNotStringContainer(name, parameterType, conditionalState);
|
|
46
|
+
const stateDict = conditionalState ?? {};
|
|
47
|
+
const when = selectWhichWhen(conditional, stateDict);
|
|
48
|
+
const branchParams = when != null ? when.parameters : [];
|
|
49
|
+
// Walk the test parameter + branch parameters
|
|
50
|
+
const innerResult = walkNativeState(inputConnections, [conditional.test_parameter, ...branchParams], stateDict, leafCallback, { prefix: statePath, checkUnknownKeys });
|
|
51
|
+
if (Object.keys(innerResult).length > 0) {
|
|
52
|
+
result[name] = innerResult;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (parameterType === "gx_repeat") {
|
|
56
|
+
const repeat = toolInput;
|
|
57
|
+
const repeatState = state[name];
|
|
58
|
+
_assertNotStringContainer(name, parameterType, repeatState);
|
|
59
|
+
// Determine instance count from state array or input connections
|
|
60
|
+
const stateArray = Array.isArray(repeatState)
|
|
61
|
+
? repeatState
|
|
62
|
+
: [];
|
|
63
|
+
const connectionInstances = repeatInputsToArray(statePath, inputConnections);
|
|
64
|
+
const instanceCount = Math.max(stateArray.length, connectionInstances.length);
|
|
65
|
+
const instances = [];
|
|
66
|
+
for (let i = 0; i < instanceCount; i++) {
|
|
67
|
+
const instanceState = stateArray[i] ?? {};
|
|
68
|
+
const instancePrefix = `${statePath}_${i}`;
|
|
69
|
+
const instanceResult = walkNativeState(inputConnections, repeat.parameters, instanceState, leafCallback, { prefix: instancePrefix, checkUnknownKeys });
|
|
70
|
+
instances.push(instanceResult);
|
|
71
|
+
}
|
|
72
|
+
if (instances.length > 0) {
|
|
73
|
+
result[name] = instances;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (parameterType === "gx_section") {
|
|
77
|
+
const section = toolInput;
|
|
78
|
+
const sectionState = state[name];
|
|
79
|
+
_assertNotStringContainer(name, parameterType, sectionState);
|
|
80
|
+
const stateDict = sectionState ?? {};
|
|
81
|
+
const innerResult = walkNativeState(inputConnections, section.parameters, stateDict, leafCallback, { prefix: statePath, checkUnknownKeys });
|
|
82
|
+
if (Object.keys(innerResult).length > 0) {
|
|
83
|
+
result[name] = innerResult;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
// Leaf parameter
|
|
88
|
+
const value = state[name];
|
|
89
|
+
const callbackResult = leafCallback(toolInput, value, statePath);
|
|
90
|
+
if (callbackResult !== SKIP_VALUE) {
|
|
91
|
+
result[name] = callbackResult;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
if (checkUnknownKeys) {
|
|
96
|
+
for (const key of Object.keys(state)) {
|
|
97
|
+
if (!visitedKeys.has(key) && !STALE_KEYS.has(key)) {
|
|
98
|
+
throw new UnknownKeyError(key, prefix);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Walk format2 workflow tool state using the parameter tree.
|
|
106
|
+
*
|
|
107
|
+
* Simpler than native walking — no bookkeeping keys, no input connections,
|
|
108
|
+
* no double-encoding concerns. Clean dict walking with conditional branch
|
|
109
|
+
* selection, repeat iteration, section recursion.
|
|
110
|
+
*
|
|
111
|
+
* @throws Error if a container parameter value is a string
|
|
112
|
+
*/
|
|
113
|
+
export function walkFormat2State(toolInputs, state, leafCallback, prefix) {
|
|
114
|
+
const result = {};
|
|
115
|
+
for (const toolInput of toolInputs) {
|
|
116
|
+
const name = toolInput.name;
|
|
117
|
+
const parameterType = toolInput.parameter_type;
|
|
118
|
+
const statePath = flatStatePath(name, prefix);
|
|
119
|
+
if (parameterType === "gx_conditional") {
|
|
120
|
+
const conditional = toolInput;
|
|
121
|
+
const conditionalState = state[name];
|
|
122
|
+
_assertNotStringContainer(name, parameterType, conditionalState);
|
|
123
|
+
const stateDict = conditionalState ?? {};
|
|
124
|
+
const when = selectWhichWhen(conditional, stateDict);
|
|
125
|
+
const branchParams = when != null ? when.parameters : [];
|
|
126
|
+
const innerResult = walkFormat2State([conditional.test_parameter, ...branchParams], stateDict, leafCallback, statePath);
|
|
127
|
+
if (Object.keys(innerResult).length > 0) {
|
|
128
|
+
result[name] = innerResult;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else if (parameterType === "gx_repeat") {
|
|
132
|
+
const repeat = toolInput;
|
|
133
|
+
const repeatState = state[name];
|
|
134
|
+
_assertNotStringContainer(name, parameterType, repeatState);
|
|
135
|
+
const stateArray = Array.isArray(repeatState)
|
|
136
|
+
? repeatState
|
|
137
|
+
: [];
|
|
138
|
+
const instances = [];
|
|
139
|
+
for (let i = 0; i < stateArray.length; i++) {
|
|
140
|
+
const instancePrefix = `${statePath}_${i}`;
|
|
141
|
+
const instanceResult = walkFormat2State(repeat.parameters, stateArray[i], leafCallback, instancePrefix);
|
|
142
|
+
instances.push(instanceResult);
|
|
143
|
+
}
|
|
144
|
+
if (instances.length > 0) {
|
|
145
|
+
result[name] = instances;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else if (parameterType === "gx_section") {
|
|
149
|
+
const section = toolInput;
|
|
150
|
+
const sectionState = state[name];
|
|
151
|
+
_assertNotStringContainer(name, parameterType, sectionState);
|
|
152
|
+
const stateDict = sectionState ?? {};
|
|
153
|
+
const innerResult = walkFormat2State(section.parameters, stateDict, leafCallback, statePath);
|
|
154
|
+
if (Object.keys(innerResult).length > 0) {
|
|
155
|
+
result[name] = innerResult;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// Leaf parameter
|
|
160
|
+
const value = state[name];
|
|
161
|
+
const callbackResult = leafCallback(toolInput, value, statePath);
|
|
162
|
+
if (callbackResult !== SKIP_VALUE) {
|
|
163
|
+
result[name] = callbackResult;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return result;
|
|
168
|
+
}
|
|
169
|
+
/** Error thrown when unknown keys are detected in native state. */
|
|
170
|
+
export class UnknownKeyError extends Error {
|
|
171
|
+
key;
|
|
172
|
+
prefix;
|
|
173
|
+
constructor(key, prefix) {
|
|
174
|
+
const location = prefix ? ` under "${prefix}"` : " at root";
|
|
175
|
+
super(`Unknown key "${key}"${location} in tool state`);
|
|
176
|
+
this.key = key;
|
|
177
|
+
this.prefix = prefix;
|
|
178
|
+
this.name = "UnknownKeyError";
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/** Assert that a container parameter value is not a string (legacy encoding). */
|
|
182
|
+
function _assertNotStringContainer(name, parameterType, value) {
|
|
183
|
+
if (typeof value === "string") {
|
|
184
|
+
throw new Error(`Container parameter "${name}" (${parameterType}) has string value — ` +
|
|
185
|
+
`expected dict/list. This indicates legacy parameter encoding which is not supported. ` +
|
|
186
|
+
`Decode the workflow first.`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
//# sourceMappingURL=walker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/workflow/walker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@galaxy-tool-util/schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Effect Schema parameter types and validators for Galaxy tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
"import": "./dist/index.js"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"files": [
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"README.md",
|
|
15
|
+
"LICENSE"
|
|
16
|
+
],
|
|
13
17
|
"repository": {
|
|
14
18
|
"type": "git",
|
|
15
19
|
"url": "https://github.com/jmchilton/galaxy-tool-util-ts",
|
|
@@ -19,15 +23,6 @@
|
|
|
19
23
|
"access": "public",
|
|
20
24
|
"provenance": true
|
|
21
25
|
},
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "tsc",
|
|
24
|
-
"typecheck": "tsc --noEmit",
|
|
25
|
-
"test": "tsc --noEmit && vitest run",
|
|
26
|
-
"test:watch": "vitest",
|
|
27
|
-
"lint": "eslint src/ test/",
|
|
28
|
-
"format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
|
|
29
|
-
"format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'"
|
|
30
|
-
},
|
|
31
26
|
"keywords": [
|
|
32
27
|
"galaxy",
|
|
33
28
|
"tool-util",
|
|
@@ -38,8 +33,17 @@
|
|
|
38
33
|
"effect": "^3.21.0"
|
|
39
34
|
},
|
|
40
35
|
"devDependencies": {
|
|
41
|
-
"@galaxy-tool-util/core": "workspace:*",
|
|
42
36
|
"ajv": "^8.18.0",
|
|
43
|
-
"yaml": "^2.8.3"
|
|
37
|
+
"yaml": "^2.8.3",
|
|
38
|
+
"@galaxy-tool-util/core": "0.2.0"
|
|
39
|
+
},
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "tsc",
|
|
42
|
+
"typecheck": "tsc --noEmit",
|
|
43
|
+
"test": "tsc --noEmit && vitest run",
|
|
44
|
+
"test:watch": "vitest",
|
|
45
|
+
"lint": "eslint src/ test/",
|
|
46
|
+
"format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
|
|
47
|
+
"format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'"
|
|
44
48
|
}
|
|
45
|
-
}
|
|
49
|
+
}
|