@galaxy-tool-util/cli 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.
Files changed (104) hide show
  1. package/dist/bin/gxwf.js +51 -19
  2. package/dist/bin/gxwf.js.map +1 -1
  3. package/dist/commands/add.js +2 -2
  4. package/dist/commands/add.js.map +1 -1
  5. package/dist/commands/clean-tree.d.ts +3 -17
  6. package/dist/commands/clean-tree.d.ts.map +1 -1
  7. package/dist/commands/clean-tree.js +30 -29
  8. package/dist/commands/clean-tree.js.map +1 -1
  9. package/dist/commands/clean.d.ts +3 -0
  10. package/dist/commands/clean.d.ts.map +1 -1
  11. package/dist/commands/clean.js +12 -2
  12. package/dist/commands/clean.js.map +1 -1
  13. package/dist/commands/clear.js +4 -4
  14. package/dist/commands/clear.js.map +1 -1
  15. package/dist/commands/convert-tree.d.ts +2 -1
  16. package/dist/commands/convert-tree.d.ts.map +1 -1
  17. package/dist/commands/convert-tree.js +23 -7
  18. package/dist/commands/convert-tree.js.map +1 -1
  19. package/dist/commands/convert.d.ts +2 -1
  20. package/dist/commands/convert.d.ts.map +1 -1
  21. package/dist/commands/convert.js +36 -4
  22. package/dist/commands/convert.js.map +1 -1
  23. package/dist/commands/info.d.ts.map +1 -1
  24. package/dist/commands/info.js +5 -4
  25. package/dist/commands/info.js.map +1 -1
  26. package/dist/commands/lint-tree.d.ts +3 -19
  27. package/dist/commands/lint-tree.d.ts.map +1 -1
  28. package/dist/commands/lint-tree.js +46 -58
  29. package/dist/commands/lint-tree.js.map +1 -1
  30. package/dist/commands/lint.d.ts +8 -4
  31. package/dist/commands/lint.d.ts.map +1 -1
  32. package/dist/commands/lint.js +61 -13
  33. package/dist/commands/lint.js.map +1 -1
  34. package/dist/commands/list.js +3 -3
  35. package/dist/commands/list.js.map +1 -1
  36. package/dist/commands/mermaid.d.ts +6 -0
  37. package/dist/commands/mermaid.d.ts.map +1 -0
  38. package/dist/commands/mermaid.js +22 -0
  39. package/dist/commands/mermaid.js.map +1 -0
  40. package/dist/commands/populate-workflow.js +2 -2
  41. package/dist/commands/populate-workflow.js.map +1 -1
  42. package/dist/commands/render-results.d.ts +3 -3
  43. package/dist/commands/render-results.d.ts.map +1 -1
  44. package/dist/commands/render-results.js +8 -4
  45. package/dist/commands/render-results.js.map +1 -1
  46. package/dist/commands/report-output.d.ts +34 -0
  47. package/dist/commands/report-output.d.ts.map +1 -0
  48. package/dist/commands/report-output.js +70 -0
  49. package/dist/commands/report-output.js.map +1 -0
  50. package/dist/commands/resolve-tool.d.ts +2 -1
  51. package/dist/commands/resolve-tool.d.ts.map +1 -1
  52. package/dist/commands/resolve-tool.js +1 -1
  53. package/dist/commands/resolve-tool.js.map +1 -1
  54. package/dist/commands/roundtrip-tree.d.ts +3 -1
  55. package/dist/commands/roundtrip-tree.d.ts.map +1 -1
  56. package/dist/commands/roundtrip-tree.js +67 -5
  57. package/dist/commands/roundtrip-tree.js.map +1 -1
  58. package/dist/commands/roundtrip.d.ts +2 -1
  59. package/dist/commands/roundtrip.d.ts.map +1 -1
  60. package/dist/commands/roundtrip.js +30 -8
  61. package/dist/commands/roundtrip.js.map +1 -1
  62. package/dist/commands/schema.js +2 -2
  63. package/dist/commands/schema.js.map +1 -1
  64. package/dist/commands/strict-options.d.ts +22 -0
  65. package/dist/commands/strict-options.d.ts.map +1 -0
  66. package/dist/commands/strict-options.js +18 -0
  67. package/dist/commands/strict-options.js.map +1 -0
  68. package/dist/commands/validate-tests-tree.d.ts +36 -0
  69. package/dist/commands/validate-tests-tree.d.ts.map +1 -0
  70. package/dist/commands/validate-tests-tree.js +191 -0
  71. package/dist/commands/validate-tests-tree.js.map +1 -0
  72. package/dist/commands/validate-tests.d.ts +21 -0
  73. package/dist/commands/validate-tests.d.ts.map +1 -0
  74. package/dist/commands/validate-tests.js +83 -0
  75. package/dist/commands/validate-tests.js.map +1 -0
  76. package/dist/commands/validate-tree.d.ts +3 -20
  77. package/dist/commands/validate-tree.d.ts.map +1 -1
  78. package/dist/commands/validate-tree.js +53 -47
  79. package/dist/commands/validate-tree.js.map +1 -1
  80. package/dist/commands/validate-workflow-json-schema.d.ts +8 -2
  81. package/dist/commands/validate-workflow-json-schema.d.ts.map +1 -1
  82. package/dist/commands/validate-workflow-json-schema.js +104 -58
  83. package/dist/commands/validate-workflow-json-schema.js.map +1 -1
  84. package/dist/commands/validate-workflow.d.ts +17 -10
  85. package/dist/commands/validate-workflow.d.ts.map +1 -1
  86. package/dist/commands/validate-workflow.js +185 -59
  87. package/dist/commands/validate-workflow.js.map +1 -1
  88. package/dist/commands/workflow-io.d.ts +2 -11
  89. package/dist/commands/workflow-io.d.ts.map +1 -1
  90. package/dist/commands/workflow-io.js +7 -16
  91. package/dist/commands/workflow-io.js.map +1 -1
  92. package/dist/index.d.ts +15 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +12 -0
  95. package/dist/index.js.map +1 -1
  96. package/dist/workflow/_templates-bundled.d.ts +2 -0
  97. package/dist/workflow/_templates-bundled.d.ts.map +1 -0
  98. package/dist/workflow/_templates-bundled.js +324 -0
  99. package/dist/workflow/_templates-bundled.js.map +1 -0
  100. package/dist/workflow/report-templates.d.ts +13 -0
  101. package/dist/workflow/report-templates.d.ts.map +1 -0
  102. package/dist/workflow/report-templates.js +91 -0
  103. package/dist/workflow/report-templates.js.map +1 -0
  104. package/package.json +7 -5
@@ -1,5 +1,5 @@
1
- import { ToolCache } from "@galaxy-tool-util/core";
2
- import { createFieldModel, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, stripConnectedValues, scanForReplacements, } from "@galaxy-tool-util/schema";
1
+ import { makeNodeToolCache } from "@galaxy-tool-util/core/node";
2
+ import { createFieldModel, GalaxyWorkflowSchema, NativeGalaxyWorkflowSchema, expandedNative, expandedFormat2, injectConnectionsIntoState, stripConnectedValues, scanForReplacements, checkStrictEncoding, checkStrictStructure, withClass, scanToolState, buildSingleValidationReport, } from "@galaxy-tool-util/schema";
3
3
  import * as ParseResult from "effect/ParseResult";
4
4
  import * as S from "effect/Schema";
5
5
  import { dirname } from "node:path";
@@ -7,17 +7,32 @@ import { isResolveError, loadCachedTool } from "./resolve-tool.js";
7
7
  import { createDefaultResolver } from "./url-resolver.js";
8
8
  import { renderStepResults } from "./render-results.js";
9
9
  import { readWorkflowFile, resolveFormat } from "./workflow-io.js";
10
+ import { resolveStrictOptions } from "./strict-options.js";
11
+ import { writeReportHtml } from "./report-output.js";
10
12
  function formatIssues(error) {
11
13
  const issues = ParseResult.ArrayFormatter.formatErrorSync(error);
12
14
  return issues.map((i) => `${i.path.join(".")}: ${i.message}`);
13
15
  }
16
+ /** Run Effect Schema decode on raw workflow data and return structural decode failures. */
17
+ export function decodeStructureErrors(data, format) {
18
+ const cls = format === "native" ? "NativeGalaxyWorkflow" : "GalaxyWorkflow";
19
+ const validationData = withClass(data, cls);
20
+ const schema = format === "native" ? NativeGalaxyWorkflowSchema : GalaxyWorkflowSchema;
21
+ const decode = S.decodeUnknownEither(schema, { onExcessProperty: "ignore" });
22
+ const result = decode(validationData);
23
+ if (result._tag === "Left") {
24
+ return formatIssues(result.left);
25
+ }
26
+ return [];
27
+ }
14
28
  export async function runValidateWorkflow(filePath, opts) {
15
29
  const data = await readWorkflowFile(filePath);
16
30
  if (!data)
17
31
  return;
18
32
  const format = resolveFormat(data, opts.format);
19
33
  const mode = opts.mode === "json-schema" ? "json-schema" : "effect";
20
- console.log(`Detected format: ${format}, mode: ${mode}`);
34
+ if (!opts.json)
35
+ console.log(`Detected format: ${format}, mode: ${mode}`);
21
36
  // Build expansion options for resolving external subworkflow references
22
37
  const workflowDirectory = dirname(filePath);
23
38
  const expansionOpts = {
@@ -25,43 +40,92 @@ export async function runValidateWorkflow(filePath, opts) {
25
40
  };
26
41
  if (mode === "json-schema") {
27
42
  const { runValidateWorkflowJsonSchema } = await import("./validate-workflow-json-schema.js");
28
- return runValidateWorkflowJsonSchema(data, format, opts, expansionOpts);
29
- }
30
- // --- structural validation (effect mode) ---
31
- const validationData = { ...data };
32
- if (format === "native" && !("class" in validationData)) {
33
- validationData.class = "NativeGalaxyWorkflow";
43
+ return runValidateWorkflowJsonSchema(filePath, data, format, opts, expansionOpts);
34
44
  }
35
- else if (format === "format2" && !("class" in validationData)) {
36
- validationData.class = "GalaxyWorkflow";
45
+ const strict = resolveStrictOptions(opts);
46
+ // --- strict encoding check (pre-normalization) ---
47
+ if (strict.strictEncoding) {
48
+ const encErrors = checkStrictEncoding(data, format);
49
+ if (encErrors.length > 0) {
50
+ console.error("Encoding errors:");
51
+ for (const e of encErrors)
52
+ console.error(` ${e}`);
53
+ process.exitCode = 2;
54
+ return;
55
+ }
37
56
  }
38
- const schema = format === "native" ? NativeGalaxyWorkflowSchema : GalaxyWorkflowSchema;
39
- const decode = S.decodeUnknownEither(schema, { onExcessProperty: "ignore" });
40
- const structResult = decode(validationData);
41
- let structOk = true;
42
- if (structResult._tag === "Left") {
43
- structOk = false;
44
- console.error(`\nStructural validation errors:`);
45
- for (const line of formatIssues(structResult.left)) {
46
- console.error(` ${line}`);
57
+ // --- strict structure check (pre-normalization) ---
58
+ if (strict.strictStructure) {
59
+ const structErrors = checkStrictStructure(data, format);
60
+ if (structErrors.length > 0) {
61
+ console.error("Structure errors (strict):");
62
+ for (const e of structErrors)
63
+ console.error(` ${e}`);
64
+ process.exitCode = 2;
65
+ return;
47
66
  }
48
67
  }
49
- else {
50
- console.log(`Structural validation: OK`);
68
+ // --- structural validation (effect mode) ---
69
+ const structureErrors = decodeStructureErrors(data, format);
70
+ const structOk = structureErrors.length === 0;
71
+ if (!opts.json) {
72
+ if (!structOk) {
73
+ console.error(`\nStructural validation errors:`);
74
+ for (const line of structureErrors) {
75
+ console.error(` ${line}`);
76
+ }
77
+ }
78
+ else {
79
+ console.log(`Structural validation: OK`);
80
+ }
51
81
  }
52
82
  // --- tool state validation (effect mode) ---
53
83
  if (opts.toolState === false) {
84
+ if (opts.json || opts.reportHtml) {
85
+ const report = buildSingleValidationReport(filePath, [], {
86
+ structure_errors: structureErrors,
87
+ });
88
+ if (opts.json) {
89
+ console.log(JSON.stringify(report, null, 2));
90
+ }
91
+ await writeReportHtml("validate", report, opts.reportHtml);
92
+ }
54
93
  process.exitCode = structOk ? 0 : 1;
55
94
  return;
56
95
  }
57
- const cache = new ToolCache({ cacheDir: opts.cacheDir });
96
+ const cache = makeNodeToolCache({ cacheDir: opts.cacheDir });
58
97
  await cache.index.load();
59
- let results;
60
- if (format === "native") {
61
- results = await validateNativeSteps(data, cache, "", expansionOpts);
98
+ let results = [];
99
+ const encodingErrors = [];
100
+ try {
101
+ if (format === "native") {
102
+ results = await validateNativeSteps(data, cache, "", expansionOpts);
103
+ }
104
+ else {
105
+ results = await validateFormat2Steps(data, cache, "", expansionOpts);
106
+ }
107
+ }
108
+ catch (error) {
109
+ // Catch legacy encoding errors thrown by walker and capture them
110
+ if (error instanceof Error && error.message.includes("legacy parameter encoding")) {
111
+ encodingErrors.push(error.message);
112
+ }
113
+ else {
114
+ throw error;
115
+ }
62
116
  }
63
- else {
64
- results = await validateFormat2Steps(data, cache, "", expansionOpts);
117
+ const stateOk = !results.some((r) => r.status === "fail");
118
+ if (opts.json || opts.reportHtml) {
119
+ const report = buildSingleValidationReport(filePath, results, {
120
+ structure_errors: structureErrors,
121
+ encoding_errors: encodingErrors,
122
+ });
123
+ if (opts.json) {
124
+ console.log(JSON.stringify(report, null, 2));
125
+ }
126
+ await writeReportHtml("validate", report, opts.reportHtml);
127
+ process.exitCode = structOk && stateOk ? 0 : 1;
128
+ return;
65
129
  }
66
130
  if (results.length === 0) {
67
131
  console.log("No tool steps to validate state for.");
@@ -69,8 +133,13 @@ export async function runValidateWorkflow(filePath, opts) {
69
133
  return;
70
134
  }
71
135
  const { validated, skipped } = renderStepResults(results);
72
- const stateOk = !results.some((r) => r.status === "fail");
73
136
  console.log(`\nTool state: ${validated} validated, ${skipped} skipped`);
137
+ // --- strict state: promote skips to failures ---
138
+ if (strict.strictState && results.some((r) => r.status !== "ok" && r.status !== "fail")) {
139
+ console.error("Strict state: skipped steps not allowed");
140
+ process.exitCode = 2;
141
+ return;
142
+ }
74
143
  process.exitCode = structOk && stateOk ? 0 : 1;
75
144
  }
76
145
  // --- Native validation ---
@@ -101,7 +170,13 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
101
170
  const resolved = await loadCachedTool(cache, toolId, toolVersion);
102
171
  if (isResolveError(resolved)) {
103
172
  const reason = resolved.kind === "no_version" ? `no version for ${toolId}` : `${toolId} not in cache`;
104
- return { stepLabel, toolId, toolVersion, status: "skip", errors: [reason] };
173
+ return {
174
+ step: stepLabel,
175
+ tool_id: toolId,
176
+ version: toolVersion,
177
+ status: "skip_tool_not_found",
178
+ errors: [reason],
179
+ };
105
180
  }
106
181
  const bundle = {
107
182
  parameters: resolved.tool.inputs,
@@ -110,10 +185,10 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
110
185
  const replacementScan = scanForReplacements(bundle.parameters, step.tool_state);
111
186
  if (replacementScan === "yes") {
112
187
  return {
113
- stepLabel,
114
- toolId,
115
- toolVersion,
116
- status: "skip",
188
+ step: stepLabel,
189
+ tool_id: toolId,
190
+ version: toolVersion,
191
+ status: "skip_replacement_params",
117
192
  errors: ["replacement parameters detected"],
118
193
  };
119
194
  }
@@ -128,10 +203,10 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
128
203
  const fieldModel = createFieldModel(bundle, "workflow_step_native");
129
204
  if (!fieldModel) {
130
205
  return {
131
- stepLabel,
132
- toolId,
133
- toolVersion,
134
- status: "skip",
206
+ step: stepLabel,
207
+ tool_id: toolId,
208
+ version: toolVersion,
209
+ status: "skip_tool_not_found",
135
210
  errors: ["unsupported parameter types"],
136
211
  };
137
212
  }
@@ -140,9 +215,15 @@ async function _validateNativeStep(step, stepLabel, toolId, toolVersion, cache)
140
215
  });
141
216
  const result = validate(state);
142
217
  if (result._tag === "Left") {
143
- return { stepLabel, toolId, toolVersion, status: "fail", errors: formatIssues(result.left) };
218
+ return {
219
+ step: stepLabel,
220
+ tool_id: toolId,
221
+ version: toolVersion,
222
+ status: "fail",
223
+ errors: formatIssues(result.left),
224
+ };
144
225
  }
145
- return { stepLabel, toolId, toolVersion, status: "ok", errors: [] };
226
+ return { step: stepLabel, tool_id: toolId, version: toolVersion, status: "ok", errors: [] };
146
227
  }
147
228
  // --- Format2 validation ---
148
229
  export async function validateFormat2Steps(data, cache, prefix = "", expansionOpts) {
@@ -173,7 +254,13 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
173
254
  const resolved = await loadCachedTool(cache, toolId, toolVersion);
174
255
  if (isResolveError(resolved)) {
175
256
  const reason = resolved.kind === "no_version" ? `no version for ${toolId}` : `${toolId} not in cache`;
176
- return { stepLabel, toolId, toolVersion, status: "skip", errors: [reason] };
257
+ return {
258
+ step: stepLabel,
259
+ tool_id: toolId,
260
+ version: toolVersion,
261
+ status: "skip_tool_not_found",
262
+ errors: [reason],
263
+ };
177
264
  }
178
265
  const bundle = {
179
266
  parameters: resolved.tool.inputs,
@@ -187,10 +274,10 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
187
274
  const baseModel = createFieldModel(bundle, "workflow_step");
188
275
  if (!baseModel) {
189
276
  return {
190
- stepLabel,
191
- toolId,
192
- toolVersion,
193
- status: "skip",
277
+ step: stepLabel,
278
+ tool_id: toolId,
279
+ version: toolVersion,
280
+ status: "skip_tool_not_found",
194
281
  errors: ["unsupported parameter types"],
195
282
  };
196
283
  }
@@ -200,9 +287,9 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
200
287
  const baseResult = baseValidate(state);
201
288
  if (baseResult._tag === "Left") {
202
289
  return {
203
- stepLabel,
204
- toolId,
205
- toolVersion,
290
+ step: stepLabel,
291
+ tool_id: toolId,
292
+ version: toolVersion,
206
293
  status: "fail",
207
294
  errors: formatIssues(baseResult.left),
208
295
  };
@@ -222,9 +309,9 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
222
309
  const unmatchedKeys = Object.keys(remaining);
223
310
  if (unmatchedKeys.length > 0) {
224
311
  return {
225
- stepLabel,
226
- toolId,
227
- toolVersion,
312
+ step: stepLabel,
313
+ tool_id: toolId,
314
+ version: toolVersion,
228
315
  status: "fail",
229
316
  errors: unmatchedKeys.map((k) => `No parameter definition matching connection key "${k}"`),
230
317
  };
@@ -232,10 +319,10 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
232
319
  const linkedModel = createFieldModel(bundle, "workflow_step_linked");
233
320
  if (!linkedModel) {
234
321
  return {
235
- stepLabel,
236
- toolId,
237
- toolVersion,
238
- status: "skip",
322
+ step: stepLabel,
323
+ tool_id: toolId,
324
+ version: toolVersion,
325
+ status: "skip_tool_not_found",
239
326
  errors: ["unsupported parameter types"],
240
327
  };
241
328
  }
@@ -245,14 +332,53 @@ async function _validateFormat2Step(step, stepLabel, toolId, toolVersion, cache)
245
332
  const linkedResult = linkedValidate(linkedState);
246
333
  if (linkedResult._tag === "Left") {
247
334
  return {
248
- stepLabel,
249
- toolId,
250
- toolVersion,
335
+ step: stepLabel,
336
+ tool_id: toolId,
337
+ version: toolVersion,
251
338
  status: "fail",
252
339
  errors: formatIssues(linkedResult.left),
253
340
  };
254
341
  }
255
342
  }
256
- return { stepLabel, toolId, toolVersion, status: "ok", errors: [] };
343
+ return { step: stepLabel, tool_id: toolId, version: toolVersion, status: "ok", errors: [] };
344
+ }
345
+ // --- Encoding error detection ---
346
+ /**
347
+ * Detect legacy parameter encoding in workflow tool_state fields.
348
+ *
349
+ * Scans each tool step's tool_state for legacy encoding signals
350
+ * (string-encoded containers, quoted select values) using scanToolState().
351
+ */
352
+ export async function detectEncodingErrors(data, cache, format, expansionOpts) {
353
+ if (format === "native") {
354
+ const expanded = await expandedNative(data, expansionOpts);
355
+ return _detectNativeEncodingErrors(expanded, cache, "");
356
+ }
357
+ // Format2 workflows don't have legacy encoding issues
358
+ return [];
359
+ }
360
+ async function _detectNativeEncodingErrors(wf, cache, prefix) {
361
+ const errors = [];
362
+ for (const [key, step] of Object.entries(wf.steps)) {
363
+ const stepLabel = prefix ? `${prefix}${key}` : key;
364
+ if (step.type === "subworkflow" && step.subworkflow) {
365
+ const subErrors = await _detectNativeEncodingErrors(step.subworkflow, cache, `${stepLabel}.`);
366
+ errors.push(...subErrors);
367
+ continue;
368
+ }
369
+ const toolId = step.tool_id;
370
+ if (!toolId)
371
+ continue;
372
+ const resolved = await loadCachedTool(cache, toolId, step.tool_version ?? null);
373
+ if (isResolveError(resolved))
374
+ continue;
375
+ const inputs = resolved.tool.inputs;
376
+ const result = scanToolState(inputs, step.tool_state);
377
+ if (result.classification === "yes") {
378
+ const details = result.hits.map((h) => `${h.parameterName}: ${h.detail}`).join("; ");
379
+ errors.push(`Step ${stepLabel} (${toolId}): legacy parameter encoding (${details})`);
380
+ }
381
+ }
382
+ return errors;
257
383
  }
258
384
  //# sourceMappingURL=validate-workflow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,cAAc,EACd,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,EACpB,mBAAmB,GAQpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,CAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAcnE,SAAS,YAAY,CAAC,KAA6B;IACjD,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAUD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAgB,EAChB,IAA6B;IAE7B,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,MAAM,MAAM,GAAmB,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAEhE,MAAM,IAAI,GAAmB,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC;IACpF,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,WAAW,IAAI,EAAE,CAAC,CAAC;IAEzD,wEAAwE;IACxE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAqB;QACtC,QAAQ,EAAE,qBAAqB,CAAC,EAAE,iBAAiB,EAAE,CAAC;KACvD,CAAC;IAEF,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAC3B,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;QAC7F,OAAO,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC1E,CAAC;IAED,8CAA8C;IAC9C,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;IACnC,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE,CAAC;QACxD,cAAc,CAAC,KAAK,GAAG,sBAAsB,CAAC;IAChD,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,cAAc,CAAC,EAAE,CAAC;QAChE,cAAc,CAAC,KAAK,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAED,MAAM,MAAM,GACV,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,oBAAoB,CAAC;IAC1E,MAAM,MAAM,GAAG,CAAC,CAAC,mBAAmB,CAAC,MAAM,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAE5C,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,QAAQ,GAAG,KAAK,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC3C,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IACzD,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAEzB,IAAI,OAA+B,CAAC;IACpC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAE1D,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,eAAe,OAAO,UAAU,CAAC,CAAC;IACxE,OAAO,CAAC,QAAQ,GAAG,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,4BAA4B;AAE5B,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAA6B,EAC7B,KAAgB,EAChB,MAAM,GAAG,EAAE,EACX,aAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC3D,OAAO,uBAAuB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,EAA4B,EAC5B,KAAgB,EAChB,MAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAEnD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;YAC3F,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACtF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,IAA0B,EAC1B,SAAiB,EACjB,MAAc,EACd,WAA0B,EAC1B,KAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GACV,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,eAAe,CAAC;QACzF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAA6B;QACvC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAgD;KAC3E,CAAC;IAEF,iFAAiF;IACjF,MAAM,eAAe,GAAG,mBAAmB,CACzC,MAAM,CAAC,UAAU,EACjB,IAAI,CAAC,UAAqC,CAC3C,CAAC;IACF,IAAI,eAAe,KAAK,KAAK,EAAE,CAAC;QAC9B,OAAO;YACL,SAAS;YACT,MAAM;YACN,WAAW;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,CAAC,iCAAiC,CAAC;SAC5C,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAA4B,CAAC;IAC1E,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC;QAChE,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACzB,CAAC;IACD,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;IAElE,+CAA+C;IAC/C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACpE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,SAAS;YACT,MAAM;YACN,WAAW;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,CAAC,6BAA6B,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,CAAC,mBAAmB,CAAC,UAA2B,EAAE;QAClE,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE/B,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/F,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACtE,CAAC;AAED,6BAA6B;AAE7B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA6B,EAC7B,KAAgB,EAChB,MAAM,GAAG,EAAE,EACX,aAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC5D,OAAO,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,EAA6B,EAC7B,KAAgB,EAChB,MAAc;IAEd,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAEvD,mCAAmC;QACnC,IAAI,IAAI,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,UAAU,GAAG,MAAM,wBAAwB,CAC/C,IAAI,CAAC,GAAgC,EACrC,KAAK,EACL,GAAG,SAAS,GAAG,CAChB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;QAE9C,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,IAA2B,EAC3B,SAAiB,EACjB,MAAc,EACd,WAA0B,EAC1B,KAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GACV,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,eAAe,CAAC;QACzF,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,MAAM,GAA6B;QACvC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAgD;KAC3E,CAAC;IAEF,gDAAgD;IAChD,2EAA2E;IAC3E,+EAA+E;IAC/E,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,CAA4B,CAAC,CAAC;IAChG,oBAAoB,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAE/C,qDAAqD;IACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,SAAS;YACT,MAAM;YACN,WAAW;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,CAAC,6BAA6B,CAAC;SACxC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,CAAC,CAAC,mBAAmB,CAAC,SAA0B,EAAE;QACrE,gBAAgB,EAAE,QAAQ;KAC3B,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,OAAO;YACL,SAAS;YACT,MAAM;YACN,WAAW;YACX,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC;SACtC,CAAC;IACJ,CAAC;IAED,8CAA8C;IAC9C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC;YAC7B,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,0BAA0B,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QAE1F,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,SAAS;gBACT,MAAM;gBACN,WAAW;gBACX,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oDAAoD,CAAC,GAAG,CAAC;aAC3F,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;gBACL,SAAS;gBACT,MAAM;gBACN,WAAW;gBACX,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,CAAC,6BAA6B,CAAC;aACxC,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,CAAC,CAAC,mBAAmB,CAAC,WAA4B,EAAE;YACzE,gBAAgB,EAAE,QAAQ;SAC3B,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QACjD,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,OAAO;gBACL,SAAS;gBACT,MAAM;gBACN,WAAW;gBACX,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC;aACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AACtE,CAAC"}
1
+ {"version":3,"file":"validate-workflow.js","sourceRoot":"","sources":["../../src/commands/validate-workflow.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,7 @@
1
- /**
2
- * Shared workflow file I/O helpers for CLI commands.
3
- */
4
- import { type WorkflowFormat } from "@galaxy-tool-util/schema";
1
+ export { resolveFormat, serializeWorkflow } from "@galaxy-tool-util/schema";
2
+ export type { SerializeWorkflowOptions } from "@galaxy-tool-util/schema";
5
3
  /** Read and parse a workflow file, auto-detecting JSON vs YAML by extension. */
6
4
  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
5
  /** Write serialized workflow content to a file or stdout. */
15
6
  export declare function writeWorkflowOutput(content: string, output?: string, label?: string): Promise<void>;
16
7
  //# sourceMappingURL=workflow-io.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"workflow-io.d.ts","sourceRoot":"","sources":["../../src/commands/workflow-io.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,YAAY,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzE,gFAAgF;AAChF,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAahG;AAED,6DAA6D;AAC7D,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,SAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAOf"}
@@ -1,9 +1,14 @@
1
1
  /**
2
- * Shared workflow file I/O helpers for CLI commands.
2
+ * Workflow file I/O helpers for CLI commands.
3
+ *
4
+ * `resolveFormat` and `serializeWorkflow` are now provided by
5
+ * `@galaxy-tool-util/schema` so the web server can share them; this file
6
+ * re-exports them for callers that used the older cli-local paths and keeps
7
+ * the fs-based read/write helpers here (Node-only).
3
8
  */
4
- import { detectFormat } from "@galaxy-tool-util/schema";
5
9
  import { readFile, writeFile } from "node:fs/promises";
6
10
  import * as YAML from "yaml";
11
+ export { resolveFormat, serializeWorkflow } from "@galaxy-tool-util/schema";
7
12
  /** Read and parse a workflow file, auto-detecting JSON vs YAML by extension. */
8
13
  export async function readWorkflowFile(filePath) {
9
14
  const raw = await readFile(filePath, "utf-8");
@@ -20,20 +25,6 @@ export async function readWorkflowFile(filePath) {
20
25
  return null;
21
26
  }
22
27
  }
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
28
  /** Write serialized workflow content to a file or stdout. */
38
29
  export async function writeWorkflowOutput(content, output, label = "Workflow") {
39
30
  if (output) {
@@ -1 +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"}
1
+ {"version":3,"file":"workflow-io.js","sourceRoot":"","sources":["../../src/commands/workflow-io.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG5E,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,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,6 +16,12 @@ 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
+ /** Validate a workflow-test file (*-tests.yml / *.gxwf-tests.yml). */
20
+ export { runValidateTests } from "./commands/validate-tests.js";
21
+ export type { ValidateTestsOptions, ValidateTestsReport } from "./commands/validate-tests.js";
22
+ /** Batch-validate workflow-test files under a directory. */
23
+ export { runValidateTestsTree } from "./commands/validate-tests-tree.js";
24
+ export type { ValidateTestsTreeOptions, ValidateTestsTreeReport, } from "./commands/validate-tests-tree.js";
19
25
  /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
20
26
  export { runClean } from "./commands/clean.js";
21
27
  /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
@@ -42,4 +48,13 @@ export type { WorkflowInfo, WorkflowOutcome, TreeResult, TreeSummary } from "./c
42
48
  export { renderStepResults } from "./commands/render-results.js";
43
49
  /** Write workflow content to file or stdout. */
44
50
  export { writeWorkflowOutput } from "./commands/workflow-io.js";
51
+ /** Validate native/format2 workflow steps programmatically (no CLI I/O). */
52
+ export { validateNativeSteps, validateFormat2Steps, decodeStructureErrors, detectEncodingErrors, } from "./commands/validate-workflow.js";
53
+ /** Preload tool inputs from a ToolCache into a synchronous ToolInputsResolver. */
54
+ export { loadToolInputsForWorkflow } from "./commands/stateful-tool-inputs.js";
55
+ export type { ToolLoadStatus, LoadedToolInputs } from "./commands/stateful-tool-inputs.js";
56
+ /** Default subworkflow ref resolver (base64, TRS, HTTP, file paths). */
57
+ export { createDefaultResolver } from "./commands/url-resolver.js";
58
+ /** JSON-Schema-based (AJV) step validation and structural error decoding. */
59
+ export { validateNativeStepsJsonSchema, validateFormat2StepsJsonSchema, decodeStructureErrorsJsonSchema, } from "./commands/validate-workflow-json-schema.js";
45
60
  //# 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;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"}
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,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAC9F,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,YAAY,EACV,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mCAAmC,CAAC;AAC3C,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;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3F,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
package/dist/index.js CHANGED
@@ -16,6 +16,10 @@ 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
+ /** Validate a workflow-test file (*-tests.yml / *.gxwf-tests.yml). */
20
+ export { runValidateTests } from "./commands/validate-tests.js";
21
+ /** Batch-validate workflow-test files under a directory. */
22
+ export { runValidateTestsTree } from "./commands/validate-tests-tree.js";
19
23
  /** Clean a Galaxy workflow — strip stale keys and decode legacy encoding. */
20
24
  export { runClean } from "./commands/clean.js";
21
25
  /** Lint a Galaxy workflow — structural checks, best practices, tool state validation. */
@@ -40,4 +44,12 @@ export { discoverWorkflows, collectTree, summarizeOutcomes, skipWorkflow, loadWo
40
44
  export { renderStepResults } from "./commands/render-results.js";
41
45
  /** Write workflow content to file or stdout. */
42
46
  export { writeWorkflowOutput } from "./commands/workflow-io.js";
47
+ /** Validate native/format2 workflow steps programmatically (no CLI I/O). */
48
+ export { validateNativeSteps, validateFormat2Steps, decodeStructureErrors, detectEncodingErrors, } from "./commands/validate-workflow.js";
49
+ /** Preload tool inputs from a ToolCache into a synchronous ToolInputsResolver. */
50
+ export { loadToolInputsForWorkflow } from "./commands/stateful-tool-inputs.js";
51
+ /** Default subworkflow ref resolver (base64, TRS, HTTP, file paths). */
52
+ export { createDefaultResolver } from "./commands/url-resolver.js";
53
+ /** JSON-Schema-based (AJV) step validation and structural error decoding. */
54
+ export { validateNativeStepsJsonSchema, validateFormat2StepsJsonSchema, decodeStructureErrorsJsonSchema, } from "./commands/validate-workflow-json-schema.js";
43
55
  //# 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;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"}
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,sEAAsE;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,4DAA4D;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAKzE,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;AAChE,4EAA4E;AAC5E,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,kFAAkF;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAE/E,wEAAwE;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,6EAA6E;AAC7E,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,GAChC,MAAM,6CAA6C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const BUNDLED_TEMPLATES: Record<string, string>;
2
+ //# sourceMappingURL=_templates-bundled.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_templates-bundled.d.ts","sourceRoot":"","sources":["../../src/workflow/_templates-bundled.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAiUpD,CAAC"}