Skip to content

Releases: timmcleod/agent-workflows-ui

v0.4.1 — compatibility with agent-workflows v0.12

Choose a tag to compare

@timmcleod timmcleod released this 31 Jul 11:17

Compatibility: allow timmcleod/agent-workflows ^0.12 (static Workflow::start() release). No dashboard changes, no schema changes.

v0.4.0 — Debate progress in the flowchart

Choose a tag to compare

@timmcleod timmcleod released this 30 Jul 23:35
  • 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), or round 2 of 4… while running. Applies to any step checkpointing a steps.{id}.transcript array, 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 (the debate() release).

v0.3.1

Choose a tag to compare

@timmcleod timmcleod released this 30 Jul 16:09

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 23:10

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 22:38

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 12:37

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 12:21

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 12:04

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

Choose a tag to compare

@timmcleod timmcleod released this 28 Jul 11:44

First release. Install alongside timmcleod/agent-workflows ^0.7:

composer require timmcleod/agent-workflows-ui

The 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 calls resume().
  • 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).