@galaxy-tool-util/schema 1.8.2 → 1.10.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.
- package/dist/index.d.ts +8 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/tool-state-validator.d.ts.map +1 -1
- package/dist/tool-state-validator.js +8 -1
- package/dist/tool-state-validator.js.map +1 -1
- package/dist/workflow/cytoscape-models.d.ts +26 -0
- package/dist/workflow/cytoscape-models.d.ts.map +1 -1
- package/dist/workflow/cytoscape-models.js.map +1 -1
- package/dist/workflow/cytoscape.d.ts +10 -0
- package/dist/workflow/cytoscape.d.ts.map +1 -1
- package/dist/workflow/cytoscape.js +67 -14
- package/dist/workflow/cytoscape.js.map +1 -1
- package/dist/workflow/draft-checks.d.ts +36 -0
- package/dist/workflow/draft-checks.d.ts.map +1 -1
- package/dist/workflow/draft-checks.js +62 -0
- package/dist/workflow/draft-checks.js.map +1 -1
- package/dist/workflow/index.d.ts +4 -4
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +3 -3
- package/dist/workflow/index.js.map +1 -1
- package/dist/workflow/mermaid.d.ts +9 -0
- package/dist/workflow/mermaid.d.ts.map +1 -1
- package/dist/workflow/mermaid.js +94 -22
- package/dist/workflow/mermaid.js.map +1 -1
- package/dist/workflow/normalized/index.d.ts +1 -1
- package/dist/workflow/normalized/index.d.ts.map +1 -1
- package/dist/workflow/normalized/index.js +1 -1
- package/dist/workflow/normalized/index.js.map +1 -1
- package/dist/workflow/normalized/labels.d.ts +24 -0
- package/dist/workflow/normalized/labels.d.ts.map +1 -1
- package/dist/workflow/normalized/labels.js +31 -0
- package/dist/workflow/normalized/labels.js.map +1 -1
- package/dist/workflow/normalized/toNative.js +3 -1
- package/dist/workflow/normalized/toNative.js.map +1 -1
- package/dist/workflow/stateful-validate.d.ts +7 -0
- package/dist/workflow/stateful-validate.d.ts.map +1 -1
- package/dist/workflow/stateful-validate.js +26 -1
- package/dist/workflow/stateful-validate.js.map +1 -1
- package/dist/workflow/walker.d.ts +14 -0
- package/dist/workflow/walker.d.ts.map +1 -1
- package/dist/workflow/walker.js +29 -10
- package/dist/workflow/walker.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -116,7 +116,7 @@ type EdgeAnnotation, edgeAnnotationKey,
|
|
|
116
116
|
/** Build Cytoscape.js elements from a Galaxy workflow. */
|
|
117
117
|
cytoscapeElements, type CytoscapeOptions,
|
|
118
118
|
/** Flatten cytoscape elements into the list-of-dicts format cytoscape.js consumes. */
|
|
119
|
-
elementsToList, type CytoscapeEdge, type CytoscapeEdgeData, type CytoscapeElements, type CytoscapeLayoutHint, type CytoscapeListItem, type CytoscapeNode, type CytoscapeNodeData, type CytoscapePosition,
|
|
119
|
+
elementsToList, type CytoscapeEdge, type CytoscapeEdgeData, type CytoscapeElements, type CytoscapeLayoutHint, type CytoscapeListItem, type CytoscapeNode, type CytoscapeNodeData, type CytoscapePlanReason, type CytoscapePosition,
|
|
120
120
|
/** Cross-language layout names + topological position computation. */
|
|
121
121
|
COL_STRIDE, ROW_STRIDE, LAYOUT_NAMES, bakesCoordinates, isLayoutName, topologicalPositions, type LayoutName,
|
|
122
122
|
/** Detect whether a workflow dict is native (.ga) or format2 (.gxwf.yml). */
|
|
@@ -132,7 +132,13 @@ validateDraft,
|
|
|
132
132
|
/** Topologically-ordered "what to work on next" for a draft workflow; prompt-shaped work[]. */
|
|
133
133
|
nextDraftStep, type NextStepResult,
|
|
134
134
|
/** Trim a draft workflow to its concrete subset; cascade drops + multi-source rewrites. */
|
|
135
|
-
extractConcreteSubset,
|
|
135
|
+
extractConcreteSubset,
|
|
136
|
+
/** Build a planned/concrete overlay from a raw draft for visualizers (mermaid/cytoscape). */
|
|
137
|
+
resolveDraftOverlay,
|
|
138
|
+
/** Shared class-name token marking planned (draft) nodes/edges. */
|
|
139
|
+
PLANNED_CLASS, type DraftOverlay, type DraftPlannedReason,
|
|
140
|
+
/** Render identity of a step (`label || id`), shared by detectDraft overlay + visualizers. */
|
|
141
|
+
stepRenderIdentity, rawStepRenderIdentity, type DropReason, type DroppedStep, type DroppedOutput, type RewrittenStepInput, type ExtractResult,
|
|
136
142
|
/** Strip `_plan_*` planning fields from every step + workflow root (recursive over draft subworkflows). */
|
|
137
143
|
stripPlanFields, type StrippedPlanField, type StripPlanFieldsResult,
|
|
138
144
|
/** Flip `class: GalaxyWorkflowDraft` → `class: GalaxyWorkflow` on any (sub)workflow now fully concrete. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -116,6 +116,12 @@ validateDraft,
|
|
|
116
116
|
nextDraftStep,
|
|
117
117
|
/** Trim a draft workflow to its concrete subset; cascade drops + multi-source rewrites. */
|
|
118
118
|
extractConcreteSubset,
|
|
119
|
+
/** Build a planned/concrete overlay from a raw draft for visualizers (mermaid/cytoscape). */
|
|
120
|
+
resolveDraftOverlay,
|
|
121
|
+
/** Shared class-name token marking planned (draft) nodes/edges. */
|
|
122
|
+
PLANNED_CLASS,
|
|
123
|
+
/** Render identity of a step (`label || id`), shared by detectDraft overlay + visualizers. */
|
|
124
|
+
stepRenderIdentity, rawStepRenderIdentity,
|
|
119
125
|
/** Strip `_plan_*` planning fields from every step + workflow root (recursive over draft subworkflows). */
|
|
120
126
|
stripPlanFields,
|
|
121
127
|
/** Flip `class: GalaxyWorkflowDraft` → `class: GalaxyWorkflow` on any (sub)workflow now fully concrete. */
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO;AACL,0FAA0F;AAC1F,gBAAgB;AAEhB,4CAA4C;AAC5C,qBAAqB;AACrB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,wEAAwE;AACxE,yBAAyB;AACzB,6DAA6D;AAC7D,wBAAwB;AACxB,gEAAgE;AAChE,qBAAqB;AACrB,gEAAgE;AAChE,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AA6B3B,OAAO;AACL,uFAAuF;AACvF,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,OAAO,EACP,QAAQ,EACR,4BAA4B,EAC5B,qCAAqC,EACrC,uCAAuC,EACvC,UAAU,EACV,iBAAiB,EACjB,6BAA6B,EAC7B,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO;AAEL,6EAA6E;AAC7E,oBAAoB;AAEpB,2GAA2G;AAC3G,yBAAyB;AACzB,+HAA+H;AAC/H,6BAA6B;AAE7B,mGAAmG;AACnG,uBAAuB;AAEvB,oDAAoD;AACpD,0BAA0B;AAC1B,mFAAmF;AACnF,iBAAiB;AACjB,+EAA+E;AAC/E,eAAe;AACf,wEAAwE;AACxE,gBAAgB,EAChB,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,iCAAiC;AAOjC,wFAAwF;AACxF,gBAAgB,EAChB,8BAA8B,EAC9B,0BAA0B,EAC1B,mBAAmB;AAInB,iEAAiE;AACjE,0BAA0B;AAC1B,oEAAoE;AACpE,oBAAoB;AACpB,4EAA4E;AAC5E,8BAA8B;AAC9B,oFAAoF;AACpF,uBAAuB;AACvB,kHAAkH;AAClH,qBAAqB;AACrB,+DAA+D;AAC/D,eAAe;AACf,sEAAsE;AACtE,gBAAgB;AAChB,wEAAwE;AACxE,SAAS;AAET,iEAAiE;AACjE,aAAa,EACb,gBAAgB;AAChB,6CAA6C;AAC7C,mBAAmB;AACnB,qEAAqE;AACrE,eAAe;AACf,6DAA6D;AAC7D,mBAAmB;AACnB,gFAAgF;AAChF,eAAe;AACf,+EAA+E;AAC/E,cAAc;AACd,mEAAmE;AACnE,QAAQ,EACR,mBAAmB;AAOnB,qDAAqD;AACrD,SAAS;AACT,qDAAqD;AACrD,QAAQ;AACR,0EAA0E;AAC1E,iBAAiB;AACjB,0EAA0E;AAC1E,gBAAgB;AAMhB,+EAA+E;AAC/E,sBAAsB,EACtB,kBAAkB;AAGlB,4EAA4E;AAC5E,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB;AACxB,6EAA6E;AAC7E,8BAA8B;AAE9B,kFAAkF;AAClF,eAAe;AAEf,yFAAyF;AACzF,iBAAiB;AAMjB,6EAA6E;AAC7E,aAAa;AAIb,8EAA8E;AAC9E,aAAa,EAEb,iBAAiB,EAIjB,iBAAiB;AACjB,0DAA0D;AAC1D,iBAAiB;AAEjB,sFAAsF;AACtF,cAAc;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-state-validator.d.ts","sourceRoot":"","sources":["../src/tool-state-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,
|
|
1
|
+
{"version":3,"file":"tool-state-validator.d.ts","sourceRoot":"","sources":["../src/tool-state-validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAML,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAKzC,YAAY,EAAE,mBAAmB,EAAE,CAAC;AAEpC;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CACtF;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,cAAc;IAE/C,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAC7C,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkB3B,mBAAmB,CACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAkBjC;;;;;;;OAOG;IACG,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACpC,OAAO,CAAC,mBAAmB,EAAE,CAAC;CAMlC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ConversionValidationFailure, validateFormat2StepState, validateFormat2StepStateStrict, validateNativeStepState, } from "./workflow/stateful-validate.js";
|
|
1
|
+
import { ConversionValidationFailure, stringContainerDiagnostic, validateFormat2StepState, validateFormat2StepStateStrict, validateNativeStepState, } from "./workflow/stateful-validate.js";
|
|
2
|
+
import { StringContainerError } from "./workflow/walker.js";
|
|
2
3
|
/**
|
|
3
4
|
* High-level bridge: given a tool-info lookup, validate tool_state for a
|
|
4
5
|
* single workflow step without exposing Effect internals to callers.
|
|
@@ -21,6 +22,9 @@ export class ToolStateValidator {
|
|
|
21
22
|
if (e instanceof ConversionValidationFailure) {
|
|
22
23
|
return e.issues.map((msg) => ({ path: "", message: msg, severity: "error" }));
|
|
23
24
|
}
|
|
25
|
+
if (e instanceof StringContainerError) {
|
|
26
|
+
return [stringContainerDiagnostic(e)];
|
|
27
|
+
}
|
|
24
28
|
throw e;
|
|
25
29
|
}
|
|
26
30
|
}
|
|
@@ -37,6 +41,9 @@ export class ToolStateValidator {
|
|
|
37
41
|
if (e instanceof ConversionValidationFailure) {
|
|
38
42
|
return e.issues.map((msg) => ({ path: "", message: msg, severity: "error" }));
|
|
39
43
|
}
|
|
44
|
+
if (e instanceof StringContainerError) {
|
|
45
|
+
return [stringContainerDiagnostic(e)];
|
|
46
|
+
}
|
|
40
47
|
throw e;
|
|
41
48
|
}
|
|
42
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-state-validator.js","sourceRoot":"","sources":["../src/tool-state-validator.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,EAC9B,uBAAuB,GAExB,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-state-validator.js","sourceRoot":"","sources":["../src/tool-state-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,22 @@
|
|
|
4
4
|
* Port of gxformat2/cytoscape/models.py. Field names stay snake_case so the
|
|
5
5
|
* emitted JSON is byte-identical to the Python builder.
|
|
6
6
|
*/
|
|
7
|
+
import type { PlanField } from "./draft-checks.js";
|
|
7
8
|
export interface CytoscapePosition {
|
|
8
9
|
x: number;
|
|
9
10
|
y: number;
|
|
10
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* Per-node planning context surfaced for draft (planned) nodes — the structured
|
|
14
|
+
* twin of `DraftPlannedReason`, snake_cased for cytoscape JSON parity. Absent on
|
|
15
|
+
* concrete nodes so default emit stays byte-identical.
|
|
16
|
+
*/
|
|
17
|
+
export interface CytoscapePlanReason {
|
|
18
|
+
/** Formatted TODO sentinel locations on (or under) this step, in survey order. */
|
|
19
|
+
todos: string[];
|
|
20
|
+
/** Non-empty `_plan_*` fields on this step, kept structured. */
|
|
21
|
+
plan_fields: Partial<Record<PlanField, string>>;
|
|
22
|
+
}
|
|
11
23
|
export interface CytoscapeNodeData {
|
|
12
24
|
id: string;
|
|
13
25
|
label: string;
|
|
@@ -15,6 +27,14 @@ export interface CytoscapeNodeData {
|
|
|
15
27
|
tool_id: string | null;
|
|
16
28
|
step_type: string;
|
|
17
29
|
repo_link: string | null;
|
|
30
|
+
/**
|
|
31
|
+
* True on planned (draft) step nodes. Optional so concrete emit stays
|
|
32
|
+
* byte-identical with the Python builder; the HTML viewer can key a
|
|
33
|
+
* dashed/muted treatment off it.
|
|
34
|
+
*/
|
|
35
|
+
planned?: boolean;
|
|
36
|
+
/** Planning context for planned nodes; absent on concrete nodes. */
|
|
37
|
+
plan_reason?: CytoscapePlanReason;
|
|
18
38
|
}
|
|
19
39
|
export interface CytoscapeEdgeData {
|
|
20
40
|
id: string;
|
|
@@ -31,6 +51,12 @@ export interface CytoscapeEdgeData {
|
|
|
31
51
|
reduction?: boolean;
|
|
32
52
|
/** Textual mapping (e.g. "list", "list:paired"); mirrors `ConnectionResult.mapping`. */
|
|
33
53
|
mapping?: string | null;
|
|
54
|
+
/**
|
|
55
|
+
* True when this connection touches a planned step or a surviving `TODO_*`
|
|
56
|
+
* port. Optional so default emit stays byte-identical; coexists with
|
|
57
|
+
* `map_depth`/`reduction`/`mapping`.
|
|
58
|
+
*/
|
|
59
|
+
planned?: boolean;
|
|
34
60
|
}
|
|
35
61
|
export interface CytoscapeNode {
|
|
36
62
|
group: "nodes";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cytoscape-models.d.ts","sourceRoot":"","sources":["../../src/workflow/cytoscape-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"cytoscape-models.d.ts","sourceRoot":"","sources":["../../src/workflow/cytoscape-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,gEAAgE;IAChE,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;IACxB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,iBAAiB,CAAC;IACxB,iGAAiG;IACjG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;;;OAIG;IACH,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAC;AAE9D,wBAAgB,cAAc,CAAC,GAAG,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,CAE1E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cytoscape-models.js","sourceRoot":"","sources":["../../src/workflow/cytoscape-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"cytoscape-models.js","sourceRoot":"","sources":["../../src/workflow/cytoscape-models.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiGH,MAAM,UAAU,cAAc,CAAC,GAAsB;IACnD,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { CytoscapeElements } from "./cytoscape-models.js";
|
|
9
9
|
import type { LayoutName } from "./cytoscape-layout.js";
|
|
10
|
+
import type { DraftOverlay } from "./draft-checks.js";
|
|
10
11
|
import type { EdgeAnnotation } from "./edge-annotation.js";
|
|
11
12
|
import type { NormalizedFormat2Workflow } from "./normalized/format2.js";
|
|
12
13
|
export interface CytoscapeOptions {
|
|
@@ -24,6 +25,15 @@ export interface CytoscapeOptions {
|
|
|
24
25
|
* top-level `elements.layout = { name }` hint for the runtime renderer.
|
|
25
26
|
*/
|
|
26
27
|
layout?: LayoutName;
|
|
28
|
+
/**
|
|
29
|
+
* Overlay marking planned (draft) nodes/edges with a `planned` class + plan
|
|
30
|
+
* context. Mirrors {@link MermaidOptions.draftOverlay}:
|
|
31
|
+
* - omitted (`undefined`): auto-detect — a `GalaxyWorkflowDraft` input
|
|
32
|
+
* resolves its own overlay, a concrete workflow emits unchanged.
|
|
33
|
+
* - a `DraftOverlay`: use it verbatim.
|
|
34
|
+
* - `null`: force plain (byte-identical) output even for a draft.
|
|
35
|
+
*/
|
|
36
|
+
draftOverlay?: DraftOverlay | null;
|
|
27
37
|
}
|
|
28
38
|
export declare function cytoscapeElements(workflow: unknown | NormalizedFormat2Workflow, opts?: CytoscapeOptions): CytoscapeElements;
|
|
29
39
|
//# sourceMappingURL=cytoscape.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cytoscape.d.ts","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,iBAAiB,
|
|
1
|
+
{"version":3,"file":"cytoscape.d.ts","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,iBAAiB,EAIlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAOtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EAGV,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AASjC,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACpC;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,GAAG,yBAAyB,EAC7C,IAAI,GAAE,gBAAqB,GAC1B,iBAAiB,CAuEnB"}
|
|
@@ -6,9 +6,10 @@
|
|
|
6
6
|
* the standalone HTML template.
|
|
7
7
|
*/
|
|
8
8
|
import { bakesCoordinates, topologicalPositions } from "./cytoscape-layout.js";
|
|
9
|
+
import { isDraftWorkflow, isTodoSentinel, PLANNED_CLASS, resolveDraftOverlay, } from "./draft-checks.js";
|
|
9
10
|
import { edgeAnnotationKey } from "./edge-annotation.js";
|
|
10
11
|
import { ensureFormat2 } from "./normalized/ensure.js";
|
|
11
|
-
import { isUnlabeledStep, resolveSourceReference } from "./normalized/labels.js";
|
|
12
|
+
import { isUnlabeledStep, resolveSourceReference, stepRenderIdentity, } from "./normalized/labels.js";
|
|
12
13
|
const MAIN_TS_PREFIX = "toolshed.g2.bx.psu.edu/repos/";
|
|
13
14
|
export function cytoscapeElements(workflow, opts = {}) {
|
|
14
15
|
const wf = typeof workflow === "object" &&
|
|
@@ -18,6 +19,14 @@ export function cytoscapeElements(workflow, opts = {}) {
|
|
|
18
19
|
"unique_tools" in workflow
|
|
19
20
|
? workflow
|
|
20
21
|
: ensureFormat2(workflow);
|
|
22
|
+
// Resolve the draft overlay from the RAW input (normalization strips
|
|
23
|
+
// `_plan_*` and rewrites the class). `undefined` → auto-detect; `null` →
|
|
24
|
+
// caller forced plain rendering. Mirrors workflowToMermaid.
|
|
25
|
+
const overlay = opts.draftOverlay === undefined
|
|
26
|
+
? isDraftWorkflow(workflow)
|
|
27
|
+
? resolveDraftOverlay(workflow)
|
|
28
|
+
: undefined
|
|
29
|
+
: (opts.draftOverlay ?? undefined);
|
|
21
30
|
const layout = opts.layout ?? "preset";
|
|
22
31
|
const nodes = [];
|
|
23
32
|
const edges = [];
|
|
@@ -28,11 +37,22 @@ export function cytoscapeElements(workflow, opts = {}) {
|
|
|
28
37
|
const knownLabels = new Set();
|
|
29
38
|
for (const inp of wf.inputs)
|
|
30
39
|
knownLabels.add(inp.id);
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
// Maps a source-reference key (a step's dict `id` OR its render identity) to
|
|
41
|
+
// the render identity the node id is keyed by. `in:` sources address steps by
|
|
42
|
+
// `id` (e.g. `meme/out`) even when the step has a distinct `label:`.
|
|
43
|
+
const identityByKey = new Map();
|
|
44
|
+
for (const step of wf.steps) {
|
|
45
|
+
const identity = stepRenderIdentity(step);
|
|
46
|
+
knownLabels.add(identity);
|
|
47
|
+
identityByKey.set(identity, identity);
|
|
48
|
+
if (step.id) {
|
|
49
|
+
knownLabels.add(step.id);
|
|
50
|
+
identityByKey.set(step.id, identity);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
33
53
|
wf.steps.forEach((step, i) => {
|
|
34
|
-
nodes.push(_stepNode(step, i + inputsOffset));
|
|
35
|
-
edges.push(..._stepEdges(step, knownLabels, opts.edgeAnnotations));
|
|
54
|
+
nodes.push(_stepNode(step, i + inputsOffset, overlay));
|
|
55
|
+
edges.push(..._stepEdges(step, knownLabels, identityByKey, opts.edgeAnnotations, overlay));
|
|
36
56
|
});
|
|
37
57
|
const elements = { nodes, edges };
|
|
38
58
|
if (layout === "preset") {
|
|
@@ -95,8 +115,8 @@ function _inputNode(inp, orderIndex) {
|
|
|
95
115
|
position: _toPosition(inp.position, orderIndex),
|
|
96
116
|
};
|
|
97
117
|
}
|
|
98
|
-
function _stepNode(step, orderIndex) {
|
|
99
|
-
const stepId = step
|
|
118
|
+
function _stepNode(step, orderIndex, overlay) {
|
|
119
|
+
const stepId = stepRenderIdentity(step);
|
|
100
120
|
// The TS normalizer doesn't infer step.type the way gxformat2 does, so fall
|
|
101
121
|
// back to a `run`-derived hint for subworkflows (matches mermaid emitter).
|
|
102
122
|
const stepType = step.type || (step.run != null ? "subworkflow" : "tool");
|
|
@@ -115,7 +135,7 @@ function _stepNode(step, orderIndex) {
|
|
|
115
135
|
const changesetRevision = repo.changeset_revision;
|
|
116
136
|
repoLink = `https://${toolShed}/view/${owner}/${name}/${changesetRevision}`;
|
|
117
137
|
}
|
|
118
|
-
|
|
138
|
+
const node = {
|
|
119
139
|
group: "nodes",
|
|
120
140
|
data: {
|
|
121
141
|
id: stepId,
|
|
@@ -128,9 +148,26 @@ function _stepNode(step, orderIndex) {
|
|
|
128
148
|
classes: [`type_${stepType}`, "runnable"],
|
|
129
149
|
position: _toPosition(step.position, orderIndex),
|
|
130
150
|
};
|
|
151
|
+
// Planned (draft) node: keep `type_*`/`runnable` (they still encode node kind)
|
|
152
|
+
// and append `planned` LAST so concrete-node `value_set` goldens are
|
|
153
|
+
// unaffected. Carry plan context in `data` for the viewer's tooltip. Gated on
|
|
154
|
+
// overlay presence so concrete emit stays byte-identical.
|
|
155
|
+
if (overlay?.plannedSteps.has(stepId)) {
|
|
156
|
+
node.classes = [...node.classes, PLANNED_CLASS];
|
|
157
|
+
node.data.planned = true;
|
|
158
|
+
const reason = overlay.plannedReason.get(stepId);
|
|
159
|
+
if (reason != null) {
|
|
160
|
+
const planReason = {
|
|
161
|
+
todos: reason.todos,
|
|
162
|
+
plan_fields: reason.planFields,
|
|
163
|
+
};
|
|
164
|
+
node.data.plan_reason = planReason;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
return node;
|
|
131
168
|
}
|
|
132
|
-
function _stepEdges(step, knownLabels, edgeAnnotations) {
|
|
133
|
-
const stepId = step
|
|
169
|
+
function _stepEdges(step, knownLabels, identityByKey, edgeAnnotations, overlay) {
|
|
170
|
+
const stepId = stepRenderIdentity(step);
|
|
134
171
|
const edges = [];
|
|
135
172
|
for (const stepInput of step.in) {
|
|
136
173
|
if (stepInput.source == null)
|
|
@@ -138,7 +175,10 @@ function _stepEdges(step, knownLabels, edgeAnnotations) {
|
|
|
138
175
|
const inputId = stepInput.id || "unknown";
|
|
139
176
|
const sources = Array.isArray(stepInput.source) ? stepInput.source : [stepInput.source];
|
|
140
177
|
for (const source of sources) {
|
|
141
|
-
const [
|
|
178
|
+
const [sourceRef, outputName] = resolveSourceReference(source, knownLabels);
|
|
179
|
+
// Fold a step `id` reference back to the render identity the node id is
|
|
180
|
+
// keyed by; input refs (not in the map) pass through unchanged.
|
|
181
|
+
const sourceLabel = identityByKey.get(sourceRef) ?? sourceRef;
|
|
142
182
|
const output = outputName === "output" ? null : outputName;
|
|
143
183
|
const edgeId = `${stepId}__${inputId}__from__${sourceLabel}`;
|
|
144
184
|
const edge = {
|
|
@@ -151,19 +191,32 @@ function _stepEdges(step, knownLabels, edgeAnnotations) {
|
|
|
151
191
|
output,
|
|
152
192
|
},
|
|
153
193
|
};
|
|
194
|
+
const classes = [];
|
|
154
195
|
const annotation = edgeAnnotations?.get(edgeAnnotationKey(sourceLabel, outputName, stepId, inputId));
|
|
155
196
|
if (annotation) {
|
|
156
197
|
edge.data.map_depth = annotation.mapDepth;
|
|
157
198
|
edge.data.reduction = annotation.reduction;
|
|
158
199
|
edge.data.mapping = annotation.mapping ?? null;
|
|
159
|
-
const classes = [];
|
|
160
200
|
if (annotation.mapDepth > 0)
|
|
161
201
|
classes.push(`mapover_${annotation.mapDepth}`);
|
|
162
202
|
if (annotation.reduction)
|
|
163
203
|
classes.push("reduction");
|
|
164
|
-
if (classes.length > 0)
|
|
165
|
-
edge.classes = classes;
|
|
166
204
|
}
|
|
205
|
+
// An edge is planned when either endpoint step is planned, or a port it
|
|
206
|
+
// touches is still a TODO sentinel. Computed inline (no overlay port set)
|
|
207
|
+
// and gated on overlay presence so concrete emit stays byte-identical.
|
|
208
|
+
// `planned` coexists with any `mapover_*`/`reduction` class.
|
|
209
|
+
const planned = overlay != null &&
|
|
210
|
+
(overlay.plannedSteps.has(sourceLabel) ||
|
|
211
|
+
overlay.plannedSteps.has(stepId) ||
|
|
212
|
+
isTodoSentinel(outputName) ||
|
|
213
|
+
isTodoSentinel(inputId));
|
|
214
|
+
if (planned) {
|
|
215
|
+
classes.push(PLANNED_CLASS);
|
|
216
|
+
edge.data.planned = true;
|
|
217
|
+
}
|
|
218
|
+
if (classes.length > 0)
|
|
219
|
+
edge.classes = classes;
|
|
167
220
|
edges.push(edge);
|
|
168
221
|
}
|
|
169
222
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,6 +63,42 @@ export interface DraftSurvey {
|
|
|
63
63
|
* per-step state.
|
|
64
64
|
*/
|
|
65
65
|
export declare function detectDraft(workflow: unknown): DraftSurvey;
|
|
66
|
+
/** CSS/class-name token marking a planned (draft) node or edge. Shared by every
|
|
67
|
+
* builder so `planned`/`draft`/`plan` can't drift apart across mermaid + cytoscape. */
|
|
68
|
+
export declare const PLANNED_CLASS = "planned";
|
|
69
|
+
export interface DraftPlannedReason {
|
|
70
|
+
/** Formatted TODO sentinel locations on (or under) this step, in survey order. */
|
|
71
|
+
todos: string[];
|
|
72
|
+
/** Non-empty `_plan_*` fields on this step, kept structured (not flattened). */
|
|
73
|
+
planFields: Partial<Record<PlanField, string>>;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Overlay describing which rendered nodes are *planned* (draft) and why.
|
|
77
|
+
* Keyed by step render identity (see {@link rawStepRenderIdentity}) so the keys
|
|
78
|
+
* line up with the node lookups mermaid/cytoscape perform on normalized steps.
|
|
79
|
+
*
|
|
80
|
+
* Edge planned-ness is intentionally NOT carried here — a builder computes it
|
|
81
|
+
* inline from `plannedSteps` plus the TODO-sentinel ports it already resolves,
|
|
82
|
+
* so there is one predicate, no port set to keep in sync.
|
|
83
|
+
*/
|
|
84
|
+
export interface DraftOverlay {
|
|
85
|
+
/** Render identities of planned steps. */
|
|
86
|
+
plannedSteps: Set<string>;
|
|
87
|
+
/** Per-identity planning context for label/tooltip enrichment. */
|
|
88
|
+
plannedReason: Map<string, DraftPlannedReason>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build a {@link DraftOverlay} from a RAW draft workflow (before normalization
|
|
92
|
+
* strips `_plan_*`). Returns `undefined` for non-draft input so callers treat
|
|
93
|
+
* "no overlay" uniformly.
|
|
94
|
+
*
|
|
95
|
+
* A step is planned iff it carries any TODO sentinel or any non-empty `_plan_*`
|
|
96
|
+
* field. A top-level subworkflow node is planned if it OR any descendant has a
|
|
97
|
+
* hit — each survey hit's `path[0]` maps back to the top-level node's render
|
|
98
|
+
* identity. Workflow-level hits (e.g. a TODO `outputSource` on the outermost
|
|
99
|
+
* document) have an empty path and mark no node.
|
|
100
|
+
*/
|
|
101
|
+
export declare function resolveDraftOverlay(workflow: unknown): DraftOverlay | undefined;
|
|
66
102
|
export interface DraftValidationDiagnostic {
|
|
67
103
|
/** Step path; empty array for workflow-level diagnostics. */
|
|
68
104
|
path: StepPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"draft-checks.d.ts","sourceRoot":"","sources":["../../src/workflow/draft-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"draft-checks.d.ts","sourceRoot":"","sources":["../../src/workflow/draft-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { Either, ParseResult, Schema } from "effect";
|
|
12
12
|
import { GalaxyWorkflowDraftSchema } from "./raw/gxformat2-draft.effect.js";
|
|
13
|
+
import { rawStepRenderIdentity } from "./normalized/labels.js";
|
|
13
14
|
export const TODO_SENTINEL_PATTERN = /^TODO(_[a-zA-Z0-9_]+)?$/;
|
|
14
15
|
// Heuristic for TODO-shaped strings — flags malformed sentinels (TODO-foo,
|
|
15
16
|
// TODOfoo, TODO_) that the canonical pattern misses. Mixed-case suffixes
|
|
@@ -49,6 +50,67 @@ export function detectDraft(workflow) {
|
|
|
49
50
|
walkDraftSteps(workflow, [], todos, planFields);
|
|
50
51
|
return { isDraft: true, todos, planFields };
|
|
51
52
|
}
|
|
53
|
+
// -----------------------------------------------------------------------------
|
|
54
|
+
// resolveDraftOverlay — classification surface consumed by visualizers
|
|
55
|
+
// -----------------------------------------------------------------------------
|
|
56
|
+
/** CSS/class-name token marking a planned (draft) node or edge. Shared by every
|
|
57
|
+
* builder so `planned`/`draft`/`plan` can't drift apart across mermaid + cytoscape. */
|
|
58
|
+
export const PLANNED_CLASS = "planned";
|
|
59
|
+
/**
|
|
60
|
+
* Build a {@link DraftOverlay} from a RAW draft workflow (before normalization
|
|
61
|
+
* strips `_plan_*`). Returns `undefined` for non-draft input so callers treat
|
|
62
|
+
* "no overlay" uniformly.
|
|
63
|
+
*
|
|
64
|
+
* A step is planned iff it carries any TODO sentinel or any non-empty `_plan_*`
|
|
65
|
+
* field. A top-level subworkflow node is planned if it OR any descendant has a
|
|
66
|
+
* hit — each survey hit's `path[0]` maps back to the top-level node's render
|
|
67
|
+
* identity. Workflow-level hits (e.g. a TODO `outputSource` on the outermost
|
|
68
|
+
* document) have an empty path and mark no node.
|
|
69
|
+
*/
|
|
70
|
+
export function resolveDraftOverlay(workflow) {
|
|
71
|
+
const survey = detectDraft(workflow);
|
|
72
|
+
if (!survey.isDraft)
|
|
73
|
+
return undefined;
|
|
74
|
+
// Map each top-level step's iterator key (the space detectDraft paths live
|
|
75
|
+
// in) to the render identity the visualizers key off.
|
|
76
|
+
const identityByIterKey = new Map();
|
|
77
|
+
if (isRecord(workflow)) {
|
|
78
|
+
for (const [key, step] of iterateSteps(workflow.steps)) {
|
|
79
|
+
identityByIterKey.set(key, rawStepRenderIdentity(step, key));
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
const plannedSteps = new Set();
|
|
83
|
+
const plannedReason = new Map();
|
|
84
|
+
const reasonFor = (identity) => {
|
|
85
|
+
let reason = plannedReason.get(identity);
|
|
86
|
+
if (reason == null) {
|
|
87
|
+
reason = { todos: [], planFields: {} };
|
|
88
|
+
plannedReason.set(identity, reason);
|
|
89
|
+
}
|
|
90
|
+
return reason;
|
|
91
|
+
};
|
|
92
|
+
const identityForPath = (path) => {
|
|
93
|
+
const top = path[0];
|
|
94
|
+
if (top == null)
|
|
95
|
+
return null; // workflow-level hit — not a step node
|
|
96
|
+
return identityByIterKey.get(top) ?? top;
|
|
97
|
+
};
|
|
98
|
+
for (const todo of survey.todos) {
|
|
99
|
+
const identity = identityForPath(todo.path);
|
|
100
|
+
if (identity == null)
|
|
101
|
+
continue;
|
|
102
|
+
plannedSteps.add(identity);
|
|
103
|
+
reasonFor(identity).todos.push(formatTodoLocation(todo.location));
|
|
104
|
+
}
|
|
105
|
+
for (const plan of survey.planFields) {
|
|
106
|
+
const identity = identityForPath(plan.path);
|
|
107
|
+
if (identity == null)
|
|
108
|
+
continue;
|
|
109
|
+
plannedSteps.add(identity);
|
|
110
|
+
reasonFor(identity).planFields[plan.field] = plan.value;
|
|
111
|
+
}
|
|
112
|
+
return { plannedSteps, plannedReason };
|
|
113
|
+
}
|
|
52
114
|
function walkDraftSteps(workflow, prefix, todos, planFields) {
|
|
53
115
|
for (const [label, step] of iterateSteps(workflow.steps)) {
|
|
54
116
|
if (!isRecord(step))
|