@galaxy-tool-util/cli 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.
Files changed (83) hide show
  1. package/LICENSE +21 -0
  2. package/dist/bin/galaxy-tool-cache.js +15 -0
  3. package/dist/bin/galaxy-tool-cache.js.map +1 -1
  4. package/dist/bin/gxwf.d.ts +3 -0
  5. package/dist/bin/gxwf.d.ts.map +1 -0
  6. package/dist/bin/gxwf.js +126 -0
  7. package/dist/bin/gxwf.js.map +1 -0
  8. package/dist/commands/clean-tree.d.ts +23 -0
  9. package/dist/commands/clean-tree.d.ts.map +1 -0
  10. package/dist/commands/clean-tree.js +68 -0
  11. package/dist/commands/clean-tree.js.map +1 -0
  12. package/dist/commands/clean.d.ts +7 -0
  13. package/dist/commands/clean.d.ts.map +1 -0
  14. package/dist/commands/clean.js +38 -0
  15. package/dist/commands/clean.js.map +1 -0
  16. package/dist/commands/convert-tree.d.ts +31 -0
  17. package/dist/commands/convert-tree.d.ts.map +1 -0
  18. package/dist/commands/convert-tree.js +213 -0
  19. package/dist/commands/convert-tree.js.map +1 -0
  20. package/dist/commands/convert.d.ts +12 -0
  21. package/dist/commands/convert.d.ts.map +1 -0
  22. package/dist/commands/convert.js +119 -0
  23. package/dist/commands/convert.js.map +1 -0
  24. package/dist/commands/lint-tree.d.ts +27 -0
  25. package/dist/commands/lint-tree.d.ts.map +1 -0
  26. package/dist/commands/lint-tree.js +116 -0
  27. package/dist/commands/lint-tree.js.map +1 -0
  28. package/dist/commands/lint.d.ts +30 -0
  29. package/dist/commands/lint.d.ts.map +1 -0
  30. package/dist/commands/lint.js +147 -0
  31. package/dist/commands/lint.js.map +1 -0
  32. package/dist/commands/populate-workflow.d.ts +6 -0
  33. package/dist/commands/populate-workflow.d.ts.map +1 -0
  34. package/dist/commands/populate-workflow.js +55 -0
  35. package/dist/commands/populate-workflow.js.map +1 -0
  36. package/dist/commands/render-results.d.ts +11 -0
  37. package/dist/commands/render-results.d.ts.map +1 -0
  38. package/dist/commands/render-results.js +23 -0
  39. package/dist/commands/render-results.js.map +1 -0
  40. package/dist/commands/roundtrip-tree.d.ts +13 -0
  41. package/dist/commands/roundtrip-tree.d.ts.map +1 -0
  42. package/dist/commands/roundtrip-tree.js +116 -0
  43. package/dist/commands/roundtrip-tree.js.map +1 -0
  44. package/dist/commands/roundtrip.d.ts +30 -0
  45. package/dist/commands/roundtrip.d.ts.map +1 -0
  46. package/dist/commands/roundtrip.js +122 -0
  47. package/dist/commands/roundtrip.js.map +1 -0
  48. package/dist/commands/stateful-tool-inputs.d.ts +33 -0
  49. package/dist/commands/stateful-tool-inputs.d.ts.map +1 -0
  50. package/dist/commands/stateful-tool-inputs.js +73 -0
  51. package/dist/commands/stateful-tool-inputs.js.map +1 -0
  52. package/dist/commands/structural-schema.d.ts +6 -0
  53. package/dist/commands/structural-schema.d.ts.map +1 -0
  54. package/dist/commands/structural-schema.js +31 -0
  55. package/dist/commands/structural-schema.js.map +1 -0
  56. package/dist/commands/tree.d.ts +45 -0
  57. package/dist/commands/tree.d.ts.map +1 -0
  58. package/dist/commands/tree.js +155 -0
  59. package/dist/commands/tree.js.map +1 -0
  60. package/dist/commands/validate-tree.d.ts +29 -0
  61. package/dist/commands/validate-tree.d.ts.map +1 -0
  62. package/dist/commands/validate-tree.js +118 -0
  63. package/dist/commands/validate-tree.js.map +1 -0
  64. package/dist/commands/validate-workflow-json-schema.d.ts.map +1 -1
  65. package/dist/commands/validate-workflow-json-schema.js +49 -16
  66. package/dist/commands/validate-workflow-json-schema.js.map +1 -1
  67. package/dist/commands/validate-workflow.d.ts +1 -0
  68. package/dist/commands/validate-workflow.d.ts.map +1 -1
  69. package/dist/commands/validate-workflow.js +57 -56
  70. package/dist/commands/validate-workflow.js.map +1 -1
  71. package/dist/commands/workflow-io.d.ts +16 -0
  72. package/dist/commands/workflow-io.d.ts.map +1 -0
  73. package/dist/commands/workflow-io.js +47 -0
  74. package/dist/commands/workflow-io.js.map +1 -0
  75. package/dist/index.d.ts +26 -0
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +24 -0
  78. package/dist/index.js.map +1 -1
  79. package/package.json +15 -15
  80. package/dist/bin/galaxy-workflow-validate.d.ts +0 -3
  81. package/dist/bin/galaxy-workflow-validate.d.ts.map +0 -1
  82. package/dist/bin/galaxy-workflow-validate.js +0 -17
  83. package/dist/bin/galaxy-workflow-validate.js.map +0 -1
@@ -1,36 +1,21 @@
1
1
  import { ToolCache } from "@galaxy-tool-util/core";
2
- import { createFieldModel, detectFormat, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, stripConnectedValues, scanForReplacements, } from "@galaxy-tool-util/schema";
2
+ import { createFieldModel, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, stripConnectedValues, scanForReplacements, } from "@galaxy-tool-util/schema";
3
3
  import * as ParseResult from "effect/ParseResult";
4
4
  import * as S from "effect/Schema";
5
- import { readFile } from "node:fs/promises";
6
5
  import { dirname } from "node:path";
7
- import * as YAML from "yaml";
8
6
  import { isResolveError, loadCachedTool } from "./resolve-tool.js";
9
7
  import { createDefaultResolver } from "./url-resolver.js";
8
+ import { renderStepResults } from "./render-results.js";
9
+ import { readWorkflowFile, resolveFormat } from "./workflow-io.js";
10
10
  function formatIssues(error) {
11
11
  const issues = ParseResult.ArrayFormatter.formatErrorSync(error);
12
12
  return issues.map((i) => `${i.path.join(".")}: ${i.message}`);
13
13
  }
14
14
  export async function runValidateWorkflow(filePath, opts) {
15
- const raw = await readFile(filePath, "utf-8");
16
- let data;
17
- try {
18
- if (filePath.endsWith(".ga") || filePath.endsWith(".json")) {
19
- data = JSON.parse(raw);
20
- }
21
- else {
22
- data = YAML.parse(raw);
23
- }
24
- }
25
- catch (e) {
26
- const msg = e instanceof Error ? e.message : String(e);
27
- console.error(`Failed to parse ${filePath}: ${msg}`);
28
- process.exitCode = 1;
15
+ const data = await readWorkflowFile(filePath);
16
+ if (!data)
29
17
  return;
30
- }
31
- const format = opts.format === "native" || opts.format === "format2"
32
- ? opts.format
33
- : detectFormat(data);
18
+ const format = resolveFormat(data, opts.format);
34
19
  const mode = opts.mode === "json-schema" ? "json-schema" : "effect";
35
20
  console.log(`Detected format: ${format}, mode: ${mode}`);
36
21
  // Build expansion options for resolving external subworkflow references
@@ -83,27 +68,8 @@ export async function runValidateWorkflow(filePath, opts) {
83
68
  process.exitCode = structOk ? 0 : 1;
84
69
  return;
85
70
  }
86
- let stateOk = true;
87
- let validated = 0;
88
- let skipped = 0;
89
- for (const r of results) {
90
- if (r.status === "skip") {
91
- skipped++;
92
- console.warn(` [${r.stepLabel}] skipped — ${r.errors[0] ?? "unknown"}`);
93
- }
94
- else if (r.status === "fail") {
95
- validated++;
96
- stateOk = false;
97
- console.error(` [${r.stepLabel}] tool_state errors (${r.toolId}):`);
98
- for (const line of r.errors) {
99
- console.error(` ${line}`);
100
- }
101
- }
102
- else {
103
- validated++;
104
- console.log(` [${r.stepLabel}] tool_state: OK`);
105
- }
106
- }
71
+ const { validated, skipped } = renderStepResults(results);
72
+ const stateOk = !results.some((r) => r.status === "fail");
107
73
  console.log(`\nTool state: ${validated} validated, ${skipped} skipped`);
108
74
  process.exitCode = structOk && stateOk ? 0 : 1;
109
75
  }
@@ -134,9 +100,7 @@ async function _validateNativeWorkflow(wf, cache, prefix) {
134
100
  async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache) {
135
101
  const resolved = await loadCachedTool(cache, toolId, toolVersion);
136
102
  if (isResolveError(resolved)) {
137
- const reason = resolved.kind === "no_version"
138
- ? `no version for ${toolId}`
139
- : `${toolId} not in cache`;
103
+ const reason = resolved.kind === "no_version" ? `no version for ${toolId}` : `${toolId} not in cache`;
140
104
  return { stepLabel, toolId, toolVersion, status: "skip", errors: [reason] };
141
105
  }
142
106
  const bundle = {
@@ -145,7 +109,13 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
145
109
  // Skip validation if replacement parameters (${...}) are present in typed fields
146
110
  const replacementScan = scanForReplacements(bundle.parameters, step.tool_state);
147
111
  if (replacementScan === "yes") {
148
- return { stepLabel, toolId, toolVersion, status: "skip", errors: ["replacement parameters detected"] };
112
+ return {
113
+ stepLabel,
114
+ toolId,
115
+ toolVersion,
116
+ status: "skip",
117
+ errors: ["replacement parameters detected"],
118
+ };
149
119
  }
150
120
  // Deep copy state and inject connection markers
151
121
  const state = structuredClone(step.tool_state);
@@ -157,7 +127,13 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
157
127
  // Validate against workflow_step_native schema
158
128
  const fieldModel = createFieldModel(bundle, "workflow_step_native");
159
129
  if (!fieldModel) {
160
- return { stepLabel, toolId, toolVersion, status: "skip", errors: ["unsupported parameter types"] };
130
+ return {
131
+ stepLabel,
132
+ toolId,
133
+ toolVersion,
134
+ status: "skip",
135
+ errors: ["unsupported parameter types"],
136
+ };
161
137
  }
162
138
  const validate = S.decodeUnknownEither(fieldModel, {
163
139
  onExcessProperty: "ignore",
@@ -169,7 +145,7 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
169
145
  return { stepLabel, toolId, toolVersion, status: "ok", errors: [] };
170
146
  }
171
147
  // --- Format2 validation ---
172
- async function validateFormat2Steps(data, cache, prefix = "", expansionOpts) {
148
+ export async function validateFormat2Steps(data, cache, prefix = "", expansionOpts) {
173
149
  const expanded = await expandedFormat2(data, expansionOpts);
174
150
  return _validateFormat2Workflow(expanded, cache, prefix);
175
151
  }
@@ -196,9 +172,7 @@ async function _validateFormat2Workflow(wf, cache, prefix) {
196
172
  async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache) {
197
173
  const resolved = await loadCachedTool(cache, toolId, toolVersion);
198
174
  if (isResolveError(resolved)) {
199
- const reason = resolved.kind === "no_version"
200
- ? `no version for ${toolId}`
201
- : `${toolId} not in cache`;
175
+ const reason = resolved.kind === "no_version" ? `no version for ${toolId}` : `${toolId} not in cache`;
202
176
  return { stepLabel, toolId, toolVersion, status: "skip", errors: [reason] };
203
177
  }
204
178
  const bundle = {
@@ -212,14 +186,26 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
212
186
  // Level 1: Validate base state against workflow_step
213
187
  const baseModel = createFieldModel(bundle, "workflow_step");
214
188
  if (!baseModel) {
215
- return { stepLabel, toolId, toolVersion, status: "skip", errors: ["unsupported parameter types"] };
189
+ return {
190
+ stepLabel,
191
+ toolId,
192
+ toolVersion,
193
+ status: "skip",
194
+ errors: ["unsupported parameter types"],
195
+ };
216
196
  }
217
197
  const baseValidate = S.decodeUnknownEither(baseModel, {
218
198
  onExcessProperty: "ignore",
219
199
  });
220
200
  const baseResult = baseValidate(state);
221
201
  if (baseResult._tag === "Left") {
222
- return { stepLabel, toolId, toolVersion, status: "fail", errors: formatIssues(baseResult.left) };
202
+ return {
203
+ stepLabel,
204
+ toolId,
205
+ toolVersion,
206
+ status: "fail",
207
+ errors: formatIssues(baseResult.left),
208
+ };
223
209
  }
224
210
  // Build connections dict from step.in entries
225
211
  const connections = {};
@@ -236,20 +222,35 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
236
222
  const unmatchedKeys = Object.keys(remaining);
237
223
  if (unmatchedKeys.length > 0) {
238
224
  return {
239
- stepLabel, toolId, toolVersion, status: "fail",
225
+ stepLabel,
226
+ toolId,
227
+ toolVersion,
228
+ status: "fail",
240
229
  errors: unmatchedKeys.map((k) => `No parameter definition matching connection key "${k}"`),
241
230
  };
242
231
  }
243
232
  const linkedModel = createFieldModel(bundle, "workflow_step_linked");
244
233
  if (!linkedModel) {
245
- return { stepLabel, toolId, toolVersion, status: "skip", errors: ["unsupported parameter types"] };
234
+ return {
235
+ stepLabel,
236
+ toolId,
237
+ toolVersion,
238
+ status: "skip",
239
+ errors: ["unsupported parameter types"],
240
+ };
246
241
  }
247
242
  const linkedValidate = S.decodeUnknownEither(linkedModel, {
248
243
  onExcessProperty: "ignore",
249
244
  });
250
245
  const linkedResult = linkedValidate(linkedState);
251
246
  if (linkedResult._tag === "Left") {
252
- return { stepLabel, toolId, toolVersion, status: "fail", errors: formatIssues(linkedResult.left) };
247
+ return {
248
+ stepLabel,
249
+ toolId,
250
+ toolVersion,
251
+ status: "fail",
252
+ errors: formatIssues(linkedResult.left),
253
+ };
253
254
  }
254
255
  }
255
256
  return { stepLabel, toolId, toolVersion, status: "ok", errors: [] };
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Shared workflow file I/O helpers for CLI commands.
3
+ */
4
+ import { type WorkflowFormat } from "@galaxy-tool-util/schema";
5
+ /** Read and parse a workflow file, auto-detecting JSON vs YAML by extension. */
6
+ export declare function readWorkflowFile(filePath: string): Promise<Record<string, unknown> | null>;
7
+ /** Resolve workflow format from user option or auto-detect. */
8
+ export declare function resolveFormat(data: Record<string, unknown>, formatOpt?: string): WorkflowFormat;
9
+ /** Serialize a workflow to JSON or YAML string based on format. */
10
+ export declare function serializeWorkflow(data: Record<string, unknown>, format: WorkflowFormat, opts?: {
11
+ json?: boolean;
12
+ yaml?: boolean;
13
+ }): string;
14
+ /** Write serialized workflow content to a file or stdout. */
15
+ export declare function writeWorkflowOutput(content: string, output?: string, label?: string): Promise<void>;
16
+ //# sourceMappingURL=workflow-io.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-io.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-io.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI7E,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAahG;AAED,+DAA+D;AAC/D,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,CAG/F;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC,MAAM,CAMR;AAED,6DAA6D;AAC7D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,SAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Shared workflow file I/O helpers for CLI commands.
3
+ */
4
+ import { detectFormat } from "@galaxy-tool-util/schema";
5
+ import { readFile, writeFile } from "node:fs/promises";
6
+ import * as YAML from "yaml";
7
+ /** Read and parse a workflow file, auto-detecting JSON vs YAML by extension. */
8
+ export async function readWorkflowFile(filePath) {
9
+ const raw = await readFile(filePath, "utf-8");
10
+ try {
11
+ if (filePath.endsWith(".ga") || filePath.endsWith(".json")) {
12
+ return JSON.parse(raw);
13
+ }
14
+ return YAML.parse(raw);
15
+ }
16
+ catch (e) {
17
+ const msg = e instanceof Error ? e.message : String(e);
18
+ console.error(`Failed to parse ${filePath}: ${msg}`);
19
+ process.exitCode = 1;
20
+ return null;
21
+ }
22
+ }
23
+ /** Resolve workflow format from user option or auto-detect. */
24
+ export function resolveFormat(data, formatOpt) {
25
+ if (formatOpt === "native" || formatOpt === "format2")
26
+ return formatOpt;
27
+ return detectFormat(data);
28
+ }
29
+ /** Serialize a workflow to JSON or YAML string based on format. */
30
+ export function serializeWorkflow(data, format, opts) {
31
+ const useYaml = opts?.yaml || (!opts?.json && format === "format2");
32
+ if (useYaml) {
33
+ return YAML.stringify(data, { lineWidth: 0 });
34
+ }
35
+ return JSON.stringify(data, null, 2) + "\n";
36
+ }
37
+ /** Write serialized workflow content to a file or stdout. */
38
+ export async function writeWorkflowOutput(content, output, label = "Workflow") {
39
+ if (output) {
40
+ await writeFile(output, content, "utf-8");
41
+ console.log(`${label} written to ${output}`);
42
+ }
43
+ else {
44
+ process.stdout.write(content);
45
+ }
46
+ }
47
+ //# sourceMappingURL=workflow-io.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-io.js","sourceRoot":"","sources":["../../src/commands/workflow-io.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAuB,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,mBAAmB,QAAQ,KAAK,GAAG,EAAE,CAAC,CAAC;QACrD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,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;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAC/B,IAA6B,EAC7B,MAAsB,EACtB,IAAyC;IAEzC,MAAM,OAAO,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;IACpE,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC9C,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,MAAe,EACf,KAAK,GAAG,UAAU;IAElB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,eAAe,MAAM,EAAE,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -16,4 +16,30 @@ export { runClear } from "./commands/clear.js";
16
16
  export { runSchema } from "./commands/schema.js";
17
17
  /** Validate a Galaxy workflow file (structure + optional tool state). */
18
18
  export { runValidateWorkflow } from "./commands/validate-workflow.js";
19
+ /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
20
+ export { runClean } from "./commands/clean.js";
21
+ /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
22
+ export { runLint, lintWorkflowReport } from "./commands/lint.js";
23
+ export type { LintReport, LintReportOptions } from "./commands/lint.js";
24
+ /** Convert a Galaxy workflow between native and format2 formats. */
25
+ export { runConvert } from "./commands/convert.js";
26
+ /** Scan a workflow and cache all referenced tools. */
27
+ export { runPopulateWorkflow } from "./commands/populate-workflow.js";
28
+ /** Export the structural JSON Schema for Galaxy workflows. */
29
+ export { runStructuralSchema } from "./commands/structural-schema.js";
30
+ /** Batch validate all workflows under a directory. */
31
+ export { runValidateTree } from "./commands/validate-tree.js";
32
+ /** Batch lint all workflows under a directory. */
33
+ export { runLintTree } from "./commands/lint-tree.js";
34
+ /** Batch clean all workflows under a directory. */
35
+ export { runCleanTree } from "./commands/clean-tree.js";
36
+ /** Batch convert all workflows under a directory. */
37
+ export { runConvertTree } from "./commands/convert-tree.js";
38
+ /** Tree orchestrator infrastructure. */
39
+ export { discoverWorkflows, collectTree, summarizeOutcomes, skipWorkflow, loadWorkflowSafe, } from "./commands/tree.js";
40
+ export type { WorkflowInfo, WorkflowOutcome, TreeResult, TreeSummary } from "./commands/tree.js";
41
+ /** Render step validation results to console. */
42
+ export { renderStepResults } from "./commands/render-results.js";
43
+ /** Write workflow content to file or stdout. */
44
+ export { writeWorkflowOutput } from "./commands/workflow-io.js";
19
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjG,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/index.js CHANGED
@@ -16,4 +16,28 @@ export { runClear } from "./commands/clear.js";
16
16
  export { runSchema } from "./commands/schema.js";
17
17
  /** Validate a Galaxy workflow file (structure + optional tool state). */
18
18
  export { runValidateWorkflow } from "./commands/validate-workflow.js";
19
+ /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
20
+ export { runClean } from "./commands/clean.js";
21
+ /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
22
+ export { runLint, lintWorkflowReport } from "./commands/lint.js";
23
+ /** Convert a Galaxy workflow between native and format2 formats. */
24
+ export { runConvert } from "./commands/convert.js";
25
+ /** Scan a workflow and cache all referenced tools. */
26
+ export { runPopulateWorkflow } from "./commands/populate-workflow.js";
27
+ /** Export the structural JSON Schema for Galaxy workflows. */
28
+ export { runStructuralSchema } from "./commands/structural-schema.js";
29
+ /** Batch validate all workflows under a directory. */
30
+ export { runValidateTree } from "./commands/validate-tree.js";
31
+ /** Batch lint all workflows under a directory. */
32
+ export { runLintTree } from "./commands/lint-tree.js";
33
+ /** Batch clean all workflows under a directory. */
34
+ export { runCleanTree } from "./commands/clean-tree.js";
35
+ /** Batch convert all workflows under a directory. */
36
+ export { runConvertTree } from "./commands/convert-tree.js";
37
+ /** Tree orchestrator infrastructure. */
38
+ export { discoverWorkflows, collectTree, summarizeOutcomes, skipWorkflow, loadWorkflowSafe, } from "./commands/tree.js";
39
+ /** Render step validation results to console. */
40
+ export { renderStepResults } from "./commands/render-results.js";
41
+ /** Write workflow content to file or stdout. */
42
+ export { writeWorkflowOutput } from "./commands/workflow-io.js";
19
43
  //# 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,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qEAAqE;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,yCAAyC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,0CAA0C;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,4DAA4D;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,2FAA2F;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,yEAAyE;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,6EAA6E;AAC7E,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,yFAAyF;AACzF,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,oEAAoE;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,sDAAsD;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,8DAA8D;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,sDAAsD;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,kDAAkD;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,mDAAmD;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,qDAAqD;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,wCAAwC;AACxC,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,iDAAiD;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,gDAAgD;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/cli",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "galaxy-tool-cache CLI — cache and inspect Galaxy tool metadata",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "galaxy-tool-cache": "dist/bin/galaxy-tool-cache.js",
8
- "galaxy-workflow-validate": "dist/bin/galaxy-workflow-validate.js"
8
+ "gxwf": "dist/bin/gxwf.js"
9
9
  },
10
10
  "exports": {
11
11
  ".": {
@@ -27,25 +27,25 @@
27
27
  "access": "public",
28
28
  "provenance": true
29
29
  },
30
- "scripts": {
31
- "build": "tsc",
32
- "typecheck": "tsc --noEmit",
33
- "test": "tsc --noEmit && vitest run",
34
- "test:watch": "vitest",
35
- "lint": "eslint src/ test/",
36
- "format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
37
- "format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'"
38
- },
39
30
  "license": "MIT",
40
31
  "dependencies": {
41
- "@galaxy-tool-util/core": "workspace:*",
42
- "@galaxy-tool-util/schema": "workspace:*",
43
32
  "ajv": "^8.18.0",
44
33
  "commander": "^14.0.0",
45
34
  "effect": "^3.21.0",
46
- "yaml": "^2.8.3"
35
+ "yaml": "^2.8.3",
36
+ "@galaxy-tool-util/core": "0.2.0",
37
+ "@galaxy-tool-util/schema": "0.2.0"
47
38
  },
48
39
  "devDependencies": {
49
40
  "@types/node": "^25.5.0"
41
+ },
42
+ "scripts": {
43
+ "build": "tsc",
44
+ "typecheck": "tsc --noEmit",
45
+ "test": "tsc --noEmit && vitest run",
46
+ "test:watch": "vitest",
47
+ "lint": "eslint src/ test/",
48
+ "format": "prettier --check 'src/**/*.ts' 'test/**/*.ts'",
49
+ "format-fix": "prettier --write 'src/**/*.ts' 'test/**/*.ts'"
50
50
  }
51
- }
51
+ }
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=galaxy-workflow-validate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"galaxy-workflow-validate.d.ts","sourceRoot":"","sources":["../../src/bin/galaxy-workflow-validate.ts"],"names":[],"mappings":""}
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env node
2
- import { Command } from "commander";
3
- import { runValidateWorkflow } from "../commands/validate-workflow.js";
4
- const program = new Command();
5
- program
6
- .name("galaxy-workflow-validate")
7
- .description("Validate Galaxy workflow files (structure + optional tool state)")
8
- .version("1.0.0")
9
- .argument("<file>", "Workflow file (.ga, .gxwf.yml)")
10
- .option("--format <fmt>", "Force format: native or format2 (auto-detected by default)")
11
- .option("--no-tool-state", "Skip tool state validation")
12
- .option("--cache-dir <dir>", "Tool cache directory")
13
- .option("--mode <mode>", "Validation backend: effect (default) or json-schema", "effect")
14
- .option("--tool-schema-dir <dir>", "Directory of pre-exported per-tool JSON Schemas (for offline json-schema mode)")
15
- .action(runValidateWorkflow);
16
- program.parse();
17
- //# sourceMappingURL=galaxy-workflow-validate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"galaxy-workflow-validate.js","sourceRoot":"","sources":["../../src/bin/galaxy-workflow-validate.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAEvE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,0BAA0B,CAAC;KAChC,WAAW,CAAC,kEAAkE,CAAC;KAC/E,OAAO,CAAC,OAAO,CAAC;KAChB,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,CAAC;KACpD,MAAM,CAAC,gBAAgB,EAAE,4DAA4D,CAAC;KACtF,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;KACvD,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,qDAAqD,EAAE,QAAQ,CAAC;KACxF,MAAM,CAAC,yBAAyB,EAAE,gFAAgF,CAAC;KACnH,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}