Skip to content

UI Hermes workflow node editor: catalog-driven params & validation#954

Merged
erasta merged 16 commits into
masterfrom
ui-graph
Jun 24, 2026
Merged

UI Hermes workflow node editor: catalog-driven params & validation#954
erasta merged 16 commits into
masterfrom
ui-graph

Conversation

@erasta

@erasta erasta commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

erasta added 16 commits June 24, 2026 09:03
  Move buildWorkflowEdges and isValidConnection (and the WorkflowEdge type)
  out of workflowLayout into a dedicated workflowEdges module, leaving
  workflowLayout to positioning only. Tests split to match.
  Server endpoint GET /node-catalog (ui/server/node_catalog.py) lists Hermes
  node types + their parameters from the vendored node_lookup. The node `type`
  field becomes a domain-grouped autocomplete that prefills input_parameters on
  selection.
  Stack and de-overlap workflow nodes by their real measured heights, pushing
  down only the nodes that actually collide so a node that grew (e.g. after
  picking a type) no longer overlaps the ones below it. Move the placement
  logic
  into a WorkflowLayout class (WorkflowLayout.ts) over the geometry helpers
  (workflowGeometry.ts, renamed from workflowLayout.ts).
  Warn on a node when its type isn't in the catalog or a required parameter is
  empty (validateNode). Show problems below the params with a warning-tinted
  border; never blocks editing. Covered by unit tests.
  Add a generic, recursive FieldDef ({ required, children }) threaded through
  the
  details tree as one `def` prop. Required node params now show MUI error +
  helperText="required" under the empty field; nodeTypeIssue keeps the type
  warning. paramsFieldDef maps the Hermes catalog to FieldDef.
@erasta erasta merged commit a4f3230 into master Jun 24, 2026
1 check passed
@erasta erasta deleted the ui-graph branch June 24, 2026 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant