@galaxy-tool-util/schema 1.8.0 → 1.9.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 (46) hide show
  1. package/dist/index.d.ts +8 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +6 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/tool-state-validator.d.ts.map +1 -1
  6. package/dist/tool-state-validator.js +8 -1
  7. package/dist/tool-state-validator.js.map +1 -1
  8. package/dist/workflow/cytoscape-models.d.ts +26 -0
  9. package/dist/workflow/cytoscape-models.d.ts.map +1 -1
  10. package/dist/workflow/cytoscape-models.js.map +1 -1
  11. package/dist/workflow/cytoscape.d.ts +10 -0
  12. package/dist/workflow/cytoscape.d.ts.map +1 -1
  13. package/dist/workflow/cytoscape.js +51 -12
  14. package/dist/workflow/cytoscape.js.map +1 -1
  15. package/dist/workflow/draft-checks.d.ts +36 -0
  16. package/dist/workflow/draft-checks.d.ts.map +1 -1
  17. package/dist/workflow/draft-checks.js +62 -0
  18. package/dist/workflow/draft-checks.js.map +1 -1
  19. package/dist/workflow/index.d.ts +4 -4
  20. package/dist/workflow/index.d.ts.map +1 -1
  21. package/dist/workflow/index.js +3 -3
  22. package/dist/workflow/index.js.map +1 -1
  23. package/dist/workflow/mermaid.d.ts +9 -0
  24. package/dist/workflow/mermaid.d.ts.map +1 -1
  25. package/dist/workflow/mermaid.js +75 -19
  26. package/dist/workflow/mermaid.js.map +1 -1
  27. package/dist/workflow/normalized/index.d.ts +1 -1
  28. package/dist/workflow/normalized/index.d.ts.map +1 -1
  29. package/dist/workflow/normalized/index.js +1 -1
  30. package/dist/workflow/normalized/index.js.map +1 -1
  31. package/dist/workflow/normalized/labels.d.ts +24 -0
  32. package/dist/workflow/normalized/labels.d.ts.map +1 -1
  33. package/dist/workflow/normalized/labels.js +31 -0
  34. package/dist/workflow/normalized/labels.js.map +1 -1
  35. package/dist/workflow/serialize.d.ts.map +1 -1
  36. package/dist/workflow/serialize.js +45 -0
  37. package/dist/workflow/serialize.js.map +1 -1
  38. package/dist/workflow/stateful-validate.d.ts +7 -0
  39. package/dist/workflow/stateful-validate.d.ts.map +1 -1
  40. package/dist/workflow/stateful-validate.js +26 -1
  41. package/dist/workflow/stateful-validate.js.map +1 -1
  42. package/dist/workflow/walker.d.ts +14 -0
  43. package/dist/workflow/walker.d.ts.map +1 -1
  44. package/dist/workflow/walker.js +29 -10
  45. package/dist/workflow/walker.js.map +1 -1
  46. 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, type DropReason, type DroppedStep, type DroppedOutput, type RewrittenStepInput, type ExtractResult,
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. */
@@ -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;AASd,sEAAsE;AACtE,UAAU,EACV,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,oBAAoB;AAEpB,6EAA6E;AAC7E,YAAY;AAEZ,oEAAoE;AACpE,qBAAqB,EACrB,WAAW,EACX,WAAW,EACX,cAAc;AACd,yDAAyD;AACzD,eAAe;AACf,iFAAiF;AACjF,WAAW;AACX,0GAA0G;AAC1G,aAAa;AACb,+FAA+F;AAC/F,aAAa;AAEb,2FAA2F;AAC3F,qBAAqB;AAMrB,2GAA2G;AAC3G,eAAe;AAGf,2GAA2G;AAC3G,0BAA0B;AAU1B,qFAAqF;AACrF,iBAAiB;AAEjB,uFAAuF;AACvF,aAAa;AACb,6EAA6E;AAC7E,WAAW;AACX,0EAA0E;AAC1E,WAAW;AACX,+CAA+C;AAC/C,MAAM,EACN,WAAW,EACX,UAAU;AACV,kDAAkD;AAClD,UAAU;AACV,yDAAyD;AACzD,WAAW;AACX,8CAA8C;AAC9C,YAAY;AACZ,yDAAyD;AACzD,wBAAwB;AACxB,wDAAwD;AACxD,uBAAuB;AAKvB,2CAA2C;AAC3C,uBAAuB;AACvB,gEAAgE;AAChE,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,iBAAiB;AAEjB,2GAA2G;AAC3G,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB;AACnB,kFAAkF;AAClF,oBAAoB;AACpB,uGAAuG;AACvG,SAAS;AACT,0EAA0E;AAC1E,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EAGnB,aAAa,EAiDb,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,GAEzB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,kBAAkB,EAA4B,MAAM,2BAA2B,CAAC;AAEzF,OAAO;AACL,yEAAyE;AACzE,iBAAiB;AACjB,0FAA0F;AAC1F,WAAW;AAUX,wEAAwE;AACxE,qBAAqB;AACrB,yEAAyE;AACzE,sBAAsB;AACtB,0EAA0E;AAC1E,oBAAoB,EACpB,qBAAqB;AACrB,iFAAiF;AACjF,mBAAmB,EACnB,oBAAoB;AACpB,6GAA6G;AAC7G,gBAAgB;AAChB,mFAAmF;AACnF,QAAQ;AACR,sFAAsF;AACtF,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO;AACL,kEAAkE;AAClE,sBAAsB;AACtB,8EAA8E;AAC9E,oBAAoB;AACpB,2FAA2F;AAC3F,iBAAiB,GAGlB,MAAM,6BAA6B,CAAC;AAErC,OAAO;AACL,mFAAmF;AACnF,eAAe,GAEhB,MAAM,4BAA4B,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,EAKL,KAAK,mBAAmB,EACzB,MAAM,iCAAiC,CAAC;AAIzC,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;IAe3B,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;IAejC;;;;;;;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
+ {"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;AAczC;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,QAAwB;QAAxB,aAAQ,GAAR,QAAQ,CAAgB;IAAG,CAAC;IAEzD,KAAK,CAAC,kBAAkB,CACtB,MAAc,EACd,WAA0B,EAC1B,SAAkC,EAClC,mBAA4C,EAAE;QAE9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAA8B,CAAC;QACrD,IAAI,CAAC;YACH,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YAC7D,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,2BAA2B,EAAE,CAAC;gBAC7C,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,WAA0B,EAC1B,YAAqC;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAA8B,CAAC;QACrD,IAAI,CAAC;YACH,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YAC/C,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,2BAA2B,EAAE,CAAC;gBAC7C,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,yBAAyB,CAC7B,MAAc,EACd,WAA0B,EAC1B,YAAqC;QAErC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAA8B,CAAC;QACrD,OAAO,8BAA8B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC9D,CAAC;CACF"}
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;CAC1B;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;CACzB;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
+ {"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;AAqEH,MAAM,UAAU,cAAc,CAAC,GAAsB;IACnD,OAAO,CAAC,GAAG,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC"}
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,EAGlB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,KAAK,EAGV,yBAAyB,EAC1B,MAAM,yBAAyB,CAAC;AAKjC,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;CACrB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,GAAG,yBAAyB,EAC7C,IAAI,GAAE,gBAAqB,GAC1B,iBAAiB,CAiDnB"}
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,CA2DnB"}
@@ -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 = [];
@@ -29,10 +38,10 @@ export function cytoscapeElements(workflow, opts = {}) {
29
38
  for (const inp of wf.inputs)
30
39
  knownLabels.add(inp.id);
31
40
  for (const step of wf.steps)
32
- knownLabels.add(step.label || step.id);
41
+ knownLabels.add(stepRenderIdentity(step));
33
42
  wf.steps.forEach((step, i) => {
34
- nodes.push(_stepNode(step, i + inputsOffset));
35
- edges.push(..._stepEdges(step, knownLabels, opts.edgeAnnotations));
43
+ nodes.push(_stepNode(step, i + inputsOffset, overlay));
44
+ edges.push(..._stepEdges(step, knownLabels, opts.edgeAnnotations, overlay));
36
45
  });
37
46
  const elements = { nodes, edges };
38
47
  if (layout === "preset") {
@@ -95,8 +104,8 @@ function _inputNode(inp, orderIndex) {
95
104
  position: _toPosition(inp.position, orderIndex),
96
105
  };
97
106
  }
98
- function _stepNode(step, orderIndex) {
99
- const stepId = step.label || step.id;
107
+ function _stepNode(step, orderIndex, overlay) {
108
+ const stepId = stepRenderIdentity(step);
100
109
  // The TS normalizer doesn't infer step.type the way gxformat2 does, so fall
101
110
  // back to a `run`-derived hint for subworkflows (matches mermaid emitter).
102
111
  const stepType = step.type || (step.run != null ? "subworkflow" : "tool");
@@ -115,7 +124,7 @@ function _stepNode(step, orderIndex) {
115
124
  const changesetRevision = repo.changeset_revision;
116
125
  repoLink = `https://${toolShed}/view/${owner}/${name}/${changesetRevision}`;
117
126
  }
118
- return {
127
+ const node = {
119
128
  group: "nodes",
120
129
  data: {
121
130
  id: stepId,
@@ -128,9 +137,26 @@ function _stepNode(step, orderIndex) {
128
137
  classes: [`type_${stepType}`, "runnable"],
129
138
  position: _toPosition(step.position, orderIndex),
130
139
  };
140
+ // Planned (draft) node: keep `type_*`/`runnable` (they still encode node kind)
141
+ // and append `planned` LAST so concrete-node `value_set` goldens are
142
+ // unaffected. Carry plan context in `data` for the viewer's tooltip. Gated on
143
+ // overlay presence so concrete emit stays byte-identical.
144
+ if (overlay?.plannedSteps.has(stepId)) {
145
+ node.classes = [...node.classes, PLANNED_CLASS];
146
+ node.data.planned = true;
147
+ const reason = overlay.plannedReason.get(stepId);
148
+ if (reason != null) {
149
+ const planReason = {
150
+ todos: reason.todos,
151
+ plan_fields: reason.planFields,
152
+ };
153
+ node.data.plan_reason = planReason;
154
+ }
155
+ }
156
+ return node;
131
157
  }
132
- function _stepEdges(step, knownLabels, edgeAnnotations) {
133
- const stepId = step.label || step.id;
158
+ function _stepEdges(step, knownLabels, edgeAnnotations, overlay) {
159
+ const stepId = stepRenderIdentity(step);
134
160
  const edges = [];
135
161
  for (const stepInput of step.in) {
136
162
  if (stepInput.source == null)
@@ -151,19 +177,32 @@ function _stepEdges(step, knownLabels, edgeAnnotations) {
151
177
  output,
152
178
  },
153
179
  };
180
+ const classes = [];
154
181
  const annotation = edgeAnnotations?.get(edgeAnnotationKey(sourceLabel, outputName, stepId, inputId));
155
182
  if (annotation) {
156
183
  edge.data.map_depth = annotation.mapDepth;
157
184
  edge.data.reduction = annotation.reduction;
158
185
  edge.data.mapping = annotation.mapping ?? null;
159
- const classes = [];
160
186
  if (annotation.mapDepth > 0)
161
187
  classes.push(`mapover_${annotation.mapDepth}`);
162
188
  if (annotation.reduction)
163
189
  classes.push("reduction");
164
- if (classes.length > 0)
165
- edge.classes = classes;
166
190
  }
191
+ // An edge is planned when either endpoint step is planned, or a port it
192
+ // touches is still a TODO sentinel. Computed inline (no overlay port set)
193
+ // and gated on overlay presence so concrete emit stays byte-identical.
194
+ // `planned` coexists with any `mapover_*`/`reduction` class.
195
+ const planned = overlay != null &&
196
+ (overlay.plannedSteps.has(sourceLabel) ||
197
+ overlay.plannedSteps.has(stepId) ||
198
+ isTodoSentinel(outputName) ||
199
+ isTodoSentinel(inputId));
200
+ if (planned) {
201
+ classes.push(PLANNED_CLASS);
202
+ edge.data.planned = true;
203
+ }
204
+ if (classes.length > 0)
205
+ edge.classes = classes;
167
206
  edges.push(edge);
168
207
  }
169
208
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cytoscape.js","sourceRoot":"","sources":["../../src/workflow/cytoscape.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAMvD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,cAAc,GAAG,+BAA+B,CAAC;AA4BvD,MAAM,UAAU,iBAAiB,CAC/B,QAA6C,EAC7C,OAAyB,EAAE;IAE3B,MAAM,EAAE,GACN,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QAChB,QAAoC,CAAC,KAAK,KAAK,gBAAgB;QAChE,KAAK,CAAC,OAAO,CAAE,QAAoC,CAAC,MAAM,CAAC;QAC3D,cAAc,IAAK,QAAoC;QACrD,CAAC,CAAE,QAAsC;QACzC,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAE9B,qEAAqE;IACrE,yEAAyE;IACzE,4DAA4D;IAC5D,MAAM,OAAO,GACX,IAAI,CAAC,YAAY,KAAK,SAAS;QAC7B,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YACzB,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC;YAC/B,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC;IAEvC,MAAM,MAAM,GAAe,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC;IACnD,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAElC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;IACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,KAAK,MAAM,GAAG,IAAI,EAAE,CAAC,MAAM;QAAE,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrD,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,KAAK;QAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAErD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,8DAA8D;QAC9D,oEAAoE;QACpE,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QACjD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC;gBAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,sDAAsD;QACtD,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACjD,CAAC;IAED,QAAQ,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,WAAW,CAClB,GAA+C,EAC/C,UAAkB;IAElB,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IACtB,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;IACpB,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/F,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5F,OAAO;QACL,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAoC;IACzD,IAAI,IAAI,IAAI,IAAI;QAAE,OAAO,OAAO,CAAC;IACjC,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC1C,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC;AAED,SAAS,UAAU,CAAC,GAA2B,EAAE,UAAkB;IACjE,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxC,OAAO;QACL,KAAK,EAAE,OAAO;QACd,IAAI,EAAE;YACJ,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,OAAO;YACd,GAAG,EAAE,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACjD,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,OAAO;YAClB,SAAS,EAAE,IAAI;SAChB;QACD,OAAO,EAAE,CAAC,QAAQ,OAAO,EAAE,EAAE,OAAO,CAAC;QACrC,QAAQ,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAA2B,EAC3B,UAAkB,EAClB,OAAiC;IAEjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAE1E,IAAI,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAC1C,IAAI,cAAc,IAAI,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QAChE,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,cAAc,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IAE9F,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC;IACvC,IAAI,IAAI,EAAE,CAAC;QACT,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAClD,QAAQ,GAAG,WAAW,QAAQ,SAAS,KAAK,IAAI,IAAI,IAAI,iBAAiB,EAAE,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAkB;QAC1B,KAAK,EAAE,OAAO;QACd,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM;YACV,KAAK;YACL,GAAG,EAAE,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI;YACnD,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;YAC7B,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,QAAQ;SACpB;QACD,OAAO,EAAE,CAAC,QAAQ,QAAQ,EAAE,EAAE,UAAU,CAAC;QACzC,QAAQ,EAAE,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC;KACjD,CAAC;IAEF,+EAA+E;IAC/E,qEAAqE;IACrE,8EAA8E;IAC9E,0DAA0D;IAC1D,IAAI,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,MAAM,UAAU,GAAwB;gBACtC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,UAAU;aAC/B,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CACjB,IAA2B,EAC3B,WAAwB,EACxB,eAAwD,EACxD,OAAiC;IAEjC,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;QAChC,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI;YAAE,SAAS;QACvC,MAAM,OAAO,GAAG,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC9E,MAAM,MAAM,GAAG,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3D,MAAM,MAAM,GAAG,GAAG,MAAM,KAAK,OAAO,WAAW,WAAW,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAkB;gBAC1B,KAAK,EAAE,OAAO;gBACd,IAAI,EAAE;oBACJ,EAAE,EAAE,MAAM;oBACV,MAAM,EAAE,WAAW;oBACnB,MAAM,EAAE,MAAM;oBACd,KAAK,EAAE,OAAO;oBACd,MAAM;iBACP;aACF,CAAC;YACF,MAAM,OAAO,GAAa,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,eAAe,EAAE,GAAG,CACrC,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,CAC5D,CAAC;YACF,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;gBAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,IAAI,CAAC;gBAC/C,IAAI,UAAU,CAAC,QAAQ,GAAG,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC5E,IAAI,UAAU,CAAC,SAAS;oBAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,CAAC;YACD,wEAAwE;YACxE,0EAA0E;YAC1E,uEAAuE;YACvE,6DAA6D;YAC7D,MAAM,OAAO,GACX,OAAO,IAAI,IAAI;gBACf,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC;oBACpC,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;oBAChC,cAAc,CAAC,UAAU,CAAC;oBAC1B,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YAC7B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YAC3B,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -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;AAMH,eAAO,MAAM,qBAAqB,QAA4B,CAAC;AAS/D,eAAO,MAAM,WAAW,oEAAqE,CAAC;AAC9F,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD,eAAO,MAAM,WAAW,wBAAwB,CAAC;AAEjD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE9D;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAErD;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC;AAEhC,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,yEAAyE;IACzE,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,WAAW,CAQ1D;AAkJD,MAAM,WAAW,yBAAyB;IACxC,6DAA6D;IAC7D,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,OAAO,CAAC;IACZ,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAC7C,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,cAAc,EAAE,yBAAyB,EAAE,CAAC;IAC5C,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IACtC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,qBAAqB,CAqDtE;AAqRD,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,KAAK,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEhG;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,OAAO,GAAG,cAAc,CAK/D;AAqLD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,SAAS,EAAE,YAAY,EAAE,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAEhD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sGAAsG;IACtG,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;OAcG;IACH,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,eAAe,EAAE,aAAa,EAAE,CAAC;IACjC;;;;;;;OAOG;IACH,qBAAqB,EAAE,kBAAkB,EAAE,CAAC;CAC7C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,CAkBtE"}
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))