@galaxy-tool-util/schema 0.2.0 → 1.0.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 +86 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +60 -2
- package/dist/index.js.map +1 -1
- package/dist/schema/parameter-defaults.d.ts +36 -0
- package/dist/schema/parameter-defaults.d.ts.map +1 -0
- package/dist/schema/parameter-defaults.js +128 -0
- package/dist/schema/parameter-defaults.js.map +1 -0
- package/dist/schema/parsed-tool.d.ts +47 -0
- package/dist/schema/parsed-tool.d.ts.map +1 -0
- package/dist/schema/parsed-tool.js +49 -0
- package/dist/schema/parsed-tool.js.map +1 -0
- 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 +30 -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/fill-defaults.d.ts +39 -0
- package/dist/workflow/fill-defaults.d.ts.map +1 -0
- package/dist/workflow/fill-defaults.js +53 -0
- package/dist/workflow/fill-defaults.js.map +1 -0
- package/dist/workflow/index.d.ts +17 -5
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +17 -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/mermaid.d.ts +11 -0
- package/dist/workflow/mermaid.d.ts.map +1 -0
- package/dist/workflow/mermaid.js +158 -0
- package/dist/workflow/mermaid.js.map +1 -0
- package/dist/workflow/minimal-tool-state.d.ts +15 -0
- package/dist/workflow/minimal-tool-state.d.ts.map +1 -0
- package/dist/workflow/minimal-tool-state.js +16 -0
- package/dist/workflow/minimal-tool-state.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/step-skeleton.d.ts +29 -0
- package/dist/workflow/step-skeleton.d.ts.map +1 -0
- package/dist/workflow/step-skeleton.js +55 -0
- package/dist/workflow/step-skeleton.js.map +1 -0
- 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 +12 -0
- package/dist/workflow/walker.d.ts.map +1 -1
- package/dist/workflow/walker.js +27 -8
- package/dist/workflow/walker.js.map +1 -1
- package/package.json +6 -7
package/dist/index.d.ts
CHANGED
|
@@ -20,7 +20,26 @@ registeredValidatorTypes,
|
|
|
20
20
|
/** Extract the set of parameter types used in a tool bundle. */
|
|
21
21
|
collectParameterTypes,
|
|
22
22
|
/** Extract the set of validator types used in a tool bundle. */
|
|
23
|
-
collectValidatorTypes,
|
|
23
|
+
collectValidatorTypes, } from "./schema/index.js";
|
|
24
|
+
export {
|
|
25
|
+
/** Top-level bundle of tool parameters. */
|
|
26
|
+
type ToolParameterBundleModel,
|
|
27
|
+
/** Union of all tool parameter types (discriminated on parameter_type). */
|
|
28
|
+
type ToolParameterModel,
|
|
29
|
+
/** Union of leaf (non-container) Galaxy parameter types. */
|
|
30
|
+
type GalaxyParameterModel,
|
|
31
|
+
/** Union of container parameter types (section, repeat, conditional). */
|
|
32
|
+
type ContainerParameterModel,
|
|
33
|
+
/** Base fields shared by all leaf Galaxy parameter types. */
|
|
34
|
+
type BaseGalaxyParameterModel, type IntegerParameterModel, type FloatParameterModel, type TextParameterModel, type SelectParameterModel, type GenomeBuildParameterModel, type DrillDownParameterModel, type BooleanParameterModel, type SectionParameterModel, type RepeatParameterModel, type ConditionalParameterModel,
|
|
35
|
+
/** A single branch of a ConditionalParameterModel. */
|
|
36
|
+
type ConditionalWhen,
|
|
37
|
+
/** A label/value pair used in select and genomebuild options. */
|
|
38
|
+
type LabelValue, } from "./schema/bundle-types.js";
|
|
39
|
+
export {
|
|
40
|
+
/** True for gx_select, gx_genomebuild, gx_drill_down — params with an options list. */
|
|
41
|
+
isSelectLikeParam, isBooleanParam, isSectionParam, isRepeatParam, isConditionalParam, } from "./schema/type-guards.js";
|
|
42
|
+
export { ParsedTool, HelpContent, XrefDict, Citation } from "./schema/parsed-tool.js";
|
|
24
43
|
export { type GalaxyWorkflow,
|
|
25
44
|
/** Union schema accepting any Galaxy workflow format (format2 or native). */
|
|
26
45
|
GalaxyWorkflowSchema, type NativeGalaxyWorkflow,
|
|
@@ -34,6 +53,16 @@ normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, To
|
|
|
34
53
|
injectConnectionsIntoState,
|
|
35
54
|
/** Strip ConnectedValue markers from state using parameter tree. */
|
|
36
55
|
stripConnectedValues,
|
|
56
|
+
/** Expand defaults into a tool state dict (port of Python fill_static_defaults). */
|
|
57
|
+
expandToolStateDefaults,
|
|
58
|
+
/** Build the minimal `tool_state` for a freshly inserted step. Today returns `{}`; designated extension point. */
|
|
59
|
+
buildMinimalToolState,
|
|
60
|
+
/** Build a native (.ga) step skeleton for an inserted tool. */
|
|
61
|
+
buildNativeStep,
|
|
62
|
+
/** Build a format2 (.gxwf.yml) step skeleton for an inserted tool. */
|
|
63
|
+
buildFormat2Step,
|
|
64
|
+
/** Build a step skeleton for an inserted tool; dispatches on format. */
|
|
65
|
+
buildStep, type StepSkeletonInputs,
|
|
37
66
|
/** Flatten a nested parameter path to a dot-separated string. */
|
|
38
67
|
flatStatePath, keysStartingWith,
|
|
39
68
|
/** Convert repeat block inputs to arrays. */
|
|
@@ -59,17 +88,29 @@ toNativeStateful, type StepConversionStatus, type StepConversionFailureClass, ty
|
|
|
59
88
|
/** Precheck a native workflow / step for stateful conversion compatibility. */
|
|
60
89
|
precheckNativeWorkflow, precheckNativeStep, type PrecheckResult, type StepPrecheckResult,
|
|
61
90
|
/** Effect Schema validation wrappers for stateful conversion (pre/post). */
|
|
62
|
-
ConversionValidationFailure, validateNativeStepState, validateFormat2StepState,
|
|
91
|
+
ConversionValidationFailure, validateNativeStepState, validateFormat2StepState,
|
|
92
|
+
/** Strict format2 state validation — reports unknown keys as diagnostics. */
|
|
93
|
+
validateFormat2StepStateStrict, type ValidationPhase,
|
|
94
|
+
/** Navigate a tool parameter tree by path segments (for LSP completion/hover). */
|
|
95
|
+
findParamAtPath, type ParamNavigationResult,
|
|
63
96
|
/** Roundtrip a native workflow through format2 and back, diffing tool_state per step. */
|
|
64
|
-
roundtripValidate, type RoundtripResult, type
|
|
97
|
+
roundtripValidate, type RoundtripResult, type RoundtripStrictOptions, type StepRoundtripResult, type BenignArtifactKind, type RoundtripFailureClass,
|
|
65
98
|
/** Scan native workflow tool_state for legacy parameter encoding signals. */
|
|
66
99
|
scanToolState, type LegacyEncodingClassification, type LegacyEncodingHit, type LegacyEncodingScanResult,
|
|
67
100
|
/** Clean a workflow — strip stale keys, decode legacy tool_state encoding. */
|
|
68
|
-
cleanWorkflow,
|
|
101
|
+
cleanWorkflow, type CleanWorkflowResult, workflowToMermaid, type MermaidOptions,
|
|
69
102
|
/** Detect whether a workflow dict is native (.ga) or format2 (.gxwf.yml). */
|
|
70
103
|
detectFormat, type WorkflowFormat,
|
|
104
|
+
/** Format-aware workflow serializer (JSON/YAML, configurable indent and newline). */
|
|
105
|
+
serializeWorkflow, type SerializeWorkflowOptions,
|
|
106
|
+
/** Resolve workflow format from an optional override, falling back to detectFormat. */
|
|
107
|
+
resolveFormat,
|
|
71
108
|
/** Lint context for tracking errors and warnings during workflow linting. */
|
|
72
109
|
LintContext,
|
|
110
|
+
/** Structured lint emission (message + level + linter + json_pointer). */
|
|
111
|
+
LintMessage,
|
|
112
|
+
/** Metadata-only base class for lint rules. */
|
|
113
|
+
Linter, LEVEL_ERROR, LEVEL_WARN,
|
|
73
114
|
/** Lint a native Galaxy workflow (.ga format). */
|
|
74
115
|
lintNative,
|
|
75
116
|
/** Lint a Format2 Galaxy workflow (.gxwf.yml format). */
|
|
@@ -79,5 +120,45 @@ lintWorkflow,
|
|
|
79
120
|
/** Lint best practices for a Format2 Galaxy workflow. */
|
|
80
121
|
lintBestPracticesFormat2,
|
|
81
122
|
/** Lint best practices for a native Galaxy workflow. */
|
|
82
|
-
lintBestPracticesNative, type LintResult,
|
|
123
|
+
lintBestPracticesNative, type LintLevel, type LintResult, type LinterRef, type EmitOptions,
|
|
124
|
+
/** Lint rule classes (one per rule id). */
|
|
125
|
+
NativeStepKeyNotInteger,
|
|
126
|
+
/** Lint profile catalog loader — parses `lint_profiles.yml`. */
|
|
127
|
+
parseLintProfiles, lintProfilesById, rulesForProfile, iwcRuleIds, LINT_PROFILES_FILENAME, IWC_PROFILE_NAMES, type LintProfile,
|
|
128
|
+
/** Strict encoding check — reject JSON-string tool_state (native) or tool_state field misuse (format2). */
|
|
129
|
+
validateEncodingNative, validateEncodingFormat2, checkStrictEncoding,
|
|
130
|
+
/** Strict structure check — reject unknown keys via onExcessProperty: "error". */
|
|
131
|
+
checkStrictStructure,
|
|
132
|
+
/** Inject `class` discriminator into workflow dict when missing (recursive over step subworkflows). */
|
|
133
|
+
withClass,
|
|
134
|
+
/** Effect-schema validator dispatch mirroring gxformat2/validators.py. */
|
|
135
|
+
validateFormat2, validateFormat2Strict, validateNative, validateNativeStrict, validatorForFixture, type StepStatus, SKIP_STATUSES, type ValidationStepResult, type CleanStepResult, type ResolvedOutputType, type ConnectionResult, type ConnectionStepResult, type ConnectionValidationReport, type WorkflowEntry, type WorkflowIndex, type SingleValidationReport, type SingleLintReport, type SingleCleanReport, type DiffType, type DiffSeverity, type BenignArtifact, type StepDiff, type SkipWorkflowReason, type FailureClass, type StepResult, type RoundTripResult, type StepIdMappingResult, type RoundTripValidationResult, type SingleRoundTripReport, type SingleExportReport, type StepEncodeStatus, type ToNativeResult, type WorkflowSourceFormat, type ExportResult, type ConvertResult, type WorkflowValidationResult, type LintWorkflowResult, type WorkflowCleanResult, type CategoryGroup, type TreeValidationReport, type LintTreeReport, type TreeCleanReport, type WorkflowExportResult, type ExportTreeReport, type WorkflowToNativeResult, type ToNativeTreeReport, type ToolFailureMode, type RoundTripTreeReport, validationSummary, validationFailures, cleanDisplayLabel, categoryOf, groupByCategory, buildSingleValidationReport, buildSingleLintReport, buildSingleCleanReport, buildWorkflowValidationResult, buildLintWorkflowResult, buildWorkflowCleanResult, buildTreeValidationReport, buildLintTreeReport, buildTreeCleanReport, buildWorkflowExportResult, buildExportTreeReport, buildWorkflowToNativeResult, buildToNativeTreeReport, buildRoundTripTreeReport, type CleanWorkflowOptions, } from "./workflow/index.js";
|
|
136
|
+
export { ToolStateValidator, type ToolStateDiagnostic } from "./tool-state-validator.js";
|
|
137
|
+
export {
|
|
138
|
+
/** Validate a parsed *.gxwf-tests.yml / Planemo *-tests.yml document. */
|
|
139
|
+
validateTestsFile,
|
|
140
|
+
/** Raw JSON Schema synced from galaxy.tool_util_models.Tests (Python source of truth). */
|
|
141
|
+
testsSchema, type TestFormatDiagnostic,
|
|
142
|
+
/** Workflow-input DTO shared with the VS Code plugin. */
|
|
143
|
+
type WorkflowInput,
|
|
144
|
+
/** Workflow-output DTO shared with the VS Code plugin. */
|
|
145
|
+
type WorkflowOutput,
|
|
146
|
+
/** Workflow parameter type vocabulary (stringified; extractors don't canonicalize). */
|
|
147
|
+
type WorkflowDataType,
|
|
148
|
+
/** Workflow shape consumed by `checkTestsAgainstWorkflow`. */
|
|
149
|
+
type WorkflowShape,
|
|
150
|
+
/** Extract inputs from a parsed workflow dict (auto-detects format). */
|
|
151
|
+
extractWorkflowInputs,
|
|
152
|
+
/** Extract outputs from a parsed workflow dict (auto-detects format). */
|
|
153
|
+
extractWorkflowOutputs,
|
|
154
|
+
/** Format2-specific extractors (operate on raw parsed dicts, not AST). */
|
|
155
|
+
extractFormat2Inputs, extractFormat2Outputs,
|
|
156
|
+
/** Native (.ga) extractors (read step-level tool_state for default/optional). */
|
|
157
|
+
extractNativeInputs, extractNativeOutputs,
|
|
158
|
+
/** Coarse type compatibility used by cross-check; permissive default. Takes type *strings* on both sides. */
|
|
159
|
+
isCompatibleType,
|
|
160
|
+
/** Runtime type tag for a JS value, in the YAML-language-server AST vocabulary. */
|
|
161
|
+
jsTypeOf,
|
|
162
|
+
/** Cross-check a tests doc against workflow shape; emits JSON-pointer diagnostics. */
|
|
163
|
+
checkTestsAgainstWorkflow, } from "./test-format/index.js";
|
|
83
164
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO;AACL,0FAA0F;AAC1F,gBAAgB,EAChB,KAAK,mBAAmB;AACxB,4CAA4C;AAC5C,qBAAqB;AACrB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,gEAAgE;AAChE,qBAAqB;AACrB,gEAAgE;AAChE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,10 @@ collectParameterTypes,
|
|
|
22
22
|
/** Extract the set of validator types used in a tool bundle. */
|
|
23
23
|
collectValidatorTypes, } from "./schema/index.js";
|
|
24
24
|
export {
|
|
25
|
+
/** True for gx_select, gx_genomebuild, gx_drill_down — params with an options list. */
|
|
26
|
+
isSelectLikeParam, isBooleanParam, isSectionParam, isRepeatParam, isConditionalParam, } from "./schema/type-guards.js";
|
|
27
|
+
export { ParsedTool, HelpContent, XrefDict, Citation } from "./schema/parsed-tool.js";
|
|
28
|
+
export {
|
|
25
29
|
/** Union schema accepting any Galaxy workflow format (format2 or native). */
|
|
26
30
|
GalaxyWorkflowSchema,
|
|
27
31
|
/** Schema for raw native (.ga) Galaxy workflows. */
|
|
@@ -34,6 +38,16 @@ normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, To
|
|
|
34
38
|
injectConnectionsIntoState,
|
|
35
39
|
/** Strip ConnectedValue markers from state using parameter tree. */
|
|
36
40
|
stripConnectedValues,
|
|
41
|
+
/** Expand defaults into a tool state dict (port of Python fill_static_defaults). */
|
|
42
|
+
expandToolStateDefaults,
|
|
43
|
+
/** Build the minimal `tool_state` for a freshly inserted step. Today returns `{}`; designated extension point. */
|
|
44
|
+
buildMinimalToolState,
|
|
45
|
+
/** Build a native (.ga) step skeleton for an inserted tool. */
|
|
46
|
+
buildNativeStep,
|
|
47
|
+
/** Build a format2 (.gxwf.yml) step skeleton for an inserted tool. */
|
|
48
|
+
buildFormat2Step,
|
|
49
|
+
/** Build a step skeleton for an inserted tool; dispatches on format. */
|
|
50
|
+
buildStep,
|
|
37
51
|
/** Flatten a nested parameter path to a dot-separated string. */
|
|
38
52
|
flatStatePath, keysStartingWith,
|
|
39
53
|
/** Convert repeat block inputs to arrays. */
|
|
@@ -60,16 +74,28 @@ toNativeStateful,
|
|
|
60
74
|
precheckNativeWorkflow, precheckNativeStep,
|
|
61
75
|
/** Effect Schema validation wrappers for stateful conversion (pre/post). */
|
|
62
76
|
ConversionValidationFailure, validateNativeStepState, validateFormat2StepState,
|
|
77
|
+
/** Strict format2 state validation — reports unknown keys as diagnostics. */
|
|
78
|
+
validateFormat2StepStateStrict,
|
|
79
|
+
/** Navigate a tool parameter tree by path segments (for LSP completion/hover). */
|
|
80
|
+
findParamAtPath,
|
|
63
81
|
/** Roundtrip a native workflow through format2 and back, diffing tool_state per step. */
|
|
64
82
|
roundtripValidate,
|
|
65
83
|
/** Scan native workflow tool_state for legacy parameter encoding signals. */
|
|
66
84
|
scanToolState,
|
|
67
85
|
/** Clean a workflow — strip stale keys, decode legacy tool_state encoding. */
|
|
68
|
-
cleanWorkflow,
|
|
86
|
+
cleanWorkflow, workflowToMermaid,
|
|
69
87
|
/** Detect whether a workflow dict is native (.ga) or format2 (.gxwf.yml). */
|
|
70
88
|
detectFormat,
|
|
89
|
+
/** Format-aware workflow serializer (JSON/YAML, configurable indent and newline). */
|
|
90
|
+
serializeWorkflow,
|
|
91
|
+
/** Resolve workflow format from an optional override, falling back to detectFormat. */
|
|
92
|
+
resolveFormat,
|
|
71
93
|
/** Lint context for tracking errors and warnings during workflow linting. */
|
|
72
94
|
LintContext,
|
|
95
|
+
/** Structured lint emission (message + level + linter + json_pointer). */
|
|
96
|
+
LintMessage,
|
|
97
|
+
/** Metadata-only base class for lint rules. */
|
|
98
|
+
Linter, LEVEL_ERROR, LEVEL_WARN,
|
|
73
99
|
/** Lint a native Galaxy workflow (.ga format). */
|
|
74
100
|
lintNative,
|
|
75
101
|
/** Lint a Format2 Galaxy workflow (.gxwf.yml format). */
|
|
@@ -79,5 +105,37 @@ lintWorkflow,
|
|
|
79
105
|
/** Lint best practices for a Format2 Galaxy workflow. */
|
|
80
106
|
lintBestPracticesFormat2,
|
|
81
107
|
/** Lint best practices for a native Galaxy workflow. */
|
|
82
|
-
lintBestPracticesNative,
|
|
108
|
+
lintBestPracticesNative,
|
|
109
|
+
/** Lint rule classes (one per rule id). */
|
|
110
|
+
NativeStepKeyNotInteger,
|
|
111
|
+
/** Lint profile catalog loader — parses `lint_profiles.yml`. */
|
|
112
|
+
parseLintProfiles, lintProfilesById, rulesForProfile, iwcRuleIds, LINT_PROFILES_FILENAME, IWC_PROFILE_NAMES,
|
|
113
|
+
/** Strict encoding check — reject JSON-string tool_state (native) or tool_state field misuse (format2). */
|
|
114
|
+
validateEncodingNative, validateEncodingFormat2, checkStrictEncoding,
|
|
115
|
+
/** Strict structure check — reject unknown keys via onExcessProperty: "error". */
|
|
116
|
+
checkStrictStructure,
|
|
117
|
+
/** Inject `class` discriminator into workflow dict when missing (recursive over step subworkflows). */
|
|
118
|
+
withClass,
|
|
119
|
+
/** Effect-schema validator dispatch mirroring gxformat2/validators.py. */
|
|
120
|
+
validateFormat2, validateFormat2Strict, validateNative, validateNativeStrict, validatorForFixture, SKIP_STATUSES, validationSummary, validationFailures, cleanDisplayLabel, categoryOf, groupByCategory, buildSingleValidationReport, buildSingleLintReport, buildSingleCleanReport, buildWorkflowValidationResult, buildLintWorkflowResult, buildWorkflowCleanResult, buildTreeValidationReport, buildLintTreeReport, buildTreeCleanReport, buildWorkflowExportResult, buildExportTreeReport, buildWorkflowToNativeResult, buildToNativeTreeReport, buildRoundTripTreeReport, } from "./workflow/index.js";
|
|
121
|
+
export { ToolStateValidator } from "./tool-state-validator.js";
|
|
122
|
+
export {
|
|
123
|
+
/** Validate a parsed *.gxwf-tests.yml / Planemo *-tests.yml document. */
|
|
124
|
+
validateTestsFile,
|
|
125
|
+
/** Raw JSON Schema synced from galaxy.tool_util_models.Tests (Python source of truth). */
|
|
126
|
+
testsSchema,
|
|
127
|
+
/** Extract inputs from a parsed workflow dict (auto-detects format). */
|
|
128
|
+
extractWorkflowInputs,
|
|
129
|
+
/** Extract outputs from a parsed workflow dict (auto-detects format). */
|
|
130
|
+
extractWorkflowOutputs,
|
|
131
|
+
/** Format2-specific extractors (operate on raw parsed dicts, not AST). */
|
|
132
|
+
extractFormat2Inputs, extractFormat2Outputs,
|
|
133
|
+
/** Native (.ga) extractors (read step-level tool_state for default/optional). */
|
|
134
|
+
extractNativeInputs, extractNativeOutputs,
|
|
135
|
+
/** Coarse type compatibility used by cross-check; permissive default. Takes type *strings* on both sides. */
|
|
136
|
+
isCompatibleType,
|
|
137
|
+
/** Runtime type tag for a JS value, in the YAML-language-server AST vocabulary. */
|
|
138
|
+
jsTypeOf,
|
|
139
|
+
/** Cross-check a tests doc against workflow shape; emits JSON-pointer diagnostics. */
|
|
140
|
+
checkTestsAgainstWorkflow, } from "./test-format/index.js";
|
|
83
141
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO;AACL,0FAA0F;AAC1F,gBAAgB;AAEhB,4CAA4C;AAC5C,qBAAqB;AACrB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,gEAAgE;AAChE,qBAAqB;AACrB,gEAAgE;AAChE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-parameter-type default emission.
|
|
3
|
+
*
|
|
4
|
+
* Port of scalar branches of `galaxy.tool_util.parameters.convert._fill_default_for`.
|
|
5
|
+
* Container types (conditional, repeat, section) are handled by the walker in
|
|
6
|
+
* `workflow/fill-defaults.ts`, not here.
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolParameterModel } from "./bundle-types.js";
|
|
9
|
+
/** Sentinel: return from scalarParameterDefault to leave the key absent. */
|
|
10
|
+
export declare const NO_DEFAULT: unique symbol;
|
|
11
|
+
/**
|
|
12
|
+
* Return the default value to emit for a scalar (leaf) parameter when the key
|
|
13
|
+
* is absent from tool state, or NO_DEFAULT to leave the key absent.
|
|
14
|
+
*
|
|
15
|
+
* Mirrors `_fill_default_for` scalar branches in convert.py. Container types
|
|
16
|
+
* (gx_conditional, gx_repeat, gx_section) are not handled here — they are
|
|
17
|
+
* the walker's concern. CWL parameter types fall through to NO_DEFAULT.
|
|
18
|
+
*
|
|
19
|
+
* Dynamic-options selects (`options === null`) return NO_DEFAULT; the value
|
|
20
|
+
* is resolved at runtime.
|
|
21
|
+
*
|
|
22
|
+
* Never emits placeholder values (e.g. RuntimeValue) for data / data_column /
|
|
23
|
+
* data_collection-nonoptional / baseurl / color / directory_uri / group_tag /
|
|
24
|
+
* rules — those keys stay absent so the caller wires them explicitly, rather
|
|
25
|
+
* than mimicking the Galaxy UI's runtime-value scaffolding.
|
|
26
|
+
*/
|
|
27
|
+
export declare function scalarParameterDefault(param: ToolParameterModel): unknown | typeof NO_DEFAULT;
|
|
28
|
+
/**
|
|
29
|
+
* Text-null coercion: if a text parameter is present with `null` and is
|
|
30
|
+
* non-optional, coerce to default_value ?? "". This is the only place
|
|
31
|
+
* expand-defaults mutates a present key. Idempotent because "" stays "".
|
|
32
|
+
*
|
|
33
|
+
* Returns the coerced value, or the sentinel to signal "no coercion needed".
|
|
34
|
+
*/
|
|
35
|
+
export declare function coerceTextNullIfNeeded(param: ToolParameterModel, value: unknown): unknown | typeof NO_DEFAULT;
|
|
36
|
+
//# sourceMappingURL=parameter-defaults.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-defaults.d.ts","sourceRoot":"","sources":["../../src/schema/parameter-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAIV,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,OAAO,MAA6B,CAAC;AA4C9D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,GAAG,OAAO,UAAU,CAuC7F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,GAAG,OAAO,UAAU,CAK7B"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-parameter-type default emission.
|
|
3
|
+
*
|
|
4
|
+
* Port of scalar branches of `galaxy.tool_util.parameters.convert._fill_default_for`.
|
|
5
|
+
* Container types (conditional, repeat, section) are handled by the walker in
|
|
6
|
+
* `workflow/fill-defaults.ts`, not here.
|
|
7
|
+
*/
|
|
8
|
+
/** Sentinel: return from scalarParameterDefault to leave the key absent. */
|
|
9
|
+
export const NO_DEFAULT = Symbol("NO_DEFAULT");
|
|
10
|
+
/**
|
|
11
|
+
* First selected option value (single-select), else first option when required,
|
|
12
|
+
* else null. Mirrors `SelectParameterModel.default_value` in Python.
|
|
13
|
+
*/
|
|
14
|
+
function selectDefaultSingle(param) {
|
|
15
|
+
if (!param.options || param.options.length === 0)
|
|
16
|
+
return null;
|
|
17
|
+
for (const opt of param.options) {
|
|
18
|
+
if (opt.selected)
|
|
19
|
+
return opt.value;
|
|
20
|
+
}
|
|
21
|
+
if (!param.optional)
|
|
22
|
+
return param.options[0].value;
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
/** Selected option values (multi-select). Mirrors `default_values` in Python. */
|
|
26
|
+
function selectDefaultMultiple(param) {
|
|
27
|
+
if (!param.options)
|
|
28
|
+
return null;
|
|
29
|
+
return param.options.filter((o) => o.selected).map((o) => o.value);
|
|
30
|
+
}
|
|
31
|
+
/** Walk drill-down option tree collecting values of selected nodes (any depth). */
|
|
32
|
+
function selectedDrillDownOptions(options) {
|
|
33
|
+
const out = [];
|
|
34
|
+
const walk = (opts) => {
|
|
35
|
+
for (const opt of opts) {
|
|
36
|
+
if (opt.selected && opt.value)
|
|
37
|
+
out.push(opt.value);
|
|
38
|
+
if (opt.options && opt.options.length > 0)
|
|
39
|
+
walk(opt.options);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
walk(options);
|
|
43
|
+
return out;
|
|
44
|
+
}
|
|
45
|
+
function drillDownDefaultSingle(param) {
|
|
46
|
+
const selected = selectedDrillDownOptions(param.options);
|
|
47
|
+
return selected.length > 0 ? selected[0] : null;
|
|
48
|
+
}
|
|
49
|
+
function drillDownDefaultMultiple(param) {
|
|
50
|
+
if (!param.options || param.options.length === 0)
|
|
51
|
+
return null;
|
|
52
|
+
return selectedDrillDownOptions(param.options);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Return the default value to emit for a scalar (leaf) parameter when the key
|
|
56
|
+
* is absent from tool state, or NO_DEFAULT to leave the key absent.
|
|
57
|
+
*
|
|
58
|
+
* Mirrors `_fill_default_for` scalar branches in convert.py. Container types
|
|
59
|
+
* (gx_conditional, gx_repeat, gx_section) are not handled here — they are
|
|
60
|
+
* the walker's concern. CWL parameter types fall through to NO_DEFAULT.
|
|
61
|
+
*
|
|
62
|
+
* Dynamic-options selects (`options === null`) return NO_DEFAULT; the value
|
|
63
|
+
* is resolved at runtime.
|
|
64
|
+
*
|
|
65
|
+
* Never emits placeholder values (e.g. RuntimeValue) for data / data_column /
|
|
66
|
+
* data_collection-nonoptional / baseurl / color / directory_uri / group_tag /
|
|
67
|
+
* rules — those keys stay absent so the caller wires them explicitly, rather
|
|
68
|
+
* than mimicking the Galaxy UI's runtime-value scaffolding.
|
|
69
|
+
*/
|
|
70
|
+
export function scalarParameterDefault(param) {
|
|
71
|
+
switch (param.parameter_type) {
|
|
72
|
+
case "gx_boolean":
|
|
73
|
+
// TS schema types value as non-nullable boolean; Python tolerates None and
|
|
74
|
+
// coerces via `value or False` (convert.py:348).
|
|
75
|
+
return param.value;
|
|
76
|
+
case "gx_integer":
|
|
77
|
+
case "gx_float":
|
|
78
|
+
case "gx_hidden":
|
|
79
|
+
return param.value;
|
|
80
|
+
case "gx_genomebuild":
|
|
81
|
+
return param.optional ? null : NO_DEFAULT;
|
|
82
|
+
case "gx_select": {
|
|
83
|
+
if (param.options === null)
|
|
84
|
+
return NO_DEFAULT; // dynamic
|
|
85
|
+
if (param.multiple) {
|
|
86
|
+
const values = selectDefaultMultiple(param);
|
|
87
|
+
return values && values.length > 0 ? values : null;
|
|
88
|
+
}
|
|
89
|
+
return selectDefaultSingle(param);
|
|
90
|
+
}
|
|
91
|
+
case "gx_drill_down": {
|
|
92
|
+
if (param.multiple) {
|
|
93
|
+
const opts = drillDownDefaultMultiple(param);
|
|
94
|
+
return opts !== null ? opts : NO_DEFAULT;
|
|
95
|
+
}
|
|
96
|
+
const opt = drillDownDefaultSingle(param);
|
|
97
|
+
return opt !== null ? opt : NO_DEFAULT;
|
|
98
|
+
}
|
|
99
|
+
case "gx_data_collection":
|
|
100
|
+
return param.optional ? null : NO_DEFAULT;
|
|
101
|
+
case "gx_text":
|
|
102
|
+
if (!param.optional)
|
|
103
|
+
return param.value ?? "";
|
|
104
|
+
return param.value;
|
|
105
|
+
default:
|
|
106
|
+
// gx_data, gx_data_column, gx_baseurl, gx_color, gx_directory_uri,
|
|
107
|
+
// gx_group_tag, gx_rules, cwl_*, and containers (which shouldn't reach
|
|
108
|
+
// here via the walker leaf callback) all fall through.
|
|
109
|
+
return NO_DEFAULT;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Text-null coercion: if a text parameter is present with `null` and is
|
|
114
|
+
* non-optional, coerce to default_value ?? "". This is the only place
|
|
115
|
+
* expand-defaults mutates a present key. Idempotent because "" stays "".
|
|
116
|
+
*
|
|
117
|
+
* Returns the coerced value, or the sentinel to signal "no coercion needed".
|
|
118
|
+
*/
|
|
119
|
+
export function coerceTextNullIfNeeded(param, value) {
|
|
120
|
+
if (param.parameter_type !== "gx_text")
|
|
121
|
+
return NO_DEFAULT;
|
|
122
|
+
if (value !== null)
|
|
123
|
+
return NO_DEFAULT;
|
|
124
|
+
if (param.optional)
|
|
125
|
+
return NO_DEFAULT;
|
|
126
|
+
return param.value ?? "";
|
|
127
|
+
}
|
|
128
|
+
//# sourceMappingURL=parameter-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parameter-defaults.js","sourceRoot":"","sources":["../../src/schema/parameter-defaults.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import * as S from "effect/Schema";
|
|
2
|
+
import type { ToolParameterModel } from "./bundle-types.js";
|
|
3
|
+
/** Tool help content with format (rst, markdown, etc.) and rendered content. */
|
|
4
|
+
export declare const HelpContent: S.Struct<{
|
|
5
|
+
format: typeof S.String;
|
|
6
|
+
content: typeof S.String;
|
|
7
|
+
}>;
|
|
8
|
+
/** External reference (e.g. bio.tools ID, bioconductor package). */
|
|
9
|
+
export declare const XrefDict: S.Struct<{
|
|
10
|
+
value: typeof S.String;
|
|
11
|
+
type: typeof S.String;
|
|
12
|
+
}>;
|
|
13
|
+
/** Tool citation entry (bibtex, doi, etc.). */
|
|
14
|
+
export declare const Citation: S.Struct<{
|
|
15
|
+
type: typeof S.String;
|
|
16
|
+
content: typeof S.String;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Effect Schema for parsed Galaxy tool metadata as returned by the ToolShed TRS API
|
|
20
|
+
* or Galaxy's /api/tools/:id/parsed endpoint.
|
|
21
|
+
*/
|
|
22
|
+
export declare const ParsedTool: S.Struct<{
|
|
23
|
+
id: typeof S.String;
|
|
24
|
+
version: S.NullOr<typeof S.String>;
|
|
25
|
+
name: typeof S.String;
|
|
26
|
+
description: S.transform<S.NullOr<typeof S.String>, S.NullOr<typeof S.String>>;
|
|
27
|
+
inputs: S.Array$<S.Schema<ToolParameterModel, ToolParameterModel, never>>;
|
|
28
|
+
outputs: S.Array$<typeof S.Unknown>;
|
|
29
|
+
citations: S.Array$<S.Struct<{
|
|
30
|
+
type: typeof S.String;
|
|
31
|
+
content: typeof S.String;
|
|
32
|
+
}>>;
|
|
33
|
+
license: S.NullOr<typeof S.String>;
|
|
34
|
+
profile: S.NullOr<typeof S.String>;
|
|
35
|
+
edam_operations: S.Array$<typeof S.String>;
|
|
36
|
+
edam_topics: S.Array$<typeof S.String>;
|
|
37
|
+
xrefs: S.Array$<S.Struct<{
|
|
38
|
+
value: typeof S.String;
|
|
39
|
+
type: typeof S.String;
|
|
40
|
+
}>>;
|
|
41
|
+
help: S.optional<S.Union<[S.Struct<{
|
|
42
|
+
format: typeof S.String;
|
|
43
|
+
content: typeof S.String;
|
|
44
|
+
}>, typeof S.Null]>>;
|
|
45
|
+
}>;
|
|
46
|
+
export type ParsedTool = S.Schema.Type<typeof ParsedTool>;
|
|
47
|
+
//# sourceMappingURL=parsed-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsed-tool.d.ts","sourceRoot":"","sources":["../../src/schema/parsed-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAEnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,gFAAgF;AAChF,eAAO,MAAM,WAAW;;;EAGtB,CAAC;AAEH,oEAAoE;AACpE,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAEH,+CAA+C;AAC/C,eAAO,MAAM,QAAQ;;;EAGnB,CAAC;AAoBH;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;EAcrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as S from "effect/Schema";
|
|
2
|
+
/** Tool help content with format (rst, markdown, etc.) and rendered content. */
|
|
3
|
+
export const HelpContent = S.Struct({
|
|
4
|
+
format: S.String,
|
|
5
|
+
content: S.String,
|
|
6
|
+
});
|
|
7
|
+
/** External reference (e.g. bio.tools ID, bioconductor package). */
|
|
8
|
+
export const XrefDict = S.Struct({
|
|
9
|
+
value: S.String,
|
|
10
|
+
type: S.String,
|
|
11
|
+
});
|
|
12
|
+
/** Tool citation entry (bibtex, doi, etc.). */
|
|
13
|
+
export const Citation = S.Struct({
|
|
14
|
+
type: S.String,
|
|
15
|
+
content: S.String,
|
|
16
|
+
});
|
|
17
|
+
/** Normalize empty string to null for description field. */
|
|
18
|
+
const NullableDescription = S.transform(S.NullOr(S.String), S.NullOr(S.String), {
|
|
19
|
+
decode: (val) => (val === "" ? null : val),
|
|
20
|
+
encode: (val) => val,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Trusted-peer schema for a single tool input parameter. Effect Schema does
|
|
24
|
+
* not describe the full `ToolParameterModel` discriminated union (that lives
|
|
25
|
+
* as plain TS interfaces in `bundle-types.ts`), so we use a permissive
|
|
26
|
+
* object-shaped guard here and supply the TS type via the generic parameter.
|
|
27
|
+
* `ParsedTool` payloads come from Python's `model_dump()` — already trusted.
|
|
28
|
+
*/
|
|
29
|
+
const ToolParameterModelSchema = S.declare((input) => typeof input === "object" && input !== null && !Array.isArray(input));
|
|
30
|
+
/**
|
|
31
|
+
* Effect Schema for parsed Galaxy tool metadata as returned by the ToolShed TRS API
|
|
32
|
+
* or Galaxy's /api/tools/:id/parsed endpoint.
|
|
33
|
+
*/
|
|
34
|
+
export const ParsedTool = S.Struct({
|
|
35
|
+
id: S.String,
|
|
36
|
+
version: S.NullOr(S.String),
|
|
37
|
+
name: S.String,
|
|
38
|
+
description: NullableDescription,
|
|
39
|
+
inputs: S.Array(ToolParameterModelSchema),
|
|
40
|
+
outputs: S.Array(S.Unknown),
|
|
41
|
+
citations: S.Array(Citation),
|
|
42
|
+
license: S.NullOr(S.String),
|
|
43
|
+
profile: S.NullOr(S.String),
|
|
44
|
+
edam_operations: S.Array(S.String),
|
|
45
|
+
edam_topics: S.Array(S.String),
|
|
46
|
+
xrefs: S.Array(XrefDict),
|
|
47
|
+
help: S.optional(S.Union(HelpContent, S.Null)),
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=parsed-tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parsed-tool.js","sourceRoot":"","sources":["../../src/schema/parsed-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AAInC,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC,CAAC;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE,CAAC,CAAC,MAAM;IACf,IAAI,EAAE,CAAC,CAAC,MAAM;CACf,CAAC,CAAC;AAEH,+CAA+C;AAC/C,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,OAAO,EAAE,CAAC,CAAC,MAAM;CAClB,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,mBAAmB,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;IAC9E,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG;CACrB,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,wBAAwB,GAAiC,CAAC,CAAC,OAAO,CACtE,CAAC,KAAc,EAA+B,EAAE,CAC9C,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CACvE,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM;IACZ,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM;IACd,WAAW,EAAE,mBAAmB;IAChC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3B,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAClC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard predicates for ToolParameterModel discriminated union.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package index so consumers (e.g. language servers)
|
|
5
|
+
* don't need to duplicate these guards or reference bundle-types directly.
|
|
6
|
+
*/
|
|
7
|
+
import type { BooleanParameterModel, ConditionalParameterModel, DrillDownParameterModel, GenomeBuildParameterModel, RepeatParameterModel, SectionParameterModel, SelectParameterModel, ToolParameterModel } from "./bundle-types.js";
|
|
8
|
+
/** True for gx_select, gx_genomebuild, and gx_drill_down — params with a flat options list. */
|
|
9
|
+
export declare function isSelectLikeParam(p: ToolParameterModel): p is SelectParameterModel | GenomeBuildParameterModel | DrillDownParameterModel;
|
|
10
|
+
export declare function isBooleanParam(p: ToolParameterModel): p is BooleanParameterModel;
|
|
11
|
+
export declare function isSectionParam(p: ToolParameterModel): p is SectionParameterModel;
|
|
12
|
+
export declare function isRepeatParam(p: ToolParameterModel): p is RepeatParameterModel;
|
|
13
|
+
export declare function isConditionalParam(p: ToolParameterModel): p is ConditionalParameterModel;
|
|
14
|
+
//# sourceMappingURL=type-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.d.ts","sourceRoot":"","sources":["../../src/schema/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,kBAAkB,GACpB,CAAC,IAAI,oBAAoB,GAAG,yBAAyB,GAAG,uBAAuB,CAMjF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,IAAI,qBAAqB,CAEhF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,IAAI,qBAAqB,CAEhF;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,IAAI,oBAAoB,CAE9E;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,kBAAkB,GAAG,CAAC,IAAI,yBAAyB,CAExF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type guard predicates for ToolParameterModel discriminated union.
|
|
3
|
+
*
|
|
4
|
+
* Exported from the package index so consumers (e.g. language servers)
|
|
5
|
+
* don't need to duplicate these guards or reference bundle-types directly.
|
|
6
|
+
*/
|
|
7
|
+
/** True for gx_select, gx_genomebuild, and gx_drill_down — params with a flat options list. */
|
|
8
|
+
export function isSelectLikeParam(p) {
|
|
9
|
+
return (p.parameter_type === "gx_select" ||
|
|
10
|
+
p.parameter_type === "gx_genomebuild" ||
|
|
11
|
+
p.parameter_type === "gx_drill_down");
|
|
12
|
+
}
|
|
13
|
+
export function isBooleanParam(p) {
|
|
14
|
+
return p.parameter_type === "gx_boolean";
|
|
15
|
+
}
|
|
16
|
+
export function isSectionParam(p) {
|
|
17
|
+
return p.parameter_type === "gx_section";
|
|
18
|
+
}
|
|
19
|
+
export function isRepeatParam(p) {
|
|
20
|
+
return p.parameter_type === "gx_repeat";
|
|
21
|
+
}
|
|
22
|
+
export function isConditionalParam(p) {
|
|
23
|
+
return p.parameter_type === "gx_conditional";
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=type-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-guards.js","sourceRoot":"","sources":["../../src/schema/type-guards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAC/B,CAAqB;IAErB,OAAO,CACL,CAAC,CAAC,cAAc,KAAK,WAAW;QAChC,CAAC,CAAC,cAAc,KAAK,gBAAgB;QACrC,CAAC,CAAC,cAAc,KAAK,eAAe,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAqB;IAClD,OAAO,CAAC,CAAC,cAAc,KAAK,YAAY,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAqB;IAClD,OAAO,CAAC,CAAC,cAAc,KAAK,YAAY,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAqB;IACjD,OAAO,CAAC,CAAC,cAAc,KAAK,WAAW,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAqB;IACtD,OAAO,CAAC,CAAC,cAAc,KAAK,gBAAgB,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { TestFormatDiagnostic } from "../validate.js";
|
|
2
|
+
import type { WorkflowInput, WorkflowOutput } from "./types.js";
|
|
3
|
+
export interface WorkflowShape {
|
|
4
|
+
inputs: WorkflowInput[];
|
|
5
|
+
outputs: WorkflowOutput[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Cross-check a parsed tests document against workflow inputs/outputs. Emits
|
|
9
|
+
* one diagnostic per violation with a JSON-pointer path into the tests doc
|
|
10
|
+
* (matches Ajv's `instancePath`). Keywords:
|
|
11
|
+
*
|
|
12
|
+
* workflow_input_undefined job key not declared in workflow
|
|
13
|
+
* workflow_input_required required workflow input missing from job (and no default)
|
|
14
|
+
* workflow_input_type job value's JS type incompatible with declared type
|
|
15
|
+
* workflow_output_undefined output assertion name not declared in workflow
|
|
16
|
+
*/
|
|
17
|
+
export declare function checkTestsAgainstWorkflow(testsDoc: unknown, workflow: WorkflowShape): TestFormatDiagnostic[];
|
|
18
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/test-format/cross-check/check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAmBhE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,OAAO,EACjB,QAAQ,EAAE,aAAa,GACtB,oBAAoB,EAAE,CA8DxB"}
|