Watch
0
0
Fork
You've already forked hyperhive
0

swarm-wire, swarm-ui: the flow schema lists the values a field takes, and the editor picks them instead of asking for typed names

The schema's event fields gain values, a values_from marker (agents, repos)
and a closed flag; a node field gains the marker and the flag. kind is now
listed as issue and PR, what the router sends. The flow editor shows a
dropdown where the list is complete, suggestions where it is only examples,
and a plain box where there is none.
This commit is contained in:
iris 2026-10-25 11:38:49 +01:00 • committed by mara
commit b6da2bc9d0
8 changed files with 503 additions and 26 deletions

View file

@ -260,7 +260,7 @@ the ends. Pick a node to edit it in the panel beside the canvas:
- a **source** picks the forge events the flow starts from;
- a **match** lists conditions, each an event field and the value it must equal;
- a **todo** says who gets it (the agents an event field names, or one agent),
- a **todo** says who gets it (the agents an event field names, or one agent, picked from the agents the swarm has),
whether it sets or clears a todo, the todo's key, and its text. The key and the
text can use `{field}` placeholders;
- a **request_reviewer** names the forge login the router asks to review the
@ -296,6 +296,16 @@ editor offers to reload and drop your edits, or to keep them and replace this
flow's latest version with them. For any other refusal the editor shows the
controller's own message. The router runs a saved flow from its next event.
Where the controller's schema knows the values, the editor offers them instead of
asking you to type a name: `kind` and `event` conditions and the todo's `op` are
dropdowns, `action` and `repo` conditions and a reviewer are boxes that list the
known values to pick from and still take any other text, and a todo's agent is a
dropdown of the swarm's agents. A value set in a flow that the list no longer
holds stays selected, marked "not listed." If a list fails to load, or the
controller predates the schema, the box is plain text. The values come from the
controller's schema ([notify-router](notify-router.md)), so a new one shows up
without a UI change.
**preview** runs the draft, saved or not, over the newest forge events and
shows on each box how many of them reached it, as a dry run does for the saved
flows in the list. It needs no save, so you can try a half-built flow. The