Releases: timmcleod/agent-workflows-ui
Release list
v0.4.1 — compatibility with agent-workflows v0.12
v0.4.0 — Debate progress in the flowchart
- Debate progress in the flowchart. A debate node now carries one pip per allowed round — filled as rounds commit, pulsing on the round in flight — plus an outcome line:
✓ consensus · round 3(green),✕ no consensus · cap hit(amber), orround 2 of 4…while running. Applies to any step checkpointing asteps.{id}.transcriptarray, so hand-rolled debate recipes get it too. - Debate tab. The transcript stays out of the way: a sidebar tab (shown only when a debate exists) with the outcome strip, the judge's verdict, and each round behind a collapsed accordion. Accordions keep their open state across polls; clicking the debate node switches to the tab.
- Compatibility: allow
timmcleod/agent-workflows^0.11(thedebate()release).
v0.3.1
Compatibility: allow timmcleod/agent-workflows ^0.10 (hardening release). No dashboard changes.
Hosts upgrading core should run php artisan migrate — core v0.10 ships additive migrations (hot-path indexes, foreign key removal, and a catch-up for the v0.8 → v0.9 timeout_at gap). See the core v0.10.0 release notes for the breaking-change list.
v0.3.0 — event delivery, filters, deadlines
Requires timmcleod/agent-workflows ^0.9.
- Deliver events from the dashboard. Runs parked by
awaitEvent()now show a form — the awaited event's name plus an optional JSON payload — instead of a read-only code snippet. Same semantics as$run->deliverEvent(). - Filter the runs list by status group (Running, Awaiting, Failed, Completed, Cancelled) and by workflow name, with per-run token totals in the table and the run header.
- Deadlines on human gates. Gates with an
awaitHuman()timeout show when they time out, refreshed live without rebuilding the approval form.
v0.2.2 — allow agent-workflows 0.8
Compatibility release: the core constraint is now ^0.7|^0.8 so the dashboard installs alongside agent-workflows v0.8.0 (typed workflow state). No dashboard changes.
v0.2.1 — edge rendering fixes
Three fixes to the run flowchart's edges:
- Edges below the fold no longer vanish. The SVG overlay holding the edges was sized to the visible canvas rather than the full scrollable graph, so on tall workflows every edge past your window height was drawn but clipped.
- Arrowheads are filled triangles instead of stroked chevrons that looked misaligned at small sizes.
- Branch fan-in gets one arrowhead. Edges converging on the same node used to stack their arrowheads at the same point; converging edges now meet at a junction above the node and enter it with a single shared arrowhead, colored by whether the inbound path was taken.
v0.2.0 — no silent stalls
A run that sits queued with no worker running now says so, instead of pulsing "pending" forever. Once a run stays pending past the stalled_after threshold (default 10 seconds, null disables), the dashboard flags it: the run page shows a waiting for a queue worker panel with the command to run, the queued node turns amber, and the runs list reads "queued — no worker?". Runs parked by awaitHuman()/awaitEvent() are never flagged — waiting is what they're for.
The check is a heuristic (pending + stale updated_at) since the dashboard can't portably inspect your queue backend — but that combination has exactly one common cause.
v0.1.1 — approval form keeps its state
Bug fix: the live-polling refresh was rebuilding the approval form every 2.5 seconds, resetting the yes/no selection and wiping notes as you typed. The form now only re-renders when the interrupt itself changes (appears, resolves, or is replaced), so reviewer input survives polling.
v0.1.0 — the dashboard
First release. Install alongside timmcleod/agent-workflows ^0.7:
composer require timmcleod/agent-workflows-uiThe dashboard mounts at /agent-workflows and shows every workflow run live: the definition rendered as a flowchart with step statuses overlaid, the step-attempt audit trail with timings and token counts, and the checkpointed state bag.
- Approve from the browser — runs parked by
awaitHuman()show a form generated from the step's validation schema; submitting callsresume(). - Retry from the checkpoint — failed runs re-run only the failed step.
- Cancel anything non-terminal.
Server-rendered Blade with polling: no build step, no assets to publish. Open in the local environment; everywhere else access requires your app to define a viewAgentWorkflows gate (see the README).