@galaxy-tool-util/schema 0.2.0 → 0.4.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 +75 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -1
- package/dist/index.js.map +1 -1
- package/dist/schema/type-guards.d.ts +14 -0
- package/dist/schema/type-guards.d.ts.map +1 -0
- package/dist/schema/type-guards.js +25 -0
- package/dist/schema/type-guards.js.map +1 -0
- package/dist/test-format/cross-check/check.d.ts +18 -0
- package/dist/test-format/cross-check/check.d.ts.map +1 -0
- package/dist/test-format/cross-check/check.js +89 -0
- package/dist/test-format/cross-check/check.js.map +1 -0
- package/dist/test-format/cross-check/extract-format2.d.ts +13 -0
- package/dist/test-format/cross-check/extract-format2.d.ts.map +1 -0
- package/dist/test-format/cross-check/extract-format2.js +98 -0
- package/dist/test-format/cross-check/extract-format2.js.map +1 -0
- package/dist/test-format/cross-check/extract-native.d.ts +4 -0
- package/dist/test-format/cross-check/extract-native.d.ts.map +1 -0
- package/dist/test-format/cross-check/extract-native.js +89 -0
- package/dist/test-format/cross-check/extract-native.js.map +1 -0
- package/dist/test-format/cross-check/extract.d.ts +9 -0
- package/dist/test-format/cross-check/extract.d.ts.map +1 -0
- package/dist/test-format/cross-check/extract.js +16 -0
- package/dist/test-format/cross-check/extract.js.map +1 -0
- package/dist/test-format/cross-check/index.d.ts +7 -0
- package/dist/test-format/cross-check/index.d.ts.map +1 -0
- package/dist/test-format/cross-check/index.js +6 -0
- package/dist/test-format/cross-check/index.js.map +1 -0
- package/dist/test-format/cross-check/type-compat.d.ts +23 -0
- package/dist/test-format/cross-check/type-compat.d.ts.map +1 -0
- package/dist/test-format/cross-check/type-compat.js +48 -0
- package/dist/test-format/cross-check/type-compat.js.map +1 -0
- package/dist/test-format/cross-check/types.d.ts +23 -0
- package/dist/test-format/cross-check/types.d.ts.map +1 -0
- package/dist/test-format/cross-check/types.js +10 -0
- package/dist/test-format/cross-check/types.js.map +1 -0
- package/dist/test-format/index.d.ts +3 -0
- package/dist/test-format/index.d.ts.map +1 -0
- package/dist/test-format/index.js +3 -0
- package/dist/test-format/index.js.map +1 -0
- package/dist/test-format/tests.schema.generated.d.ts +5610 -0
- package/dist/test-format/tests.schema.generated.d.ts.map +1 -0
- package/dist/test-format/tests.schema.generated.js +6899 -0
- package/dist/test-format/tests.schema.generated.js.map +1 -0
- package/dist/test-format/validate.d.ts +20 -0
- package/dist/test-format/validate.d.ts.map +1 -0
- package/dist/test-format/validate.js +41 -0
- package/dist/test-format/validate.js.map +1 -0
- package/dist/tool-state-validator.d.ts +23 -0
- package/dist/tool-state-validator.d.ts.map +1 -0
- package/dist/tool-state-validator.js +59 -0
- package/dist/tool-state-validator.js.map +1 -0
- package/dist/workflow/clean.d.ts +29 -3
- package/dist/workflow/clean.d.ts.map +1 -1
- package/dist/workflow/clean.js +199 -28
- package/dist/workflow/clean.js.map +1 -1
- package/dist/workflow/index.d.ts +13 -5
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +13 -3
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/lint-profiles.d.ts +27 -0
- package/dist/workflow/lint-profiles.d.ts.map +1 -0
- package/dist/workflow/lint-profiles.js +49 -0
- package/dist/workflow/lint-profiles.js.map +1 -0
- package/dist/workflow/lint-rules.d.ts +15 -0
- package/dist/workflow/lint-rules.d.ts.map +1 -0
- package/dist/workflow/lint-rules.js +15 -0
- package/dist/workflow/lint-rules.js.map +1 -0
- package/dist/workflow/lint.d.ts +4 -18
- package/dist/workflow/lint.d.ts.map +1 -1
- package/dist/workflow/lint.js +9 -30
- package/dist/workflow/lint.js.map +1 -1
- package/dist/workflow/lint_profiles.yml +41 -0
- package/dist/workflow/linting.d.ts +54 -0
- package/dist/workflow/linting.d.ts.map +1 -0
- package/dist/workflow/linting.js +71 -0
- package/dist/workflow/linting.js.map +1 -0
- package/dist/workflow/param-navigation.d.ts +26 -0
- package/dist/workflow/param-navigation.d.ts.map +1 -0
- package/dist/workflow/param-navigation.js +60 -0
- package/dist/workflow/param-navigation.js.map +1 -0
- package/dist/workflow/raw/gxformat2.effect.d.ts +341 -117
- package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -1
- package/dist/workflow/raw/gxformat2.effect.js +107 -109
- package/dist/workflow/raw/gxformat2.effect.js.map +1 -1
- package/dist/workflow/raw/native.d.ts +2 -2
- package/dist/workflow/raw/native.d.ts.map +1 -1
- package/dist/workflow/raw/native.effect.d.ts +150 -3
- package/dist/workflow/raw/native.effect.d.ts.map +1 -1
- package/dist/workflow/raw/native.effect.js +3 -5
- package/dist/workflow/raw/native.effect.js.map +1 -1
- package/dist/workflow/report-models.d.ts +412 -0
- package/dist/workflow/report-models.d.ts.map +1 -0
- package/dist/workflow/report-models.js +342 -0
- package/dist/workflow/report-models.js.map +1 -0
- package/dist/workflow/roundtrip.d.ts +31 -8
- package/dist/workflow/roundtrip.d.ts.map +1 -1
- package/dist/workflow/roundtrip.js +107 -26
- package/dist/workflow/roundtrip.js.map +1 -1
- package/dist/workflow/schema-rules.d.ts +38 -0
- package/dist/workflow/schema-rules.d.ts.map +1 -0
- package/dist/workflow/schema-rules.js +28 -0
- package/dist/workflow/schema-rules.js.map +1 -0
- package/dist/workflow/schema_rules.yml +69 -0
- package/dist/workflow/serialize.d.ts +30 -0
- package/dist/workflow/serialize.d.ts.map +1 -0
- package/dist/workflow/serialize.js +37 -0
- package/dist/workflow/serialize.js.map +1 -0
- package/dist/workflow/state-merge.d.ts +15 -32
- package/dist/workflow/state-merge.d.ts.map +1 -1
- package/dist/workflow/state-merge.js +30 -207
- package/dist/workflow/state-merge.js.map +1 -1
- package/dist/workflow/stateful-validate.d.ts +21 -0
- package/dist/workflow/stateful-validate.d.ts.map +1 -1
- package/dist/workflow/stateful-validate.js +27 -0
- package/dist/workflow/stateful-validate.js.map +1 -1
- package/dist/workflow/strict-checks.d.ts +22 -0
- package/dist/workflow/strict-checks.d.ts.map +1 -0
- package/dist/workflow/strict-checks.js +95 -0
- package/dist/workflow/strict-checks.js.map +1 -0
- package/dist/workflow/tool-state-io.d.ts +14 -0
- package/dist/workflow/tool-state-io.d.ts.map +1 -0
- package/dist/workflow/tool-state-io.js +33 -0
- package/dist/workflow/tool-state-io.js.map +1 -0
- package/dist/workflow/validators.d.ts +34 -0
- package/dist/workflow/validators.d.ts.map +1 -0
- package/dist/workflow/validators.js +83 -0
- package/dist/workflow/validators.js.map +1 -0
- package/dist/workflow/walk-helpers.d.ts +29 -0
- package/dist/workflow/walk-helpers.d.ts.map +1 -0
- package/dist/workflow/walk-helpers.js +89 -0
- package/dist/workflow/walk-helpers.js.map +1 -0
- package/dist/workflow/walker.d.ts +2 -0
- package/dist/workflow/walker.d.ts.map +1 -1
- package/dist/workflow/walker.js +16 -6
- package/dist/workflow/walker.js.map +1 -1
- package/package.json +7 -6
|
@@ -4,6 +4,11 @@ import { toNativeStateful } from "./normalized/toNativeStateful.js";
|
|
|
4
4
|
import { isConnectedValue, isRuntimeValue } from "./runtime-markers.js";
|
|
5
5
|
import { STALE_KEYS as SKIP_KEYS, isRuntimeLeakKey } from "./stale-keys.js";
|
|
6
6
|
import { stripStaleKeysToolAware } from "./clean.js";
|
|
7
|
+
import { checkStrictEncoding, checkStrictStructure } from "./strict-checks.js";
|
|
8
|
+
/** Construct a BenignArtifact from an internal artifact kind. */
|
|
9
|
+
function makeBenignArtifact(kind) {
|
|
10
|
+
return { reason: kind, proven_by: [] };
|
|
11
|
+
}
|
|
7
12
|
// --- Bookkeeping / internal helpers ---
|
|
8
13
|
/** Compare two scalar values with format2↔native type-equivalence. */
|
|
9
14
|
function scalarsEquivalent(a, b) {
|
|
@@ -190,10 +195,14 @@ function compareTree(orig, after, path, diffs) {
|
|
|
190
195
|
// element-wise recursion below so identical arrays don't get flagged.
|
|
191
196
|
if (Array.isArray(orig) !== Array.isArray(after) && multiSelectEquivalent(orig, after)) {
|
|
192
197
|
diffs.push({
|
|
193
|
-
|
|
198
|
+
step_path: "",
|
|
199
|
+
key_path: path,
|
|
200
|
+
diff_type: "value_mismatch",
|
|
194
201
|
severity: "benign",
|
|
195
|
-
|
|
196
|
-
|
|
202
|
+
description: `multi-select representation differs: ${JSON.stringify(orig)} vs ${JSON.stringify(after)}`,
|
|
203
|
+
original_value: orig,
|
|
204
|
+
roundtrip_value: after,
|
|
205
|
+
benign_artifact: makeBenignArtifact("multi_select_normalized"),
|
|
197
206
|
});
|
|
198
207
|
return;
|
|
199
208
|
}
|
|
@@ -203,9 +212,14 @@ function compareTree(orig, after, path, diffs) {
|
|
|
203
212
|
!Array.isArray(orig) &&
|
|
204
213
|
!Array.isArray(after)) {
|
|
205
214
|
diffs.push({
|
|
206
|
-
|
|
215
|
+
step_path: "",
|
|
216
|
+
key_path: path,
|
|
217
|
+
diff_type: "value_mismatch",
|
|
207
218
|
severity: "error",
|
|
208
|
-
|
|
219
|
+
description: `value changed: ${JSON.stringify(orig)} → ${JSON.stringify(after)}`,
|
|
220
|
+
original_value: orig,
|
|
221
|
+
roundtrip_value: after,
|
|
222
|
+
benign_artifact: null,
|
|
209
223
|
});
|
|
210
224
|
return;
|
|
211
225
|
}
|
|
@@ -213,9 +227,14 @@ function compareTree(orig, after, path, diffs) {
|
|
|
213
227
|
if (Array.isArray(orig) && Array.isArray(after)) {
|
|
214
228
|
if (orig.length !== after.length) {
|
|
215
229
|
diffs.push({
|
|
216
|
-
|
|
230
|
+
step_path: "",
|
|
231
|
+
key_path: path,
|
|
232
|
+
diff_type: "value_mismatch",
|
|
217
233
|
severity: "error",
|
|
218
|
-
|
|
234
|
+
description: `array length ${orig.length} → ${after.length}`,
|
|
235
|
+
original_value: orig,
|
|
236
|
+
roundtrip_value: after,
|
|
237
|
+
benign_artifact: null,
|
|
219
238
|
});
|
|
220
239
|
return;
|
|
221
240
|
}
|
|
@@ -230,17 +249,26 @@ function compareTree(orig, after, path, diffs) {
|
|
|
230
249
|
const benign = classifyMissing(orig) ?? classifyMissing(after);
|
|
231
250
|
if (benign) {
|
|
232
251
|
diffs.push({
|
|
233
|
-
|
|
252
|
+
step_path: "",
|
|
253
|
+
key_path: path,
|
|
254
|
+
diff_type: "value_mismatch",
|
|
234
255
|
severity: "benign",
|
|
235
|
-
|
|
236
|
-
|
|
256
|
+
description: `type change tolerated as ${benign}`,
|
|
257
|
+
original_value: orig,
|
|
258
|
+
roundtrip_value: after,
|
|
259
|
+
benign_artifact: makeBenignArtifact(benign),
|
|
237
260
|
});
|
|
238
261
|
return;
|
|
239
262
|
}
|
|
240
263
|
diffs.push({
|
|
241
|
-
|
|
264
|
+
step_path: "",
|
|
265
|
+
key_path: path,
|
|
266
|
+
diff_type: "value_mismatch",
|
|
242
267
|
severity: "error",
|
|
243
|
-
|
|
268
|
+
description: `structural mismatch: ${typeof orig} vs ${typeof after}`,
|
|
269
|
+
original_value: orig,
|
|
270
|
+
roundtrip_value: after,
|
|
271
|
+
benign_artifact: null,
|
|
244
272
|
});
|
|
245
273
|
return;
|
|
246
274
|
}
|
|
@@ -252,10 +280,14 @@ function compareTree(orig, after, path, diffs) {
|
|
|
252
280
|
// it — avoids noise from reimported state never having it)
|
|
253
281
|
if (key in orig && !(key in after)) {
|
|
254
282
|
diffs.push({
|
|
255
|
-
|
|
283
|
+
step_path: "",
|
|
284
|
+
key_path: `${path}.${key}`,
|
|
285
|
+
diff_type: "missing_in_roundtrip",
|
|
256
286
|
severity: "benign",
|
|
257
|
-
|
|
258
|
-
|
|
287
|
+
description: `stale key ${key} stripped`,
|
|
288
|
+
original_value: orig[key],
|
|
289
|
+
roundtrip_value: undefined,
|
|
290
|
+
benign_artifact: makeBenignArtifact("bookkeeping_stripped"),
|
|
259
291
|
});
|
|
260
292
|
}
|
|
261
293
|
continue;
|
|
@@ -270,10 +302,14 @@ function compareTree(orig, after, path, diffs) {
|
|
|
270
302
|
const hasAfter = key in after;
|
|
271
303
|
if (hasOrig !== hasAfter) {
|
|
272
304
|
diffs.push({
|
|
273
|
-
|
|
305
|
+
step_path: "",
|
|
306
|
+
key_path: path ? `${path}.${key}` : key,
|
|
307
|
+
diff_type: hasOrig ? "missing_in_roundtrip" : "missing_in_original",
|
|
274
308
|
severity: "benign",
|
|
275
|
-
|
|
276
|
-
|
|
309
|
+
description: `runtime leak ${key} ${hasOrig ? "stripped" : "appeared"}`,
|
|
310
|
+
original_value: hasOrig ? orig[key] : undefined,
|
|
311
|
+
roundtrip_value: hasAfter ? after[key] : undefined,
|
|
312
|
+
benign_artifact: makeBenignArtifact("runtime_leak_stripped"),
|
|
277
313
|
});
|
|
278
314
|
}
|
|
279
315
|
continue;
|
|
@@ -299,17 +335,26 @@ function compareTree(orig, after, path, diffs) {
|
|
|
299
335
|
const benign = classifyMissing(presentValue);
|
|
300
336
|
if (benign) {
|
|
301
337
|
diffs.push({
|
|
302
|
-
|
|
338
|
+
step_path: "",
|
|
339
|
+
key_path: subPath,
|
|
340
|
+
diff_type: hasOrig ? "missing_in_roundtrip" : "missing_in_original",
|
|
303
341
|
severity: "benign",
|
|
304
|
-
|
|
305
|
-
|
|
342
|
+
description: `key ${hasOrig ? "dropped" : "added"} (${benign})`,
|
|
343
|
+
original_value: hasOrig ? orig[key] : undefined,
|
|
344
|
+
roundtrip_value: hasAfter ? after[key] : undefined,
|
|
345
|
+
benign_artifact: makeBenignArtifact(benign),
|
|
306
346
|
});
|
|
307
347
|
}
|
|
308
348
|
else {
|
|
309
349
|
diffs.push({
|
|
310
|
-
|
|
350
|
+
step_path: "",
|
|
351
|
+
key_path: subPath,
|
|
352
|
+
diff_type: hasOrig ? "missing_in_roundtrip" : "missing_in_original",
|
|
311
353
|
severity: "error",
|
|
312
|
-
|
|
354
|
+
description: `key ${hasOrig ? "missing after roundtrip" : "appeared after roundtrip"}`,
|
|
355
|
+
original_value: hasOrig ? orig[key] : undefined,
|
|
356
|
+
roundtrip_value: hasAfter ? after[key] : undefined,
|
|
357
|
+
benign_artifact: null,
|
|
313
358
|
});
|
|
314
359
|
}
|
|
315
360
|
}
|
|
@@ -352,7 +397,18 @@ function collectSteps(wf, prefix = "", depth = 0) {
|
|
|
352
397
|
* Returns `success=true` iff no error-severity diffs and no conversion
|
|
353
398
|
* failures. `clean=true` iff there are zero diffs of any severity.
|
|
354
399
|
*/
|
|
355
|
-
export function roundtripValidate(nativeRaw, toolInputsResolver) {
|
|
400
|
+
export function roundtripValidate(nativeRaw, toolInputsResolver, strictOpts) {
|
|
401
|
+
const strict = strictOpts ?? {};
|
|
402
|
+
const encodingErrors = [];
|
|
403
|
+
const structureErrors = [];
|
|
404
|
+
// Stage 1: strict checks on raw native input
|
|
405
|
+
const rawDict = nativeRaw;
|
|
406
|
+
if (strict.strictEncoding) {
|
|
407
|
+
encodingErrors.push(...checkStrictEncoding(rawDict, "native").map((e) => `input: ${e}`));
|
|
408
|
+
}
|
|
409
|
+
if (strict.strictStructure) {
|
|
410
|
+
structureErrors.push(...checkStrictStructure(rawDict, "native").map((e) => `input: ${e}`));
|
|
411
|
+
}
|
|
356
412
|
const original = ensureNative(nativeRaw);
|
|
357
413
|
const { tools: originalSteps, subworkflows: originalSubworkflows } = collectSteps(original);
|
|
358
414
|
// Pre-clean: strip undeclared keys from each tool step's `tool_state`
|
|
@@ -407,9 +463,18 @@ export function roundtripValidate(nativeRaw, toolInputsResolver) {
|
|
|
407
463
|
reverseSteps,
|
|
408
464
|
success: false,
|
|
409
465
|
clean: false,
|
|
466
|
+
encodingErrors,
|
|
467
|
+
structureErrors,
|
|
410
468
|
};
|
|
411
469
|
}
|
|
412
470
|
forwardSteps = forward.steps;
|
|
471
|
+
// Stage 2: strict checks on forward (format2) output
|
|
472
|
+
if (strict.strictEncoding) {
|
|
473
|
+
encodingErrors.push(...checkStrictEncoding(forward.workflow, "format2").map((e) => `forward: ${e}`));
|
|
474
|
+
}
|
|
475
|
+
if (strict.strictStructure) {
|
|
476
|
+
structureErrors.push(...checkStrictStructure(forward.workflow, "format2").map((e) => `forward: ${e}`));
|
|
477
|
+
}
|
|
413
478
|
// Reverse: format2 → native
|
|
414
479
|
try {
|
|
415
480
|
const reverse = toNativeStateful(forward.workflow, toolInputsResolver);
|
|
@@ -435,8 +500,17 @@ export function roundtripValidate(nativeRaw, toolInputsResolver) {
|
|
|
435
500
|
reverseSteps,
|
|
436
501
|
success: false,
|
|
437
502
|
clean: false,
|
|
503
|
+
encodingErrors,
|
|
504
|
+
structureErrors,
|
|
438
505
|
};
|
|
439
506
|
}
|
|
507
|
+
// Stage 3: strict checks on reverse (reimported native) output
|
|
508
|
+
if (strict.strictEncoding) {
|
|
509
|
+
encodingErrors.push(...checkStrictEncoding(reimported, "native").map((e) => `reverse: ${e}`));
|
|
510
|
+
}
|
|
511
|
+
if (strict.strictStructure) {
|
|
512
|
+
structureErrors.push(...checkStrictStructure(reimported, "native").map((e) => `reverse: ${e}`));
|
|
513
|
+
}
|
|
440
514
|
const { tools: reimportedSteps } = collectSteps(reimported);
|
|
441
515
|
// Per-step comparison (top-level + recursively-collected nested tools)
|
|
442
516
|
for (const [stepId, { step: origStep, depth }] of originalSteps) {
|
|
@@ -473,6 +547,9 @@ export function roundtripValidate(nativeRaw, toolInputsResolver) {
|
|
|
473
547
|
}
|
|
474
548
|
const diffs = [];
|
|
475
549
|
compareTree(origStep.tool_state, afterEntry.step.tool_state, "", diffs);
|
|
550
|
+
for (const diff of diffs) {
|
|
551
|
+
diff.step_path = stepId;
|
|
552
|
+
}
|
|
476
553
|
const hasError = diffs.some((d) => d.severity === "error");
|
|
477
554
|
stepResults.push({
|
|
478
555
|
stepId,
|
|
@@ -504,13 +581,17 @@ export function roundtripValidate(nativeRaw, toolInputsResolver) {
|
|
|
504
581
|
const toolResults = stepResults.filter((s) => s.failureClass !== "subworkflow_external_ref");
|
|
505
582
|
const anyError = toolResults.some((s) => !s.success);
|
|
506
583
|
const anyDiff = toolResults.some((s) => s.diffs.length > 0);
|
|
584
|
+
const hasStrictErrors = encodingErrors.length > 0 || structureErrors.length > 0;
|
|
507
585
|
return {
|
|
508
586
|
workflowName: (original.name ?? undefined) || undefined,
|
|
509
587
|
stepResults,
|
|
510
588
|
forwardSteps,
|
|
511
589
|
reverseSteps,
|
|
512
|
-
success: !anyError,
|
|
513
|
-
clean: !anyDiff && !anyError,
|
|
590
|
+
success: !anyError && !hasStrictErrors,
|
|
591
|
+
clean: !anyDiff && !anyError && !hasStrictErrors,
|
|
592
|
+
encodingErrors,
|
|
593
|
+
structureErrors,
|
|
594
|
+
reimportedWorkflow: reimported,
|
|
514
595
|
};
|
|
515
596
|
}
|
|
516
597
|
//# sourceMappingURL=roundtrip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roundtrip.js","sourceRoot":"","sources":["../../src/workflow/roundtrip.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roundtrip.js","sourceRoot":"","sources":["../../src/workflow/roundtrip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-rule catalog types and parser.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors gxformat2/schema_rules.py. Schema rules describe checks already
|
|
5
|
+
* enforced by the Effect decode layer. Each rule ships with positive and
|
|
6
|
+
* negative fixtures; the catalog contract is tested end-to-end by running
|
|
7
|
+
* fixtures through validators — not by inspecting ParseError shapes.
|
|
8
|
+
*
|
|
9
|
+
* The YAML file lives alongside this module at `./schema_rules.yml`. This
|
|
10
|
+
* module stays fs-free to keep src/ browser-compatible — callers read the
|
|
11
|
+
* file themselves (see test/schema-rules-catalog.test.ts) and hand the
|
|
12
|
+
* string to `parseSchemaRules`.
|
|
13
|
+
*/
|
|
14
|
+
/** Relative path (from this module) to the catalog YAML. */
|
|
15
|
+
export declare const SCHEMA_RULES_FILENAME = "schema_rules.yml";
|
|
16
|
+
export type Severity = "error" | "warning";
|
|
17
|
+
export type AppliesTo = "format2" | "native";
|
|
18
|
+
/**
|
|
19
|
+
* Validator flavors that reject the negative fixture.
|
|
20
|
+
* - `both`: both lax and strict reject (e.g. missing required field)
|
|
21
|
+
* - `strict`: only strict rejects (e.g. unknown extra field)
|
|
22
|
+
* - `lax`: only lax rejects — unusual, reserved for completeness
|
|
23
|
+
*/
|
|
24
|
+
export type Scope = "both" | "strict" | "lax";
|
|
25
|
+
export interface SchemaRuleTests {
|
|
26
|
+
positive: string[];
|
|
27
|
+
negative: string[];
|
|
28
|
+
}
|
|
29
|
+
export interface SchemaRule {
|
|
30
|
+
id: string;
|
|
31
|
+
severity: Severity;
|
|
32
|
+
applies_to: AppliesTo[];
|
|
33
|
+
scope: Scope;
|
|
34
|
+
description: string;
|
|
35
|
+
tests: SchemaRuleTests;
|
|
36
|
+
}
|
|
37
|
+
export declare function parseSchemaRules(yamlContent: string): SchemaRule[];
|
|
38
|
+
//# sourceMappingURL=schema-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-rules.d.ts","sourceRoot":"","sources":["../../src/workflow/schema-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,4DAA4D;AAC5D,eAAO,MAAM,qBAAqB,qBAAqB,CAAC;AAExD,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC7C;;;;;GAKG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,eAAe,CAAC;CACxB;AAUD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,EAAE,CAUlE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-rule catalog types and parser.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors gxformat2/schema_rules.py. Schema rules describe checks already
|
|
5
|
+
* enforced by the Effect decode layer. Each rule ships with positive and
|
|
6
|
+
* negative fixtures; the catalog contract is tested end-to-end by running
|
|
7
|
+
* fixtures through validators — not by inspecting ParseError shapes.
|
|
8
|
+
*
|
|
9
|
+
* The YAML file lives alongside this module at `./schema_rules.yml`. This
|
|
10
|
+
* module stays fs-free to keep src/ browser-compatible — callers read the
|
|
11
|
+
* file themselves (see test/schema-rules-catalog.test.ts) and hand the
|
|
12
|
+
* string to `parseSchemaRules`.
|
|
13
|
+
*/
|
|
14
|
+
import * as yaml from "yaml";
|
|
15
|
+
/** Relative path (from this module) to the catalog YAML. */
|
|
16
|
+
export const SCHEMA_RULES_FILENAME = "schema_rules.yml";
|
|
17
|
+
export function parseSchemaRules(yamlContent) {
|
|
18
|
+
const raw = yaml.parse(yamlContent);
|
|
19
|
+
return Object.entries(raw).map(([id, body]) => ({
|
|
20
|
+
id,
|
|
21
|
+
severity: body.severity,
|
|
22
|
+
applies_to: body.applies_to,
|
|
23
|
+
scope: body.scope,
|
|
24
|
+
description: body.description ?? "",
|
|
25
|
+
tests: body.tests,
|
|
26
|
+
}));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=schema-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-rules.js","sourceRoot":"","sources":["../../src/workflow/schema-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,4DAA4D;AAC5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAkCxD,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAkC,CAAC;IACrE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9C,EAAE;QACF,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;QACnC,KAAK,EAAE,IAAI,CAAC,KAAK;KAClB,CAAC,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Schema rule catalog.
|
|
2
|
+
#
|
|
3
|
+
# Each entry keys a schema-decode-enforced rule. Positive fixtures must pass
|
|
4
|
+
# both lax and strict validation; negative fixtures must fail per `scope`.
|
|
5
|
+
# Catalog contract is verified end-to-end by tests/test_schema_rules_catalog.py;
|
|
6
|
+
# no pydantic error shapes are introspected.
|
|
7
|
+
|
|
8
|
+
Format2MissingSteps:
|
|
9
|
+
severity: error
|
|
10
|
+
applies_to: [format2]
|
|
11
|
+
scope: both
|
|
12
|
+
description: "Format2 workflow missing required `steps` field."
|
|
13
|
+
tests:
|
|
14
|
+
positive: [synthetic-basic.gxwf.yml]
|
|
15
|
+
negative: [synthetic-missing-steps.gxwf.yml]
|
|
16
|
+
|
|
17
|
+
NativeMissingMarker:
|
|
18
|
+
severity: error
|
|
19
|
+
applies_to: [native]
|
|
20
|
+
scope: both
|
|
21
|
+
description: "Native workflow missing required `a_galaxy_workflow` marker."
|
|
22
|
+
tests:
|
|
23
|
+
positive: [real-unicycler-assembly.ga]
|
|
24
|
+
negative: [synthetic-missing-marker.ga]
|
|
25
|
+
|
|
26
|
+
NativeMarkerNotTrue:
|
|
27
|
+
severity: error
|
|
28
|
+
applies_to: [native]
|
|
29
|
+
scope: both
|
|
30
|
+
description: "`a_galaxy_workflow` must be literal string \"true\"."
|
|
31
|
+
tests:
|
|
32
|
+
positive: [real-unicycler-assembly.ga]
|
|
33
|
+
negative: [synthetic-lint-bad-marker.ga]
|
|
34
|
+
|
|
35
|
+
NativeMissingFormatVersion:
|
|
36
|
+
severity: error
|
|
37
|
+
applies_to: [native]
|
|
38
|
+
scope: both
|
|
39
|
+
description: "Native workflow missing required `format-version` field."
|
|
40
|
+
tests:
|
|
41
|
+
positive: [real-unicycler-assembly.ga]
|
|
42
|
+
negative: [real-hacked-basic-missing-format-version.ga]
|
|
43
|
+
|
|
44
|
+
NativeFormatVersionNotSupported:
|
|
45
|
+
severity: error
|
|
46
|
+
applies_to: [native]
|
|
47
|
+
scope: both
|
|
48
|
+
description: "`format-version` must be literal string \"0.1\"."
|
|
49
|
+
tests:
|
|
50
|
+
positive: [real-unicycler-assembly.ga]
|
|
51
|
+
negative: [synthetic-lint-bad-format-version.ga]
|
|
52
|
+
|
|
53
|
+
ReportMarkdownNotString:
|
|
54
|
+
severity: error
|
|
55
|
+
applies_to: [format2, native]
|
|
56
|
+
scope: both
|
|
57
|
+
description: "Workflow `report.markdown` must be a string."
|
|
58
|
+
tests:
|
|
59
|
+
positive: [synthetic-basic.gxwf.yml, real-unicycler-assembly.ga]
|
|
60
|
+
negative: [synthetic-lint-report-bad-type.gxwf.yml, synthetic-lint-report-bad-type.ga]
|
|
61
|
+
|
|
62
|
+
SchemaStrictExtraField:
|
|
63
|
+
severity: warning
|
|
64
|
+
applies_to: [format2, native]
|
|
65
|
+
scope: strict
|
|
66
|
+
description: "Unknown field present on a closed record under strict validation."
|
|
67
|
+
tests:
|
|
68
|
+
positive: [synthetic-basic.gxwf.yml, real-unicycler-assembly.ga]
|
|
69
|
+
negative: [synthetic-extra-field.gxwf.yml, synthetic-extra-field.ga]
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-aware workflow serialization + format resolution.
|
|
3
|
+
*
|
|
4
|
+
* Shared between the CLI (`@galaxy-tool-util/cli`) and the web server
|
|
5
|
+
* (`@galaxy-tool-util/gxwf-web`) so both produce byte-compatible output.
|
|
6
|
+
*/
|
|
7
|
+
import { type WorkflowFormat } from "./detect-format.js";
|
|
8
|
+
export interface SerializeWorkflowOptions {
|
|
9
|
+
/** Force JSON output regardless of format. */
|
|
10
|
+
json?: boolean;
|
|
11
|
+
/** Force YAML output regardless of format. */
|
|
12
|
+
yaml?: boolean;
|
|
13
|
+
/** JSON indent level (ignored for YAML). Default: 2. */
|
|
14
|
+
indent?: number;
|
|
15
|
+
/** Append a trailing newline (both JSON and YAML). Default: true. */
|
|
16
|
+
trailingNewline?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Serialize a workflow dict as JSON or YAML based on `format` (or explicit
|
|
20
|
+
* `json` / `yaml` overrides).
|
|
21
|
+
*
|
|
22
|
+
* YAML uses `lineWidth: 0` to disable line-wrapping so diffs stay stable.
|
|
23
|
+
*/
|
|
24
|
+
export declare function serializeWorkflow(data: Record<string, unknown>, format: WorkflowFormat, opts?: SerializeWorkflowOptions): string;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve workflow format from an optional explicit choice, falling back to
|
|
27
|
+
* `detectFormat` on the dict.
|
|
28
|
+
*/
|
|
29
|
+
export declare function resolveFormat(data: Record<string, unknown>, formatOpt?: string): WorkflowFormat;
|
|
30
|
+
//# sourceMappingURL=serialize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.d.ts","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,WAAW,wBAAwB;IACvC,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,8CAA8C;IAC9C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE,wBAA6B,GAClC,MAAM,CAWR;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAG/F"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Format-aware workflow serialization + format resolution.
|
|
3
|
+
*
|
|
4
|
+
* Shared between the CLI (`@galaxy-tool-util/cli`) and the web server
|
|
5
|
+
* (`@galaxy-tool-util/gxwf-web`) so both produce byte-compatible output.
|
|
6
|
+
*/
|
|
7
|
+
import { stringify as stringifyYaml } from "yaml";
|
|
8
|
+
import { detectFormat } from "./detect-format.js";
|
|
9
|
+
/**
|
|
10
|
+
* Serialize a workflow dict as JSON or YAML based on `format` (or explicit
|
|
11
|
+
* `json` / `yaml` overrides).
|
|
12
|
+
*
|
|
13
|
+
* YAML uses `lineWidth: 0` to disable line-wrapping so diffs stay stable.
|
|
14
|
+
*/
|
|
15
|
+
export function serializeWorkflow(data, format, opts = {}) {
|
|
16
|
+
const useYaml = opts.yaml || (!opts.json && format === "format2");
|
|
17
|
+
const newline = opts.trailingNewline ?? true;
|
|
18
|
+
if (useYaml) {
|
|
19
|
+
const out = stringifyYaml(data, { lineWidth: 0 });
|
|
20
|
+
// `yaml` already ends with a newline; don't double-append.
|
|
21
|
+
if (newline)
|
|
22
|
+
return out.endsWith("\n") ? out : out + "\n";
|
|
23
|
+
return out.endsWith("\n") ? out.slice(0, -1) : out;
|
|
24
|
+
}
|
|
25
|
+
const indent = opts.indent ?? 2;
|
|
26
|
+
return JSON.stringify(data, null, indent) + (newline ? "\n" : "");
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve workflow format from an optional explicit choice, falling back to
|
|
30
|
+
* `detectFormat` on the dict.
|
|
31
|
+
*/
|
|
32
|
+
export function resolveFormat(data, formatOpt) {
|
|
33
|
+
if (formatOpt === "native" || formatOpt === "format2")
|
|
34
|
+
return formatOpt;
|
|
35
|
+
return detectFormat(data);
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=serialize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../src/workflow/serialize.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,YAAY,EAAuB,MAAM,oBAAoB,CAAC;AAavE;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA6B,EAC7B,MAAsB,EACtB,OAAiC,EAAE;IAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QAClD,2DAA2D;QAC3D,IAAI,OAAO;YAAE,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1D,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACrD,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,IAA6B,EAAE,SAAkB;IAC7E,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -1,40 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* ConnectedValue injection and stripping for workflow state dicts.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Thin wrappers around walkNativeState that inject or strip
|
|
5
|
+
* ConnectedValue markers. Mutate state in-place for caller compat.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* and format2 validation paths.
|
|
7
|
+
* Port of Python galaxy.tool_util.workflow_state._state_merge.
|
|
8
|
+
* Tree-walking helpers live in walk-helpers.ts; re-exported here
|
|
9
|
+
* for backward compatibility.
|
|
11
10
|
*/
|
|
12
|
-
import type { ToolParameterModel
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
/** Filter a flat key→value map to keys starting with a given prefix. */
|
|
16
|
-
export declare function keysStartingWith<T>(map: Record<string, T>, prefix: string): Record<string, T>;
|
|
17
|
-
/**
|
|
18
|
-
* Split flat connection keys for a repeat into per-instance arrays.
|
|
19
|
-
*
|
|
20
|
-
* Connection keys use the pattern `repeatName_N|paramName`.
|
|
21
|
-
* Returns an array of per-instance connection dicts.
|
|
22
|
-
*/
|
|
23
|
-
export declare function repeatInputsToArray<T>(statePath: string, inputs: Record<string, T>): Record<string, T>[];
|
|
24
|
-
/**
|
|
25
|
-
* Select the matching ConditionalWhen for a conditional state dict.
|
|
26
|
-
*
|
|
27
|
-
* Matches the test parameter's value in state against each when's
|
|
28
|
-
* discriminator. Falls back to the default when if no match found.
|
|
29
|
-
* Returns null if no match at all (graceful degradation).
|
|
30
|
-
*/
|
|
31
|
-
export declare function selectWhichWhen(conditional: ConditionalParameterModel, state: Record<string, unknown>): ConditionalWhen | null;
|
|
11
|
+
import type { ToolParameterModel } from "../schema/bundle-types.js";
|
|
12
|
+
import { flatStatePath, keysStartingWith, repeatInputsToArray, selectWhichWhen } from "./walk-helpers.js";
|
|
13
|
+
export { flatStatePath, keysStartingWith, repeatInputsToArray, selectWhichWhen };
|
|
32
14
|
/**
|
|
33
15
|
* Inject ConnectedValue markers into a state dict for all connections.
|
|
34
16
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
17
|
+
* Uses walkNativeState with a leaf callback that replaces connected
|
|
18
|
+
* leaves with ConnectedValue markers, then reassigns the input state
|
|
19
|
+
* in-place to preserve the mutation contract callers expect.
|
|
38
20
|
*
|
|
39
21
|
* @returns remaining unmatched connection paths (empty if all consumed)
|
|
40
22
|
*/
|
|
@@ -42,8 +24,9 @@ export declare function injectConnectionsIntoState(toolInputs: ToolParameterMode
|
|
|
42
24
|
/**
|
|
43
25
|
* Strip ConnectedValue markers from a state dict using the parameter tree.
|
|
44
26
|
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
27
|
+
* Uses walkNativeState with a leaf callback that omits ConnectedValue
|
|
28
|
+
* entries via SKIP_VALUE, then reassigns the input state in-place to
|
|
29
|
+
* preserve the mutation contract callers expect.
|
|
47
30
|
*/
|
|
48
31
|
export declare function stripConnectedValues(toolInputs: ToolParameterModel[], state: Record<string, unknown>): void;
|
|
49
32
|
//# sourceMappingURL=state-merge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-merge.d.ts","sourceRoot":"","sources":["../../src/workflow/state-merge.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"state-merge.d.ts","sourceRoot":"","sources":["../../src/workflow/state-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAIjF;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,kBAAkB,EAAE,EAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBzB;AAID;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,kBAAkB,EAAE,EAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAWN"}
|