@galaxy-tool-util/connection-validation 1.2.0 → 1.6.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.
@@ -1,9 +1,11 @@
1
1
  import type { ParsedTool } from "@galaxy-tool-util/schema";
2
2
  import type { GetToolInfo } from "./get-tool-info.js";
3
+ import { type InlineToolEntry } from "./inline-resolver.js";
3
4
  export interface ToolRef {
4
5
  toolId: string;
5
6
  toolVersion: string | null;
6
7
  }
8
+ export type InlineRef = InlineToolEntry;
7
9
  export type AsyncToolFetcher = (toolId: string, toolVersion: string | null) => Promise<ParsedTool | null>;
8
10
  export interface BuildGetToolInfoOptions {
9
11
  /** Maximum in-flight fetches. Default 1 (serial) to match the CLI's prior behavior. */
@@ -1 +1 @@
1
- {"version":3,"file":"build-get-tool-info.d.ts","sourceRoot":"","sources":["../src/build-get-tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,KACvB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAKxE;AAiCD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,WAAW,CAAC,CAiDtB"}
1
+ {"version":3,"file":"build-get-tool-info.d.ts","sourceRoot":"","sources":["../src/build-get-tool-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,SAAS,GAAG,eAAe,CAAC;AAExC,MAAM,MAAM,gBAAgB,GAAG,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,KACvB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;AAEhC,MAAM,WAAW,uBAAuB;IACtC,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0DAA0D;IAC1D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxD;AAED,8FAA8F;AAC9F,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,EAAE,CAKxE;AAiCD;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,gBAAgB,EACzB,IAAI,GAAE,uBAA4B,GACjC,OAAO,CAAC,WAAW,CAAC,CAuEtB"}
@@ -1,3 +1,4 @@
1
+ import { collectInlineTools, ensureInlineResolver, } from "./inline-resolver.js";
1
2
  /** Walk a workflow dict (steps + nested subworkflows + nested `run`) and dedupe tool refs. */
2
3
  export function collectToolRefs(data) {
3
4
  const out = [];
@@ -82,7 +83,7 @@ export async function buildGetToolInfo(data, fetcher, opts = {}) {
82
83
  }
83
84
  await Promise.all(workers);
84
85
  }
85
- return {
86
+ const remote = {
86
87
  getToolInfo: (id, version) => {
87
88
  const versioned = lookup.get(lookupKey(id, version ?? null));
88
89
  if (versioned)
@@ -91,6 +92,24 @@ export async function buildGetToolInfo(data, fetcher, opts = {}) {
91
92
  return lookup.get(lookupKey(id, null)) ?? firstByToolId(lookup, id);
92
93
  },
93
94
  };
95
+ // Parse inline tool representations up-front. Surfaces parse errors during
96
+ // preload (same `onMiss` channel ToolShed misses use) and warms the
97
+ // InlineResolver cache so the graph build avoids re-parsing.
98
+ const resolver = ensureInlineResolver(remote);
99
+ for (const entry of collectInlineTools(data)) {
100
+ if (entry.inlineClass !== "GalaxyUserTool") {
101
+ // GalaxyTool admin dynamic tools are out of scope; the graph builder
102
+ // emits `inline_source_unsupported` at validation time. No-op here.
103
+ continue;
104
+ }
105
+ try {
106
+ resolver.parseInlineOnce(entry.representation);
107
+ }
108
+ catch (e) {
109
+ opts.onMiss?.({ toolId: String(entry.representation.id ?? "(inline)"), toolVersion: null }, e);
110
+ }
111
+ }
112
+ return resolver;
94
113
  }
95
114
  function lookupKey(toolId, toolVersion) {
96
115
  return `${toolId}@${toolVersion ?? ""}`;
@@ -1 +1 @@
1
- {"version":3,"file":"build-get-tool-info.js","sourceRoot":"","sources":["../src/build-get-tool-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-get-tool-info.js","sourceRoot":"","sources":["../src/build-get-tool-info.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graph-builder.d.ts","sourceRoot":"","sources":["../src/graph-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAOV,aAAa,EACd,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,aAAa,CAG7F"}
1
+ {"version":3,"file":"graph-builder.d.ts","sourceRoot":"","sources":["../src/graph-builder.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,KAAK,EAOV,aAAa,EACd,MAAM,YAAY,CAAC;AAkBpB,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,aAAa,CAM7F"}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { normalizedNative } from "@galaxy-tool-util/schema";
8
8
  import { toNative } from "@galaxy-tool-util/schema";
9
+ import { ensureInlineResolver, resolveForStep } from "./inline-resolver.js";
9
10
  import { topsort } from "./topsort.js";
10
11
  const PARAMETER_INPUT_TYPES = new Set([
11
12
  "gx_text",
@@ -17,7 +18,10 @@ const PARAMETER_INPUT_TYPES = new Set([
17
18
  ]);
18
19
  export function buildWorkflowGraph(workflow, getToolInfo) {
19
20
  const native = _coerceNormalizedNative(workflow);
20
- return _buildFromNormalized(native, getToolInfo);
21
+ // Wrap once at the top so per-step parse results are memoized across the
22
+ // whole walk (including subworkflow recursion). Idempotent — if the caller
23
+ // already wrapped, we re-use their cache.
24
+ return _buildFromNormalized(native, ensureInlineResolver(getToolInfo));
21
25
  }
22
26
  function _coerceNormalizedNative(workflow) {
23
27
  if (workflow == null || typeof workflow !== "object") {
@@ -104,26 +108,29 @@ function _resolveToolStep(stepId, step, getToolInfo) {
104
108
  const connections = _parseConnections(step);
105
109
  let inputs = {};
106
110
  let outputs = {};
107
- if (step.tool_id) {
108
- const parsed = getToolInfo.getToolInfo(step.tool_id, step.tool_version);
109
- if (parsed) {
110
- inputs = _collectInputs(parsed.inputs, step.tool_state ?? {});
111
- outputs = _collectOutputs(parsed.outputs);
112
- // Python additionally calls _resolve_rules_collection_types here to
113
- // populate `collection_type` from a RuleSet mapping when the output
114
- // declares `collection_type_from_rules`. RuleSet (galaxy.util.rules_dsl)
115
- // is not yet ported — affected outputs stay unresolved (ANY) instead of
116
- // gaining a concrete type. Outputs without rules-driven types behave
117
- // identically to Python.
118
- }
111
+ // resolveForStep handles inline UDT (`tool_representation`) too — when
112
+ // present, the inline parse wins over `tool_id`.
113
+ const parsed = resolveForStep(getToolInfo, step);
114
+ if (parsed) {
115
+ inputs = _collectInputs(parsed.inputs, step.tool_state ?? {});
116
+ outputs = _collectOutputs(parsed.outputs);
117
+ // Python additionally calls _resolve_rules_collection_types here to
118
+ // populate `collection_type` from a RuleSet mapping when the output
119
+ // declares `collection_type_from_rules`. RuleSet (galaxy.util.rules_dsl)
120
+ // is not yet ported — affected outputs stay unresolved (ANY) instead of
121
+ // gaining a concrete type. Outputs without rules-driven types behave
122
+ // identically to Python.
119
123
  }
120
124
  if (step.when && "when" in connections) {
121
125
  inputs.when = { name: "when", statePath: "when", type: "boolean" };
122
126
  }
123
127
  return {
124
128
  stepId,
125
- toolId: step.tool_id ?? null,
126
- toolVersion: step.tool_version ?? null,
129
+ // Inline UDT steps have null tool_id but carry the id inside the
130
+ // representation; surface that so reports/diagnostics have something to
131
+ // show.
132
+ toolId: step.tool_id ?? (parsed ? parsed.id : null) ?? null,
133
+ toolVersion: step.tool_version ?? (parsed ? parsed.version : null) ?? null,
127
134
  stepType: "tool",
128
135
  inputs,
129
136
  outputs,
@@ -1 +1 @@
1
- {"version":3,"file":"graph-builder.js","sourceRoot":"","sources":["../src/graph-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-builder.js","sourceRoot":"","sources":["../src/graph-builder.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,5 +8,6 @@ export type { ConnectionValidationReport, ConnectionStepResult, ConnectionResult
8
8
  export type { GetToolInfo } from "./get-tool-info.js";
9
9
  export { collectToolRefs, buildGetToolInfo } from "./build-get-tool-info.js";
10
10
  export type { ToolRef, AsyncToolFetcher, BuildGetToolInfoOptions } from "./build-get-tool-info.js";
11
+ export { resolveForStep, InlineResolver, ensureInlineResolver, collectInlineTools, type InlineToolEntry, } from "./inline-resolver.js";
11
12
  export { canMatch, canMapOver, compatible, effectiveMapOver, isListLike, collectionTypeRank, isNullDesc, isAnyDesc, describe as describeCollectionType, } from "./collection-type-functions.js";
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,IAAI,sBAAsB,GACnC,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAChF,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnG,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,IAAI,sBAAsB,GACnC,MAAM,gCAAgC,CAAC"}
package/dist/index.js CHANGED
@@ -3,5 +3,6 @@ export { validateConnections, validateConnectionGraph } from "./connection-valid
3
3
  export { validateConnectionsReport, toConnectionValidationReport } from "./report-builder.js";
4
4
  export { buildEdgeAnnotations, edgeAnnotationKey } from "./edge-annotations.js";
5
5
  export { collectToolRefs, buildGetToolInfo } from "./build-get-tool-info.js";
6
+ export { resolveForStep, InlineResolver, ensureInlineResolver, collectInlineTools, } from "./inline-resolver.js";
6
7
  export { canMatch, canMapOver, compatible, effectiveMapOver, isListLike, collectionTypeRank, isNullDesc, isAnyDesc, describe as describeCollectionType, } from "./collection-type-functions.js";
7
8
  //# 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":"AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAShF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,IAAI,sBAAsB,GACnC,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAShF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EACL,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,IAAI,sBAAsB,GACnC,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Inline UDT resolver layered over `GetToolInfo`. TS port of Python's
3
+ * `galaxy.tool_util.workflow_state._inline_tool.{resolve_for_step,
4
+ * InlineResolver, ensure_inline_resolver}` — the connection-validation surface
5
+ * for inline `tool_representation` steps. Without this, inline-UDT steps
6
+ * resolve to empty inputs/outputs (their `tool_id` is `null`).
7
+ *
8
+ * Scope discrimination:
9
+ * - `class: GalaxyUserTool` → parse locally and return.
10
+ * - `class: GalaxyTool` (admin dynamic tool) → return `null` so the caller can
11
+ * emit `inline_source_unsupported`.
12
+ * - Both `tool_id` and `tool_representation` set → `tool_representation` wins
13
+ * (Galaxy's exporter clears `tool_id` on UDT export but third-party exporters
14
+ * might not).
15
+ */
16
+ import type { ParsedTool } from "@galaxy-tool-util/schema";
17
+ import type { GetToolInfo } from "./get-tool-info.js";
18
+ type Dict = Record<string, unknown>;
19
+ export declare function resolveForStep(getToolInfo: GetToolInfo, step: unknown): ParsedTool | undefined;
20
+ /**
21
+ * Per-walk memoization layered over {@link resolveForStep}. Wraps a
22
+ * {@link GetToolInfo} and caches per-step parse results so repeated
23
+ * `resolveForStep` calls on the same step object — common when multiple
24
+ * validation phases walk the same workflow — re-use one parse invocation.
25
+ *
26
+ * Structurally satisfies `GetToolInfo` by delegating `getToolInfo(toolId,
27
+ * version)` to the wrapped instance, so callers can pass an `InlineResolver`
28
+ * anywhere a `GetToolInfo` is expected.
29
+ *
30
+ * Keyed by step identity (`WeakMap`) — content-hash dedupe deferred until
31
+ * profiling says it matters. Lifetime is bound to a single workflow walk.
32
+ */
33
+ export declare class InlineResolver implements GetToolInfo {
34
+ private readonly inner;
35
+ private readonly representationCache;
36
+ constructor(getToolInfo: GetToolInfo);
37
+ getToolInfo(toolId: string, toolVersion?: string | null): ParsedTool | undefined;
38
+ resolve(step: unknown): ParsedTool | undefined;
39
+ /**
40
+ * Parse a single inline representation and cache it by representation
41
+ * identity. Public so callers (e.g. `buildGetToolInfo`) can warm the cache
42
+ * up-front during preload to surface parse errors before graph build.
43
+ */
44
+ parseInlineOnce(representation: Dict): ParsedTool;
45
+ }
46
+ /**
47
+ * Walk a workflow dict (steps + nested subworkflows + nested `run`) and
48
+ * collect every inline tool representation. Used by `buildGetToolInfo` to
49
+ * pre-parse inline tools alongside the async tool_id preload.
50
+ */
51
+ export interface InlineToolEntry {
52
+ representation: Dict;
53
+ inlineClass: "GalaxyUserTool" | "GalaxyTool";
54
+ }
55
+ export declare function collectInlineTools(data: Dict): InlineToolEntry[];
56
+ /**
57
+ * Wrap *getToolInfo* in an {@link InlineResolver}, idempotently. Returns the
58
+ * input unchanged if it is already an `InlineResolver` (so existing caches are
59
+ * preserved).
60
+ */
61
+ export declare function ensureInlineResolver(getToolInfo: GetToolInfo): InlineResolver;
62
+ export {};
63
+ //# sourceMappingURL=inline-resolver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-resolver.d.ts","sourceRoot":"","sources":["../src/inline-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAG3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA8CpC,wBAAgB,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAK9F;AAgBD;;;;;;;;;;;;GAYG;AACH,qBAAa,cAAe,YAAW,WAAW;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAc;IAIpC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqC;gBAE7D,WAAW,EAAE,WAAW;IAIpC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS;IAIhF,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS;IAW9C;;;;OAIG;IACH,eAAe,CAAC,cAAc,EAAE,IAAI,GAAG,UAAU;CAQlD;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,IAAI,CAAC;IACrB,WAAW,EAAE,gBAAgB,GAAG,YAAY,CAAC;CAC9C;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,EAAE,CAIhE;AAkCD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,WAAW,GAAG,cAAc,CAG7E"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Inline UDT resolver layered over `GetToolInfo`. TS port of Python's
3
+ * `galaxy.tool_util.workflow_state._inline_tool.{resolve_for_step,
4
+ * InlineResolver, ensure_inline_resolver}` — the connection-validation surface
5
+ * for inline `tool_representation` steps. Without this, inline-UDT steps
6
+ * resolve to empty inputs/outputs (their `tool_id` is `null`).
7
+ *
8
+ * Scope discrimination:
9
+ * - `class: GalaxyUserTool` → parse locally and return.
10
+ * - `class: GalaxyTool` (admin dynamic tool) → return `null` so the caller can
11
+ * emit `inline_source_unsupported`.
12
+ * - Both `tool_id` and `tool_representation` set → `tool_representation` wins
13
+ * (Galaxy's exporter clears `tool_id` on UDT export but third-party exporters
14
+ * might not).
15
+ */
16
+ import { parseInlineTool } from "@galaxy-tool-util/schema";
17
+ const INLINE_CLASSES = new Set(["GalaxyUserTool", "GalaxyTool"]);
18
+ function viewStep(step) {
19
+ if (!step || typeof step !== "object") {
20
+ return { toolId: null, toolVersion: null, representation: null, inlineClass: null };
21
+ }
22
+ const s = step;
23
+ const representation = pickRepresentation(s);
24
+ const inlineClass = representation &&
25
+ typeof representation.class === "string" &&
26
+ INLINE_CLASSES.has(representation.class)
27
+ ? representation.class
28
+ : null;
29
+ return {
30
+ toolId: typeof s.tool_id === "string" ? s.tool_id : null,
31
+ toolVersion: typeof s.tool_version === "string" ? s.tool_version : null,
32
+ representation,
33
+ inlineClass,
34
+ };
35
+ }
36
+ function pickRepresentation(step) {
37
+ const native = step.tool_representation;
38
+ if (native && typeof native === "object" && !Array.isArray(native)) {
39
+ return native;
40
+ }
41
+ const run = step.run;
42
+ if (run && typeof run === "object" && !Array.isArray(run)) {
43
+ const cls = run.class;
44
+ if (typeof cls === "string" && INLINE_CLASSES.has(cls)) {
45
+ return run;
46
+ }
47
+ }
48
+ return null;
49
+ }
50
+ export function resolveForStep(getToolInfo, step) {
51
+ if (getToolInfo instanceof InlineResolver) {
52
+ return getToolInfo.resolve(step);
53
+ }
54
+ return _resolveForStepUncached(getToolInfo, step);
55
+ }
56
+ function _resolveForStepUncached(getToolInfo, step) {
57
+ const view = viewStep(step);
58
+ if (view.inlineClass !== null) {
59
+ if (view.inlineClass !== "GalaxyUserTool") {
60
+ // GalaxyTool admin dynamic tool — out of scope for connection validation.
61
+ return undefined;
62
+ }
63
+ if (view.representation === null)
64
+ return undefined;
65
+ return parseInlineTool(view.representation);
66
+ }
67
+ if (!view.toolId)
68
+ return undefined;
69
+ return getToolInfo.getToolInfo(view.toolId, view.toolVersion);
70
+ }
71
+ /**
72
+ * Per-walk memoization layered over {@link resolveForStep}. Wraps a
73
+ * {@link GetToolInfo} and caches per-step parse results so repeated
74
+ * `resolveForStep` calls on the same step object — common when multiple
75
+ * validation phases walk the same workflow — re-use one parse invocation.
76
+ *
77
+ * Structurally satisfies `GetToolInfo` by delegating `getToolInfo(toolId,
78
+ * version)` to the wrapped instance, so callers can pass an `InlineResolver`
79
+ * anywhere a `GetToolInfo` is expected.
80
+ *
81
+ * Keyed by step identity (`WeakMap`) — content-hash dedupe deferred until
82
+ * profiling says it matters. Lifetime is bound to a single workflow walk.
83
+ */
84
+ export class InlineResolver {
85
+ inner;
86
+ // Keyed by representation-dict identity rather than step identity so the
87
+ // cache survives normalization (toNative/normalizedNative rebuild steps but
88
+ // keep the inline `tool_representation` leaf by reference).
89
+ representationCache = new WeakMap();
90
+ constructor(getToolInfo) {
91
+ this.inner = getToolInfo;
92
+ }
93
+ getToolInfo(toolId, toolVersion) {
94
+ return this.inner.getToolInfo(toolId, toolVersion);
95
+ }
96
+ resolve(step) {
97
+ const view = viewStep(step);
98
+ if (view.inlineClass !== null) {
99
+ if (view.inlineClass !== "GalaxyUserTool")
100
+ return undefined;
101
+ if (view.representation === null)
102
+ return undefined;
103
+ return this.parseInlineOnce(view.representation);
104
+ }
105
+ if (!view.toolId)
106
+ return undefined;
107
+ return this.inner.getToolInfo(view.toolId, view.toolVersion);
108
+ }
109
+ /**
110
+ * Parse a single inline representation and cache it by representation
111
+ * identity. Public so callers (e.g. `buildGetToolInfo`) can warm the cache
112
+ * up-front during preload to surface parse errors before graph build.
113
+ */
114
+ parseInlineOnce(representation) {
115
+ const key = representation;
116
+ const cached = this.representationCache.get(key);
117
+ if (cached)
118
+ return cached;
119
+ const parsed = parseInlineTool(representation);
120
+ this.representationCache.set(key, parsed);
121
+ return parsed;
122
+ }
123
+ }
124
+ export function collectInlineTools(data) {
125
+ const out = [];
126
+ _walkInline(data, out);
127
+ return out;
128
+ }
129
+ function _walkInline(node, out) {
130
+ const steps = node.steps;
131
+ if (steps == null || typeof steps !== "object")
132
+ return;
133
+ const iter = Array.isArray(steps)
134
+ ? steps
135
+ : Object.values(steps);
136
+ for (const stepRaw of iter) {
137
+ if (stepRaw == null || typeof stepRaw !== "object")
138
+ continue;
139
+ const step = stepRaw;
140
+ const view = viewStep(step);
141
+ if (view.representation && view.inlineClass) {
142
+ out.push({ representation: view.representation, inlineClass: view.inlineClass });
143
+ }
144
+ const sub = step.subworkflow;
145
+ if (sub && typeof sub === "object" && !Array.isArray(sub)) {
146
+ _walkInline(sub, out);
147
+ }
148
+ // For format2, `run:` may be a nested subworkflow (class: GalaxyWorkflow)
149
+ // — recurse so inner UDTs surface too. If `run:` is itself an inline UDT,
150
+ // viewStep already picked it up above; don't recurse in that case.
151
+ const run = step.run;
152
+ if (run &&
153
+ typeof run === "object" &&
154
+ !Array.isArray(run) &&
155
+ run.class === "GalaxyWorkflow") {
156
+ _walkInline(run, out);
157
+ }
158
+ }
159
+ }
160
+ /**
161
+ * Wrap *getToolInfo* in an {@link InlineResolver}, idempotently. Returns the
162
+ * input unchanged if it is already an `InlineResolver` (so existing caches are
163
+ * preserved).
164
+ */
165
+ export function ensureInlineResolver(getToolInfo) {
166
+ if (getToolInfo instanceof InlineResolver)
167
+ return getToolInfo;
168
+ return new InlineResolver(getToolInfo);
169
+ }
170
+ //# sourceMappingURL=inline-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-resolver.js","sourceRoot":"","sources":["../src/inline-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@galaxy-tool-util/connection-validation",
3
- "version": "1.2.0",
3
+ "version": "1.6.0",
4
4
  "description": "Connection validator for Galaxy workflows — port of galaxy.tool_util.workflow_state.connection_validation",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -36,7 +36,7 @@
36
36
  "yaml": "^2.8.3"
37
37
  },
38
38
  "dependencies": {
39
- "@galaxy-tool-util/schema": "1.2.0",
39
+ "@galaxy-tool-util/schema": "1.6.0",
40
40
  "@galaxy-tool-util/workflow-graph": "1.2.0"
41
41
  },
42
42
  "scripts": {