@galaxy-tool-util/schema 0.1.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +87 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +62 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/schema/type-guards.d.ts +14 -0
  7. package/dist/schema/type-guards.d.ts.map +1 -0
  8. package/dist/schema/type-guards.js +25 -0
  9. package/dist/schema/type-guards.js.map +1 -0
  10. package/dist/test-format/cross-check/check.d.ts +18 -0
  11. package/dist/test-format/cross-check/check.d.ts.map +1 -0
  12. package/dist/test-format/cross-check/check.js +89 -0
  13. package/dist/test-format/cross-check/check.js.map +1 -0
  14. package/dist/test-format/cross-check/extract-format2.d.ts +13 -0
  15. package/dist/test-format/cross-check/extract-format2.d.ts.map +1 -0
  16. package/dist/test-format/cross-check/extract-format2.js +98 -0
  17. package/dist/test-format/cross-check/extract-format2.js.map +1 -0
  18. package/dist/test-format/cross-check/extract-native.d.ts +4 -0
  19. package/dist/test-format/cross-check/extract-native.d.ts.map +1 -0
  20. package/dist/test-format/cross-check/extract-native.js +89 -0
  21. package/dist/test-format/cross-check/extract-native.js.map +1 -0
  22. package/dist/test-format/cross-check/extract.d.ts +9 -0
  23. package/dist/test-format/cross-check/extract.d.ts.map +1 -0
  24. package/dist/test-format/cross-check/extract.js +16 -0
  25. package/dist/test-format/cross-check/extract.js.map +1 -0
  26. package/dist/test-format/cross-check/index.d.ts +7 -0
  27. package/dist/test-format/cross-check/index.d.ts.map +1 -0
  28. package/dist/test-format/cross-check/index.js +6 -0
  29. package/dist/test-format/cross-check/index.js.map +1 -0
  30. package/dist/test-format/cross-check/type-compat.d.ts +23 -0
  31. package/dist/test-format/cross-check/type-compat.d.ts.map +1 -0
  32. package/dist/test-format/cross-check/type-compat.js +48 -0
  33. package/dist/test-format/cross-check/type-compat.js.map +1 -0
  34. package/dist/test-format/cross-check/types.d.ts +23 -0
  35. package/dist/test-format/cross-check/types.d.ts.map +1 -0
  36. package/dist/test-format/cross-check/types.js +10 -0
  37. package/dist/test-format/cross-check/types.js.map +1 -0
  38. package/dist/test-format/index.d.ts +3 -0
  39. package/dist/test-format/index.d.ts.map +1 -0
  40. package/dist/test-format/index.js +3 -0
  41. package/dist/test-format/index.js.map +1 -0
  42. package/dist/test-format/tests.schema.generated.d.ts +5610 -0
  43. package/dist/test-format/tests.schema.generated.d.ts.map +1 -0
  44. package/dist/test-format/tests.schema.generated.js +6899 -0
  45. package/dist/test-format/tests.schema.generated.js.map +1 -0
  46. package/dist/test-format/validate.d.ts +20 -0
  47. package/dist/test-format/validate.d.ts.map +1 -0
  48. package/dist/test-format/validate.js +41 -0
  49. package/dist/test-format/validate.js.map +1 -0
  50. package/dist/tool-state-validator.d.ts +23 -0
  51. package/dist/tool-state-validator.d.ts.map +1 -0
  52. package/dist/tool-state-validator.js +59 -0
  53. package/dist/tool-state-validator.js.map +1 -0
  54. package/dist/workflow/clean.d.ts +56 -3
  55. package/dist/workflow/clean.d.ts.map +1 -1
  56. package/dist/workflow/clean.js +227 -27
  57. package/dist/workflow/clean.js.map +1 -1
  58. package/dist/workflow/coercions.d.ts +22 -0
  59. package/dist/workflow/coercions.d.ts.map +1 -0
  60. package/dist/workflow/coercions.js +67 -0
  61. package/dist/workflow/coercions.js.map +1 -0
  62. package/dist/workflow/index.d.ts +17 -4
  63. package/dist/workflow/index.d.ts.map +1 -1
  64. package/dist/workflow/index.js +18 -3
  65. package/dist/workflow/index.js.map +1 -1
  66. package/dist/workflow/lint-profiles.d.ts +27 -0
  67. package/dist/workflow/lint-profiles.d.ts.map +1 -0
  68. package/dist/workflow/lint-profiles.js +49 -0
  69. package/dist/workflow/lint-profiles.js.map +1 -0
  70. package/dist/workflow/lint-rules.d.ts +15 -0
  71. package/dist/workflow/lint-rules.d.ts.map +1 -0
  72. package/dist/workflow/lint-rules.js +15 -0
  73. package/dist/workflow/lint-rules.js.map +1 -0
  74. package/dist/workflow/lint.d.ts +4 -18
  75. package/dist/workflow/lint.d.ts.map +1 -1
  76. package/dist/workflow/lint.js +9 -30
  77. package/dist/workflow/lint.js.map +1 -1
  78. package/dist/workflow/lint_profiles.yml +41 -0
  79. package/dist/workflow/linting.d.ts +54 -0
  80. package/dist/workflow/linting.d.ts.map +1 -0
  81. package/dist/workflow/linting.js +71 -0
  82. package/dist/workflow/linting.js.map +1 -0
  83. package/dist/workflow/normalized/index.d.ts +5 -2
  84. package/dist/workflow/normalized/index.d.ts.map +1 -1
  85. package/dist/workflow/normalized/index.js +2 -0
  86. package/dist/workflow/normalized/index.js.map +1 -1
  87. package/dist/workflow/normalized/stateful-runner.d.ts +82 -0
  88. package/dist/workflow/normalized/stateful-runner.d.ts.map +1 -0
  89. package/dist/workflow/normalized/stateful-runner.js +122 -0
  90. package/dist/workflow/normalized/stateful-runner.js.map +1 -0
  91. package/dist/workflow/normalized/toFormat2.d.ts +19 -1
  92. package/dist/workflow/normalized/toFormat2.d.ts.map +1 -1
  93. package/dist/workflow/normalized/toFormat2.js +47 -16
  94. package/dist/workflow/normalized/toFormat2.js.map +1 -1
  95. package/dist/workflow/normalized/toFormat2Stateful.d.ts +30 -0
  96. package/dist/workflow/normalized/toFormat2Stateful.d.ts.map +1 -0
  97. package/dist/workflow/normalized/toFormat2Stateful.js +58 -0
  98. package/dist/workflow/normalized/toFormat2Stateful.js.map +1 -0
  99. package/dist/workflow/normalized/toNative.d.ts +10 -1
  100. package/dist/workflow/normalized/toNative.d.ts.map +1 -1
  101. package/dist/workflow/normalized/toNative.js +24 -8
  102. package/dist/workflow/normalized/toNative.js.map +1 -1
  103. package/dist/workflow/normalized/toNativeStateful.d.ts +31 -0
  104. package/dist/workflow/normalized/toNativeStateful.d.ts.map +1 -0
  105. package/dist/workflow/normalized/toNativeStateful.js +55 -0
  106. package/dist/workflow/normalized/toNativeStateful.js.map +1 -0
  107. package/dist/workflow/param-navigation.d.ts +26 -0
  108. package/dist/workflow/param-navigation.d.ts.map +1 -0
  109. package/dist/workflow/param-navigation.js +60 -0
  110. package/dist/workflow/param-navigation.js.map +1 -0
  111. package/dist/workflow/precheck.d.ts +54 -0
  112. package/dist/workflow/precheck.d.ts.map +1 -0
  113. package/dist/workflow/precheck.js +91 -0
  114. package/dist/workflow/precheck.js.map +1 -0
  115. package/dist/workflow/raw/gxformat2.effect.d.ts +97 -97
  116. package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -1
  117. package/dist/workflow/raw/gxformat2.effect.js +98 -88
  118. package/dist/workflow/raw/gxformat2.effect.js.map +1 -1
  119. package/dist/workflow/raw/native.d.ts +2 -2
  120. package/dist/workflow/raw/native.d.ts.map +1 -1
  121. package/dist/workflow/raw/native.effect.d.ts +33 -33
  122. package/dist/workflow/raw/native.effect.d.ts.map +1 -1
  123. package/dist/workflow/raw/native.effect.js +42 -32
  124. package/dist/workflow/raw/native.effect.js.map +1 -1
  125. package/dist/workflow/report-models.d.ts +412 -0
  126. package/dist/workflow/report-models.d.ts.map +1 -0
  127. package/dist/workflow/report-models.js +342 -0
  128. package/dist/workflow/report-models.js.map +1 -0
  129. package/dist/workflow/roundtrip.d.ts +77 -0
  130. package/dist/workflow/roundtrip.d.ts.map +1 -0
  131. package/dist/workflow/roundtrip.js +597 -0
  132. package/dist/workflow/roundtrip.js.map +1 -0
  133. package/dist/workflow/runtime-markers.d.ts +20 -0
  134. package/dist/workflow/runtime-markers.d.ts.map +1 -0
  135. package/dist/workflow/runtime-markers.js +26 -0
  136. package/dist/workflow/runtime-markers.js.map +1 -0
  137. package/dist/workflow/schema-rules.d.ts +38 -0
  138. package/dist/workflow/schema-rules.d.ts.map +1 -0
  139. package/dist/workflow/schema-rules.js +28 -0
  140. package/dist/workflow/schema-rules.js.map +1 -0
  141. package/dist/workflow/schema_rules.yml +69 -0
  142. package/dist/workflow/serialize.d.ts +30 -0
  143. package/dist/workflow/serialize.d.ts.map +1 -0
  144. package/dist/workflow/serialize.js +37 -0
  145. package/dist/workflow/serialize.js.map +1 -0
  146. package/dist/workflow/stale-keys.d.ts +16 -0
  147. package/dist/workflow/stale-keys.d.ts.map +1 -0
  148. package/dist/workflow/stale-keys.js +43 -0
  149. package/dist/workflow/stale-keys.js.map +1 -0
  150. package/dist/workflow/state-merge.d.ts +15 -32
  151. package/dist/workflow/state-merge.d.ts.map +1 -1
  152. package/dist/workflow/state-merge.js +31 -225
  153. package/dist/workflow/state-merge.js.map +1 -1
  154. package/dist/workflow/stateful-convert.d.ts +47 -0
  155. package/dist/workflow/stateful-convert.d.ts.map +1 -0
  156. package/dist/workflow/stateful-convert.js +151 -0
  157. package/dist/workflow/stateful-convert.js.map +1 -0
  158. package/dist/workflow/stateful-validate.d.ts +67 -0
  159. package/dist/workflow/stateful-validate.d.ts.map +1 -0
  160. package/dist/workflow/stateful-validate.js +123 -0
  161. package/dist/workflow/stateful-validate.js.map +1 -0
  162. package/dist/workflow/strict-checks.d.ts +22 -0
  163. package/dist/workflow/strict-checks.d.ts.map +1 -0
  164. package/dist/workflow/strict-checks.js +95 -0
  165. package/dist/workflow/strict-checks.js.map +1 -0
  166. package/dist/workflow/tool-state-io.d.ts +14 -0
  167. package/dist/workflow/tool-state-io.d.ts.map +1 -0
  168. package/dist/workflow/tool-state-io.js +33 -0
  169. package/dist/workflow/tool-state-io.js.map +1 -0
  170. package/dist/workflow/validators.d.ts +34 -0
  171. package/dist/workflow/validators.d.ts.map +1 -0
  172. package/dist/workflow/validators.js +83 -0
  173. package/dist/workflow/validators.js.map +1 -0
  174. package/dist/workflow/walk-helpers.d.ts +29 -0
  175. package/dist/workflow/walk-helpers.d.ts.map +1 -0
  176. package/dist/workflow/walk-helpers.js +89 -0
  177. package/dist/workflow/walk-helpers.js.map +1 -0
  178. package/dist/workflow/walker.d.ts +55 -0
  179. package/dist/workflow/walker.d.ts.map +1 -0
  180. package/dist/workflow/walker.js +199 -0
  181. package/dist/workflow/walker.js.map +1 -0
  182. package/package.json +21 -16
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Lint rule classes.
3
+ *
4
+ * Each `Linter` subclass carries metadata only (severity, applies_to,
5
+ * profile). Emission happens in `lint.ts` via `LintContext.warn`/`error`
6
+ * with `linter=<Subclass>`.
7
+ */
8
+ import { Linter } from "./linting.js";
9
+ /** Native workflow step keys must be string representations of integers. */
10
+ export class NativeStepKeyNotInteger extends Linter {
11
+ static severity = "error";
12
+ static applies_to = ["native"];
13
+ static profile = "structural";
14
+ }
15
+ //# sourceMappingURL=lint-rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-rules.js","sourceRoot":"","sources":["../../src/workflow/lint-rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,4EAA4E;AAC5E,MAAM,OAAO,uBAAwB,SAAQ,MAAM;IACjD,MAAM,CAAC,QAAQ,GAAG,OAAgB,CAAC;IACnC,MAAM,CAAC,UAAU,GAAG,CAAC,QAAQ,CAAU,CAAC;IACxC,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC"}
@@ -1,25 +1,11 @@
1
1
  /**
2
2
  * Workflow linting — structural checks and best-practice warnings.
3
3
  *
4
- * Port of gxformat2's lint.py + linting.py. Checks workflow structure,
5
- * output labels, step errors, tool references, output source resolution,
6
- * input default types, and report markdown.
4
+ * Port of gxformat2's lint.py. Emission primitives live in `linting.ts`
5
+ * (LintContext / LintMessage / Linter base); rule classes in `lint-rules.ts`.
7
6
  */
8
- export declare class LintContext {
9
- errors: string[];
10
- warnings: string[];
11
- private _prefix;
12
- constructor(prefix?: string);
13
- error(message: string): void;
14
- warn(message: string): void;
15
- child(prefix: string): LintContext;
16
- }
17
- export interface LintResult {
18
- errors: string[];
19
- warnings: string[];
20
- error_count: number;
21
- warn_count: number;
22
- }
7
+ import { type LintResult } from "./linting.js";
8
+ export { LintContext, LintMessage, Linter, LEVEL_ERROR, LEVEL_WARN, type LintLevel, type LintResult, type LinterRef, type EmitOptions, } from "./linting.js";
23
9
  /**
24
10
  * Lint a native Galaxy workflow (.ga format).
25
11
  * Returns structured lint results with errors and warnings.
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/workflow/lint.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,qBAAa,WAAW;IACtB,MAAM,EAAE,MAAM,EAAE,CAAM;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,SAAK;IAIvB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW;CASnC;AAMD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkND;;;GAGG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAU5E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAU7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAG9E;AA6HD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAY1F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAyBzF"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/workflow/lint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG5D,OAAO,EACL,WAAW,EACX,WAAW,EACX,MAAM,EACN,WAAW,EACX,UAAU,EACV,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,cAAc,CAAC;AAqNtB;;;GAGG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAU5E;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAU7E;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAG9E;AA6HD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAY1F;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,CAyBzF"}
@@ -1,40 +1,16 @@
1
1
  /**
2
2
  * Workflow linting — structural checks and best-practice warnings.
3
3
  *
4
- * Port of gxformat2's lint.py + linting.py. Checks workflow structure,
5
- * output labels, step errors, tool references, output source resolution,
6
- * input default types, and report markdown.
4
+ * Port of gxformat2's lint.py. Emission primitives live in `linting.ts`
5
+ * (LintContext / LintMessage / Linter base); rule classes in `lint-rules.ts`.
7
6
  */
8
7
  import { normalizedFormat2 } from "./normalized/format2.js";
9
8
  import { normalizedNative } from "./normalized/native.js";
10
9
  import { ensureFormat2 } from "./normalized/ensure.js";
11
10
  import { detectFormat } from "./detect-format.js";
12
- // ---------------------------------------------------------------------------
13
- // LintContext — tracks errors and warnings during linting
14
- // ---------------------------------------------------------------------------
15
- export class LintContext {
16
- errors = [];
17
- warnings = [];
18
- _prefix;
19
- constructor(prefix = "") {
20
- this._prefix = prefix;
21
- }
22
- error(message) {
23
- this.errors.push(`${this._prefix}${message}`);
24
- }
25
- warn(message) {
26
- this.warnings.push(`${this._prefix}${message}`);
27
- }
28
- child(prefix) {
29
- const fullPrefix = this._prefix ? `${this._prefix.slice(0, -1)} > ${prefix}] ` : `[${prefix}] `;
30
- const ctx = new LintContext();
31
- ctx._prefix = fullPrefix;
32
- // Share message arrays with parent
33
- ctx.errors = this.errors;
34
- ctx.warnings = this.warnings;
35
- return ctx;
36
- }
37
- }
11
+ import { LintContext } from "./linting.js";
12
+ import { NativeStepKeyNotInteger } from "./lint-rules.js";
13
+ export { LintContext, LintMessage, Linter, LEVEL_ERROR, LEVEL_WARN, } from "./linting.js";
38
14
  function toLintResult(ctx) {
39
15
  return {
40
16
  errors: ctx.errors,
@@ -92,7 +68,10 @@ function lintNativeWorkflow(ctx, nnw, rawDict) {
92
68
  let foundOutputWithoutLabel = false;
93
69
  for (const [orderIndex, step] of Object.entries(nnw.steps)) {
94
70
  if (!/^\d+$/.test(orderIndex)) {
95
- ctx.error(`expected step_key to be integer not [${orderIndex}]`);
71
+ ctx.error(`expected step_key to be integer not [${orderIndex}]`, {
72
+ linter: NativeStepKeyNotInteger,
73
+ json_pointer: `/steps/${orderIndex}`,
74
+ });
96
75
  }
97
76
  for (const wo of step.workflow_outputs) {
98
77
  foundOutputs = true;
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/workflow/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/workflow/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ # Lint profile catalog.
2
+ #
3
+ # Profiles group lint-rule IDs into named sets. Profiles apply only to
4
+ # lint rules (schema rules always run as part of validate_*). Unknown IDs
5
+ # are tolerated by the loader; audit tooling can flag them.
6
+ #
7
+ # Rule IDs mirror the ``Linter`` class names in gxformat2/lint_rules.py.
8
+
9
+ structural:
10
+ description: "Checks that prevent execution or indicate structural breakage."
11
+ rules:
12
+ - NativeStepKeyNotInteger
13
+ - StepExportError
14
+ - StepUsesTestToolshed
15
+ - WorkflowHasNoOutputs
16
+ - WorkflowOutputMissingLabel
17
+ - OutputSourceNotFound
18
+ - InputDefaultTypeInvalid
19
+ - ReportMarkdownInvalid
20
+
21
+ best-practices:
22
+ description: "Deviations from recommended authoring practice."
23
+ rules:
24
+ - WorkflowMissingAnnotation
25
+ - WorkflowMissingCreator
26
+ - WorkflowMissingLicense
27
+ - CreatorIdentifierNotURI
28
+ - StepMissingLabel
29
+ - StepMissingAnnotation
30
+ - StepInputDisconnected
31
+ - StepToolStateUntypedParameter
32
+ - StepPJAUntypedParameter
33
+ - TrainingWorkflowMissingTag
34
+ - TrainingWorkflowWrongTopic
35
+ - TrainingWorkflowMissingDoc
36
+ - TrainingWorkflowEmptyDoc
37
+
38
+ release:
39
+ description: "Additional gates for workflows being released."
40
+ rules:
41
+ - WorkflowMissingRelease
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Generic linting primitives — port of gxformat2/linting.py.
3
+ *
4
+ * `LintMessage` is a structured emission carrying prose plus `level`,
5
+ * `linter`, and `json_pointer` metadata. Field names are snake_case for
6
+ * sync-clean diff with Python. `toString()` returns the prose so template
7
+ * interpolation (`${m}`) and existing string-based callers keep working.
8
+ */
9
+ export type LintLevel = "error" | "warn";
10
+ export declare const LEVEL_ERROR: LintLevel;
11
+ export declare const LEVEL_WARN: LintLevel;
12
+ export declare class LintMessage {
13
+ readonly message: string;
14
+ readonly level: LintLevel;
15
+ readonly linter: string | null;
16
+ readonly json_pointer: string;
17
+ constructor(message: string, options?: {
18
+ level?: LintLevel;
19
+ linter?: string | null;
20
+ json_pointer?: string;
21
+ });
22
+ toString(): string;
23
+ }
24
+ /**
25
+ * Metadata-only base for lint rules. Subclasses carry class-level metadata;
26
+ * emission happens via `LintContext.error`/`warn` with `linter=Subclass`.
27
+ */
28
+ export declare abstract class Linter {
29
+ static severity: "error" | "warning";
30
+ static applies_to: readonly ("format2" | "native")[];
31
+ static profile: string;
32
+ }
33
+ export type LinterRef = typeof Linter | string | null;
34
+ export interface EmitOptions {
35
+ linter?: LinterRef;
36
+ json_pointer?: string;
37
+ }
38
+ export declare class LintContext {
39
+ errors: LintMessage[];
40
+ warnings: LintMessage[];
41
+ private _pointer;
42
+ constructor(pointer?: string);
43
+ error(message: string, options?: EmitOptions): void;
44
+ warn(message: string, options?: EmitOptions): void;
45
+ child(segment: string | number): LintContext;
46
+ private _emit;
47
+ }
48
+ export interface LintResult {
49
+ errors: LintMessage[];
50
+ warnings: LintMessage[];
51
+ error_count: number;
52
+ warn_count: number;
53
+ }
54
+ //# sourceMappingURL=linting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linting.d.ts","sourceRoot":"","sources":["../../src/workflow/linting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AACzC,eAAO,MAAM,WAAW,EAAE,SAAmB,CAAC;AAC9C,eAAO,MAAM,UAAU,EAAE,SAAkB,CAAC;AAE5C,qBAAa,WAAW;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAG5B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAO;IAQpF,QAAQ,IAAI,MAAM;CAGnB;AAED;;;GAGG;AACH,8BAAsB,MAAM;IAC1B,MAAM,CAAC,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAa;IACjD,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAM;IAC1D,MAAM,CAAC,OAAO,EAAE,MAAM,CAAgB;CACvC;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAYtD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,WAAW;IACtB,MAAM,EAAE,WAAW,EAAE,CAAM;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAM;IAC7B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,SAAK;IAIxB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI;IAIvD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI;IAItD,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAQ5C,OAAO,CAAC,KAAK;CAUd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Generic linting primitives — port of gxformat2/linting.py.
3
+ *
4
+ * `LintMessage` is a structured emission carrying prose plus `level`,
5
+ * `linter`, and `json_pointer` metadata. Field names are snake_case for
6
+ * sync-clean diff with Python. `toString()` returns the prose so template
7
+ * interpolation (`${m}`) and existing string-based callers keep working.
8
+ */
9
+ export const LEVEL_ERROR = "error";
10
+ export const LEVEL_WARN = "warn";
11
+ export class LintMessage {
12
+ message;
13
+ level;
14
+ linter;
15
+ json_pointer;
16
+ constructor(message, options = {}) {
17
+ this.message = message;
18
+ this.level = options.level ?? LEVEL_WARN;
19
+ this.linter = options.linter ?? null;
20
+ this.json_pointer = options.json_pointer ?? "";
21
+ }
22
+ toString() {
23
+ return this.message;
24
+ }
25
+ }
26
+ /**
27
+ * Metadata-only base for lint rules. Subclasses carry class-level metadata;
28
+ * emission happens via `LintContext.error`/`warn` with `linter=Subclass`.
29
+ */
30
+ export class Linter {
31
+ static severity = "warning";
32
+ static applies_to = [];
33
+ static profile = "structural";
34
+ }
35
+ function resolveLinterName(linter) {
36
+ if (linter == null)
37
+ return null;
38
+ if (typeof linter === "string")
39
+ return linter;
40
+ return linter.name;
41
+ }
42
+ function escapePointerSegment(segment) {
43
+ return String(segment).replace(/~/g, "~0").replace(/\//g, "~1");
44
+ }
45
+ export class LintContext {
46
+ errors = [];
47
+ warnings = [];
48
+ _pointer;
49
+ constructor(pointer = "") {
50
+ this._pointer = pointer;
51
+ }
52
+ error(message, options = {}) {
53
+ this._emit(this.errors, LEVEL_ERROR, message, options);
54
+ }
55
+ warn(message, options = {}) {
56
+ this._emit(this.warnings, LEVEL_WARN, message, options);
57
+ }
58
+ child(segment) {
59
+ const newPointer = `${this._pointer}/${escapePointerSegment(segment)}`;
60
+ const ctx = new LintContext(newPointer);
61
+ ctx.errors = this.errors;
62
+ ctx.warnings = this.warnings;
63
+ return ctx;
64
+ }
65
+ _emit(target, level, message, options) {
66
+ const pointer = options.json_pointer !== undefined ? options.json_pointer : this._pointer;
67
+ const linter = resolveLinterName(options.linter);
68
+ target.push(new LintMessage(message, { level, linter, json_pointer: pointer }));
69
+ }
70
+ }
71
+ //# sourceMappingURL=linting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linting.js","sourceRoot":"","sources":["../../src/workflow/linting.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,MAAM,CAAC,MAAM,WAAW,GAAc,OAAO,CAAC;AAC9C,MAAM,CAAC,MAAM,UAAU,GAAc,MAAM,CAAC;AAE5C,MAAM,OAAO,WAAW;IACb,OAAO,CAAS;IAChB,KAAK,CAAY;IACjB,MAAM,CAAgB;IACtB,YAAY,CAAS;IAE9B,YACE,OAAe,EACf,UAAgF,EAAE;QAElF,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAgB,MAAM;IAC1B,MAAM,CAAC,QAAQ,GAAwB,SAAS,CAAC;IACjD,MAAM,CAAC,UAAU,GAAsC,EAAE,CAAC;IAC1D,MAAM,CAAC,OAAO,GAAW,YAAY,CAAC;;AAKxC,SAAS,iBAAiB,CAAC,MAA6B;IACtD,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAAwB;IACpD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAClE,CAAC;AAOD,MAAM,OAAO,WAAW;IACtB,MAAM,GAAkB,EAAE,CAAC;IAC3B,QAAQ,GAAkB,EAAE,CAAC;IACrB,QAAQ,CAAS;IAEzB,YAAY,OAAO,GAAG,EAAE;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,UAAuB,EAAE;QAC9C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,UAAuB,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,OAAwB;QAC5B,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;QACxC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzB,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,KAAK,CACX,MAAqB,EACrB,KAAgB,EAChB,OAAe,EACf,OAAoB;QAEpB,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC1F,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;CACF"}
@@ -1,7 +1,10 @@
1
1
  export { normalizedFormat2, NormalizedFormat2WorkflowSchema, NormalizedFormat2StepSchema, NormalizedFormat2InputSchema, NormalizedFormat2OutputSchema, NormalizedFormat2StepInputSchema, NormalizedFormat2StepOutputSchema, type NormalizedFormat2Workflow, type NormalizedFormat2Step, type NormalizedFormat2Input, type NormalizedFormat2Output, type NormalizedFormat2StepInput, type NormalizedFormat2StepOutput, } from "./format2.js";
2
2
  export { normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, ToolReferenceSchema, type NormalizedNativeWorkflow, type NormalizedNativeStep, type ToolReference, } from "./native.js";
3
- export { toFormat2 } from "./toFormat2.js";
4
- export { toNative } from "./toNative.js";
3
+ export { toFormat2, type ToFormat2Options, type Format2StateOverride } from "./toFormat2.js";
4
+ export { toNative, type ToNativeOptions } from "./toNative.js";
5
+ export { toFormat2Stateful, type StepConversionStatus, type StatefulExportResult, type ToolInputsResolver, } from "./toFormat2Stateful.js";
6
+ export type { StepConversionFailureClass } from "./stateful-runner.js";
7
+ export { toNativeStateful, type StatefulNativeResult } from "./toNativeStateful.js";
5
8
  export { ensureFormat2, ensureNative } from "./ensure.js";
6
9
  export { expandedFormat2, expandedNative, isTrsUrl, MAX_EXPANSION_DEPTH, type ExpandedFormat2Workflow, type ExpandedFormat2Step, type ExpandedNativeWorkflow, type ExpandedNativeStep, type RefResolver, type ExpansionOptions, } from "./expanded.js";
7
10
  export { flattenCommentData, unflattenCommentData } from "./comments.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/normalized/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/workflow/normalized/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,EACjC,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -2,6 +2,8 @@ export { normalizedFormat2, NormalizedFormat2WorkflowSchema, NormalizedFormat2St
2
2
  export { normalizedNative, NormalizedNativeWorkflowSchema, NormalizedNativeStepSchema, ToolReferenceSchema, } from "./native.js";
3
3
  export { toFormat2 } from "./toFormat2.js";
4
4
  export { toNative } from "./toNative.js";
5
+ export { toFormat2Stateful, } from "./toFormat2Stateful.js";
6
+ export { toNativeStateful } from "./toNativeStateful.js";
5
7
  export { ensureFormat2, ensureNative } from "./ensure.js";
6
8
  export { expandedFormat2, expandedNative, isTrsUrl, MAX_EXPANSION_DEPTH, } from "./expanded.js";
7
9
  export { flattenCommentData, unflattenCommentData } from "./comments.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/normalized/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,GAOlC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,GAIpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,mBAAmB,GAOpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/normalized/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC,GAOlC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB,GAIpB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAoD,MAAM,gBAAgB,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAwB,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAA6B,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,cAAc,EACd,QAAQ,EACR,mBAAmB,GAOpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Shared per-step runner for stateful conversions.
3
+ *
4
+ * Both `toFormat2Stateful` and `toNativeStateful` need the same boilerplate:
5
+ * eligibility gate → id resolution → tool-inputs lookup → optional precheck
6
+ * → optional pre-conversion validation → convert → optional post-conversion
7
+ * validation → per-step status tracking. This module factors that out so
8
+ * each wrapper only supplies the config that differs (predicate, id
9
+ * extractor, convert, optional hooks).
10
+ *
11
+ * Tool lookup is callback-shaped (matching gxformat2's
12
+ * `ConversionOptions.state_encode_to_*` design) — callers pass a resolver
13
+ * `(toolId, toolVersion) => ToolParameterModel[] | undefined` and own the
14
+ * caching / loading strategy. Version disambiguation is the caller's
15
+ * responsibility, not the runner's.
16
+ *
17
+ * Failure classes allow callers to distinguish *why* a step fell back:
18
+ *
19
+ * - `unknown_tool` — resolver returned undefined (not in cache, no tool_id)
20
+ * - `precheck` — legacy replacement params or legacy encoding detected
21
+ * - `pre_validation` — native state fails `workflow_step_native` schema
22
+ * - `conversion` — walker/convert threw (unknown param type, bad structure)
23
+ * - `post_validation` — converted format2/native state fails schema
24
+ */
25
+ import type { ToolParameterModel } from "../../schema/bundle-types.js";
26
+ export type ToolInputsResolver = (toolId: string, toolVersion: string | null) => ToolParameterModel[] | undefined;
27
+ export type StepConversionFailureClass = "unknown_tool" | "precheck" | "pre_validation" | "conversion" | "post_validation";
28
+ export interface StepConversionStatus {
29
+ stepId: string;
30
+ toolId?: string;
31
+ toolVersion?: string | null;
32
+ converted: boolean;
33
+ /** Present when converted=false. Distinguishes why the fallback happened. */
34
+ failureClass?: StepConversionFailureClass;
35
+ error?: string;
36
+ }
37
+ export interface StepRunnerConfig<Args, Result> {
38
+ /** Resolve parameter inputs for a given tool_id/tool_version pair. */
39
+ toolInputsResolver: ToolInputsResolver;
40
+ /** Per-step status entries are pushed into this array. */
41
+ status: StepConversionStatus[];
42
+ /** Return true if the step should participate in stateful conversion. */
43
+ isEligible: (args: Args) => boolean;
44
+ /** Extract identifiers for status reporting and lookup. */
45
+ resolveIds: (args: Args) => {
46
+ stepId: string;
47
+ toolId?: string;
48
+ toolVersion?: string | null;
49
+ };
50
+ /**
51
+ * Optional non-throwing precheck. Return an array of reasons (strings)
52
+ * if the step should be skipped without attempting conversion; return
53
+ * null/empty for "ok to proceed".
54
+ */
55
+ precheck?: (args: Args, inputs: ToolParameterModel[]) => string[] | null;
56
+ /**
57
+ * Optional pre-conversion validation. Throw to signal failure — the
58
+ * runner will catch, classify as `pre_validation`, and fall back.
59
+ */
60
+ preValidate?: (args: Args, inputs: ToolParameterModel[]) => void;
61
+ /** Perform the conversion. Thrown errors are classified as `conversion`. */
62
+ convert: (args: Args, inputs: ToolParameterModel[]) => Result;
63
+ /**
64
+ * Optional post-conversion validation on the converted result. Throw to
65
+ * signal failure — classified as `post_validation`, result discarded.
66
+ */
67
+ postValidate?: (result: Result, inputs: ToolParameterModel[]) => void;
68
+ }
69
+ /**
70
+ * Build a per-step callback with status tracking and graceful fallback.
71
+ *
72
+ * Return semantics:
73
+ * - ineligible step → `null`, no status entry
74
+ * - resolver returned undefined → `null`, `unknown_tool` status
75
+ * - precheck returned reasons → `null`, `precheck` status
76
+ * - preValidate threw → `null`, `pre_validation` status
77
+ * - convert threw → `null`, `conversion` status
78
+ * - postValidate threw → `null`, `post_validation` status
79
+ * - success → result, `converted: true` status
80
+ */
81
+ export declare function makeStepConversionRunner<Args, Result>(config: StepRunnerConfig<Args, Result>): (args: Args) => Result | null;
82
+ //# sourceMappingURL=stateful-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateful-runner.d.ts","sourceRoot":"","sources":["../../../src/workflow/normalized/stateful-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,MAAM,kBAAkB,GAAG,CAC/B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,KACvB,kBAAkB,EAAE,GAAG,SAAS,CAAC;AAEtC,MAAM,MAAM,0BAA0B,GAClC,cAAc,GACd,UAAU,GACV,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,CAAC;AAEtB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,0BAA0B,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAC5C,sEAAsE;IACtE,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,0DAA0D;IAC1D,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,yEAAyE;IACzE,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACpC,2DAA2D;IAC3D,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;IACzE;;;OAGG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;IACjE,4EAA4E;IAC5E,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,MAAM,CAAC;IAC9D;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,IAAI,CAAC;CACvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EACnD,MAAM,EAAE,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,GACrC,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,GAAG,IAAI,CAiG/B"}
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Shared per-step runner for stateful conversions.
3
+ *
4
+ * Both `toFormat2Stateful` and `toNativeStateful` need the same boilerplate:
5
+ * eligibility gate → id resolution → tool-inputs lookup → optional precheck
6
+ * → optional pre-conversion validation → convert → optional post-conversion
7
+ * validation → per-step status tracking. This module factors that out so
8
+ * each wrapper only supplies the config that differs (predicate, id
9
+ * extractor, convert, optional hooks).
10
+ *
11
+ * Tool lookup is callback-shaped (matching gxformat2's
12
+ * `ConversionOptions.state_encode_to_*` design) — callers pass a resolver
13
+ * `(toolId, toolVersion) => ToolParameterModel[] | undefined` and own the
14
+ * caching / loading strategy. Version disambiguation is the caller's
15
+ * responsibility, not the runner's.
16
+ *
17
+ * Failure classes allow callers to distinguish *why* a step fell back:
18
+ *
19
+ * - `unknown_tool` — resolver returned undefined (not in cache, no tool_id)
20
+ * - `precheck` — legacy replacement params or legacy encoding detected
21
+ * - `pre_validation` — native state fails `workflow_step_native` schema
22
+ * - `conversion` — walker/convert threw (unknown param type, bad structure)
23
+ * - `post_validation` — converted format2/native state fails schema
24
+ */
25
+ /**
26
+ * Build a per-step callback with status tracking and graceful fallback.
27
+ *
28
+ * Return semantics:
29
+ * - ineligible step → `null`, no status entry
30
+ * - resolver returned undefined → `null`, `unknown_tool` status
31
+ * - precheck returned reasons → `null`, `precheck` status
32
+ * - preValidate threw → `null`, `pre_validation` status
33
+ * - convert threw → `null`, `conversion` status
34
+ * - postValidate threw → `null`, `post_validation` status
35
+ * - success → result, `converted: true` status
36
+ */
37
+ export function makeStepConversionRunner(config) {
38
+ const { toolInputsResolver, status, isEligible, resolveIds, precheck, preValidate, convert, postValidate, } = config;
39
+ return (args) => {
40
+ if (!isEligible(args))
41
+ return null;
42
+ const { stepId, toolId, toolVersion = null } = resolveIds(args);
43
+ const inputs = toolId != null ? toolInputsResolver(toolId, toolVersion) : undefined;
44
+ if (inputs == null) {
45
+ status.push({
46
+ stepId,
47
+ toolId,
48
+ toolVersion,
49
+ converted: false,
50
+ failureClass: "unknown_tool",
51
+ error: toolId == null
52
+ ? "step has no tool_id"
53
+ : `tool not resolved: ${toolId}${toolVersion ? `@${toolVersion}` : ""}`,
54
+ });
55
+ return null;
56
+ }
57
+ if (precheck) {
58
+ const reasons = precheck(args, inputs);
59
+ if (reasons && reasons.length > 0) {
60
+ status.push({
61
+ stepId,
62
+ toolId,
63
+ toolVersion,
64
+ converted: false,
65
+ failureClass: "precheck",
66
+ error: reasons.join("; "),
67
+ });
68
+ return null;
69
+ }
70
+ }
71
+ if (preValidate) {
72
+ try {
73
+ preValidate(args, inputs);
74
+ }
75
+ catch (err) {
76
+ status.push({
77
+ stepId,
78
+ toolId,
79
+ toolVersion,
80
+ converted: false,
81
+ failureClass: "pre_validation",
82
+ error: err instanceof Error ? err.message : String(err),
83
+ });
84
+ return null;
85
+ }
86
+ }
87
+ let result;
88
+ try {
89
+ result = convert(args, inputs);
90
+ }
91
+ catch (err) {
92
+ status.push({
93
+ stepId,
94
+ toolId,
95
+ toolVersion,
96
+ converted: false,
97
+ failureClass: "conversion",
98
+ error: err instanceof Error ? err.message : String(err),
99
+ });
100
+ return null;
101
+ }
102
+ if (postValidate) {
103
+ try {
104
+ postValidate(result, inputs);
105
+ }
106
+ catch (err) {
107
+ status.push({
108
+ stepId,
109
+ toolId,
110
+ toolVersion,
111
+ converted: false,
112
+ failureClass: "post_validation",
113
+ error: err instanceof Error ? err.message : String(err),
114
+ });
115
+ return null;
116
+ }
117
+ }
118
+ status.push({ stepId, toolId, toolVersion, converted: true });
119
+ return result;
120
+ };
121
+ }
122
+ //# sourceMappingURL=stateful-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stateful-runner.js","sourceRoot":"","sources":["../../../src/workflow/normalized/stateful-runner.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,27 @@
3
3
  *
4
4
  * Port of gxformat2/normalized/_conversion.py to_format2 + helpers.
5
5
  */
6
+ import type { NormalizedNativeStep } from "./native.js";
6
7
  import type { NormalizedFormat2Workflow } from "./format2.js";
8
+ /**
9
+ * Per-step callback result: a replacement format2 state dict + optional `in`
10
+ * block overrides (flat path → source). Return null to fall back to the
11
+ * default schema-free passthrough for this step.
12
+ */
13
+ export interface Format2StateOverride {
14
+ state: Record<string, unknown>;
15
+ in?: Record<string, string>;
16
+ }
17
+ export interface ToFormat2Options {
18
+ /**
19
+ * Per-step callback: given the native step, return a replacement format2
20
+ * `state` dict (and optional `in` block additions), or null for the default
21
+ * passthrough behavior.
22
+ */
23
+ stateEncodeToFormat2?: (nativeStep: NormalizedNativeStep) => Format2StateOverride | null;
24
+ }
7
25
  /**
8
26
  * Convert a native Galaxy workflow to normalized Format2.
9
27
  */
10
- export declare function toFormat2(raw: unknown): NormalizedFormat2Workflow;
28
+ export declare function toFormat2(raw: unknown, options?: ToFormat2Options): NormalizedFormat2Workflow;
11
29
  //# sourceMappingURL=toFormat2.d.ts.map