@galaxy-tool-util/schema 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/index.d.ts +75 -5
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +48 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/schema/type-guards.d.ts +14 -0
  6. package/dist/schema/type-guards.d.ts.map +1 -0
  7. package/dist/schema/type-guards.js +25 -0
  8. package/dist/schema/type-guards.js.map +1 -0
  9. package/dist/test-format/cross-check/check.d.ts +18 -0
  10. package/dist/test-format/cross-check/check.d.ts.map +1 -0
  11. package/dist/test-format/cross-check/check.js +89 -0
  12. package/dist/test-format/cross-check/check.js.map +1 -0
  13. package/dist/test-format/cross-check/extract-format2.d.ts +13 -0
  14. package/dist/test-format/cross-check/extract-format2.d.ts.map +1 -0
  15. package/dist/test-format/cross-check/extract-format2.js +98 -0
  16. package/dist/test-format/cross-check/extract-format2.js.map +1 -0
  17. package/dist/test-format/cross-check/extract-native.d.ts +4 -0
  18. package/dist/test-format/cross-check/extract-native.d.ts.map +1 -0
  19. package/dist/test-format/cross-check/extract-native.js +89 -0
  20. package/dist/test-format/cross-check/extract-native.js.map +1 -0
  21. package/dist/test-format/cross-check/extract.d.ts +9 -0
  22. package/dist/test-format/cross-check/extract.d.ts.map +1 -0
  23. package/dist/test-format/cross-check/extract.js +16 -0
  24. package/dist/test-format/cross-check/extract.js.map +1 -0
  25. package/dist/test-format/cross-check/index.d.ts +7 -0
  26. package/dist/test-format/cross-check/index.d.ts.map +1 -0
  27. package/dist/test-format/cross-check/index.js +6 -0
  28. package/dist/test-format/cross-check/index.js.map +1 -0
  29. package/dist/test-format/cross-check/type-compat.d.ts +23 -0
  30. package/dist/test-format/cross-check/type-compat.d.ts.map +1 -0
  31. package/dist/test-format/cross-check/type-compat.js +48 -0
  32. package/dist/test-format/cross-check/type-compat.js.map +1 -0
  33. package/dist/test-format/cross-check/types.d.ts +23 -0
  34. package/dist/test-format/cross-check/types.d.ts.map +1 -0
  35. package/dist/test-format/cross-check/types.js +10 -0
  36. package/dist/test-format/cross-check/types.js.map +1 -0
  37. package/dist/test-format/index.d.ts +3 -0
  38. package/dist/test-format/index.d.ts.map +1 -0
  39. package/dist/test-format/index.js +3 -0
  40. package/dist/test-format/index.js.map +1 -0
  41. package/dist/test-format/tests.schema.generated.d.ts +5610 -0
  42. package/dist/test-format/tests.schema.generated.d.ts.map +1 -0
  43. package/dist/test-format/tests.schema.generated.js +6899 -0
  44. package/dist/test-format/tests.schema.generated.js.map +1 -0
  45. package/dist/test-format/validate.d.ts +20 -0
  46. package/dist/test-format/validate.d.ts.map +1 -0
  47. package/dist/test-format/validate.js +41 -0
  48. package/dist/test-format/validate.js.map +1 -0
  49. package/dist/tool-state-validator.d.ts +23 -0
  50. package/dist/tool-state-validator.d.ts.map +1 -0
  51. package/dist/tool-state-validator.js +59 -0
  52. package/dist/tool-state-validator.js.map +1 -0
  53. package/dist/workflow/clean.d.ts +29 -3
  54. package/dist/workflow/clean.d.ts.map +1 -1
  55. package/dist/workflow/clean.js +199 -28
  56. package/dist/workflow/clean.js.map +1 -1
  57. package/dist/workflow/index.d.ts +13 -5
  58. package/dist/workflow/index.d.ts.map +1 -1
  59. package/dist/workflow/index.js +13 -3
  60. package/dist/workflow/index.js.map +1 -1
  61. package/dist/workflow/lint-profiles.d.ts +27 -0
  62. package/dist/workflow/lint-profiles.d.ts.map +1 -0
  63. package/dist/workflow/lint-profiles.js +49 -0
  64. package/dist/workflow/lint-profiles.js.map +1 -0
  65. package/dist/workflow/lint-rules.d.ts +15 -0
  66. package/dist/workflow/lint-rules.d.ts.map +1 -0
  67. package/dist/workflow/lint-rules.js +15 -0
  68. package/dist/workflow/lint-rules.js.map +1 -0
  69. package/dist/workflow/lint.d.ts +4 -18
  70. package/dist/workflow/lint.d.ts.map +1 -1
  71. package/dist/workflow/lint.js +9 -30
  72. package/dist/workflow/lint.js.map +1 -1
  73. package/dist/workflow/lint_profiles.yml +41 -0
  74. package/dist/workflow/linting.d.ts +54 -0
  75. package/dist/workflow/linting.d.ts.map +1 -0
  76. package/dist/workflow/linting.js +71 -0
  77. package/dist/workflow/linting.js.map +1 -0
  78. package/dist/workflow/param-navigation.d.ts +26 -0
  79. package/dist/workflow/param-navigation.d.ts.map +1 -0
  80. package/dist/workflow/param-navigation.js +60 -0
  81. package/dist/workflow/param-navigation.js.map +1 -0
  82. package/dist/workflow/raw/gxformat2.effect.d.ts +341 -117
  83. package/dist/workflow/raw/gxformat2.effect.d.ts.map +1 -1
  84. package/dist/workflow/raw/gxformat2.effect.js +107 -109
  85. package/dist/workflow/raw/gxformat2.effect.js.map +1 -1
  86. package/dist/workflow/raw/native.d.ts +2 -2
  87. package/dist/workflow/raw/native.d.ts.map +1 -1
  88. package/dist/workflow/raw/native.effect.d.ts +150 -3
  89. package/dist/workflow/raw/native.effect.d.ts.map +1 -1
  90. package/dist/workflow/raw/native.effect.js +3 -5
  91. package/dist/workflow/raw/native.effect.js.map +1 -1
  92. package/dist/workflow/report-models.d.ts +412 -0
  93. package/dist/workflow/report-models.d.ts.map +1 -0
  94. package/dist/workflow/report-models.js +342 -0
  95. package/dist/workflow/report-models.js.map +1 -0
  96. package/dist/workflow/roundtrip.d.ts +31 -8
  97. package/dist/workflow/roundtrip.d.ts.map +1 -1
  98. package/dist/workflow/roundtrip.js +107 -26
  99. package/dist/workflow/roundtrip.js.map +1 -1
  100. package/dist/workflow/schema-rules.d.ts +38 -0
  101. package/dist/workflow/schema-rules.d.ts.map +1 -0
  102. package/dist/workflow/schema-rules.js +28 -0
  103. package/dist/workflow/schema-rules.js.map +1 -0
  104. package/dist/workflow/schema_rules.yml +69 -0
  105. package/dist/workflow/serialize.d.ts +30 -0
  106. package/dist/workflow/serialize.d.ts.map +1 -0
  107. package/dist/workflow/serialize.js +37 -0
  108. package/dist/workflow/serialize.js.map +1 -0
  109. package/dist/workflow/state-merge.d.ts +15 -32
  110. package/dist/workflow/state-merge.d.ts.map +1 -1
  111. package/dist/workflow/state-merge.js +30 -207
  112. package/dist/workflow/state-merge.js.map +1 -1
  113. package/dist/workflow/stateful-validate.d.ts +21 -0
  114. package/dist/workflow/stateful-validate.d.ts.map +1 -1
  115. package/dist/workflow/stateful-validate.js +27 -0
  116. package/dist/workflow/stateful-validate.js.map +1 -1
  117. package/dist/workflow/strict-checks.d.ts +22 -0
  118. package/dist/workflow/strict-checks.d.ts.map +1 -0
  119. package/dist/workflow/strict-checks.js +95 -0
  120. package/dist/workflow/strict-checks.js.map +1 -0
  121. package/dist/workflow/tool-state-io.d.ts +14 -0
  122. package/dist/workflow/tool-state-io.d.ts.map +1 -0
  123. package/dist/workflow/tool-state-io.js +33 -0
  124. package/dist/workflow/tool-state-io.js.map +1 -0
  125. package/dist/workflow/validators.d.ts +34 -0
  126. package/dist/workflow/validators.d.ts.map +1 -0
  127. package/dist/workflow/validators.js +83 -0
  128. package/dist/workflow/validators.js.map +1 -0
  129. package/dist/workflow/walk-helpers.d.ts +29 -0
  130. package/dist/workflow/walk-helpers.d.ts.map +1 -0
  131. package/dist/workflow/walk-helpers.js +89 -0
  132. package/dist/workflow/walk-helpers.js.map +1 -0
  133. package/dist/workflow/walker.d.ts +2 -0
  134. package/dist/workflow/walker.d.ts.map +1 -1
  135. package/dist/workflow/walker.js +16 -6
  136. package/dist/workflow/walker.js.map +1 -1
  137. package/package.json +7 -6
@@ -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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Utility for navigating a ToolParameterModel tree by path segments.
3
+ *
4
+ * Used by LSP language servers to resolve completion and hover context
5
+ * inside tool_state YAML, including conditional branch filtering.
6
+ */
7
+ import type { ToolParameterModel } from "../schema/bundle-types.js";
8
+ export interface ParamNavigationResult {
9
+ /** The param at the final path segment (undefined if path doesn't resolve). */
10
+ param: ToolParameterModel | undefined;
11
+ /** All params available at the final level — used for name completions. */
12
+ availableParams: ToolParameterModel[];
13
+ }
14
+ /**
15
+ * Navigate a tool parameter tree by path segments.
16
+ *
17
+ * - Sections: recurse into `parameters`
18
+ * - Repeats: skip numeric path segments, recurse into `parameters`
19
+ * - Conditionals: call selectWhichWhen(conditional, stateAtCurrentLevel),
20
+ * fall back to all branches merged if no state provided or no match
21
+ *
22
+ * `state` is the full state dict at the top of the tree; the function
23
+ * navigates it in parallel with the param tree to resolve nested conditionals.
24
+ */
25
+ export declare function findParamAtPath(params: ToolParameterModel[], path: (string | number)[], state?: Record<string, unknown>): ParamNavigationResult;
26
+ //# sourceMappingURL=param-navigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-navigation.d.ts","sourceRoot":"","sources":["../../src/workflow/param-navigation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,WAAW,qBAAqB;IACpC,+EAA+E;IAC/E,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,2EAA2E;IAC3E,eAAe,EAAE,kBAAkB,EAAE,CAAC;CACvC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,kBAAkB,EAAE,EAC5B,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,qBAAqB,CAsCvB"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Utility for navigating a ToolParameterModel tree by path segments.
3
+ *
4
+ * Used by LSP language servers to resolve completion and hover context
5
+ * inside tool_state YAML, including conditional branch filtering.
6
+ */
7
+ import { isConditionalParam, isRepeatParam, isSectionParam } from "../schema/type-guards.js";
8
+ import { selectWhichWhen } from "./walk-helpers.js";
9
+ /**
10
+ * Navigate a tool parameter tree by path segments.
11
+ *
12
+ * - Sections: recurse into `parameters`
13
+ * - Repeats: skip numeric path segments, recurse into `parameters`
14
+ * - Conditionals: call selectWhichWhen(conditional, stateAtCurrentLevel),
15
+ * fall back to all branches merged if no state provided or no match
16
+ *
17
+ * `state` is the full state dict at the top of the tree; the function
18
+ * navigates it in parallel with the param tree to resolve nested conditionals.
19
+ */
20
+ export function findParamAtPath(params, path, state) {
21
+ if (path.length === 0)
22
+ return { param: undefined, availableParams: params };
23
+ const [head, ...tail] = path;
24
+ // Skip numeric segments (repeat instance indices)
25
+ if (typeof head === "number")
26
+ return findParamAtPath(params, tail, state);
27
+ const match = params.find((p) => p.name === head);
28
+ if (!match)
29
+ return { param: undefined, availableParams: params };
30
+ if (tail.length === 0)
31
+ return { param: match, availableParams: params };
32
+ if (isSectionParam(match)) {
33
+ return findParamAtPath(match.parameters, tail, _getSubState(state, head));
34
+ }
35
+ if (isRepeatParam(match)) {
36
+ return findParamAtPath(match.parameters, tail, _getSubState(state, head));
37
+ }
38
+ if (isConditionalParam(match)) {
39
+ const conditionalState = _getSubState(state, head);
40
+ // Only filter to a specific branch when the discriminator key is
41
+ // explicitly present in state. If state is absent OR the discriminator
42
+ // key hasn't been set yet, merge all branches so completions/hover
43
+ // aren't artificially restricted to a default branch the user may not
44
+ // have chosen.
45
+ const discriminatorSet = conditionalState !== undefined && match.test_parameter.name in conditionalState;
46
+ const activeWhen = discriminatorSet ? selectWhichWhen(match, conditionalState) : null;
47
+ const branchParams = activeWhen
48
+ ? activeWhen.parameters
49
+ : match.whens.flatMap((w) => w.parameters);
50
+ return findParamAtPath([match.test_parameter, ...branchParams], tail, conditionalState);
51
+ }
52
+ return { param: undefined, availableParams: params };
53
+ }
54
+ function _getSubState(state, key) {
55
+ const val = state?.[key];
56
+ return val && typeof val === "object" && !Array.isArray(val)
57
+ ? val
58
+ : undefined;
59
+ }
60
+ //# sourceMappingURL=param-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-navigation.js","sourceRoot":"","sources":["../../src/workflow/param-navigation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7F,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AASpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAC7B,MAA4B,EAC5B,IAAyB,EACzB,KAA+B;IAE/B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAE5E,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE7B,kDAAkD;IAClD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAE1E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAEjE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;IAExE,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,IAAI,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,gBAAgB,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnD,iEAAiE;QACjE,uEAAuE;QACvE,mEAAmE;QACnE,sEAAsE;QACtE,eAAe;QACf,MAAM,gBAAgB,GACpB,gBAAgB,KAAK,SAAS,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,gBAAgB,CAAC;QAClF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,MAAM,YAAY,GAAG,UAAU;YAC7B,CAAC,CAAC,UAAU,CAAC,UAAU;YACvB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,eAAe,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC1F,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CACnB,KAA0C,EAC1C,GAAW;IAEX,MAAM,GAAG,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC1D,CAAC,CAAE,GAA+B;QAClC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}