Search by

timmcleod / agent-workflows-ui

timmcleod

A read-only dashboard for timmcleod/agent-workflows: watch runs as live flowcharts with step status, interrupts, failures, and token usage.

Package info

github.com/timmcleod/agent-workflows-ui

Language:Blade

pkg:composer/timmcleod/agent-workflows-ui

Statistics

Installs: 27

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.6.2 2026-08-15 19:19 UTC

This package is auto-updated.

Last update: 2026-08-15 19:20:22 UTC


README

tests Latest Version

A read-only dashboard for timmcleod/agent-workflows. Install it alongside the core package and get a live view of every workflow run: the definition rendered as a flowchart with each step's status overlaid, the step-by-step audit trail with attempts and token counts, and the checkpointed state bag.

The dashboard: a completed run rendered as a flowchart, the taken branch highlighted and the untaken branch dimmed, with the step-attempt audit trail alongside

One run, most of the package: this workflow took the high-risk escalation branch (the auto-approve branch dimmed as skipped), parked at the human gate (the audit trail shows the gate interrupted on attempt #1, then completed on attempt #2 after sign-off arrived through the application's resume() call), and finished with the summary agent. Note every step shows exactly one execution: checkpointed results are never re-run, and their tokens are never paid twice.

It is strictly read-only. Acting on runs (approving sign-offs, delivering events, retrying, cancelling) stays in your application through the core API: $run->resume(), $run->deliverEvent(), $run->retry(), $run->cancel(). The dashboard's job is the watching:

  • Parked runs show what they are waiting for. The interrupt reason, the deadline countdown, the awaited event name, and the expected response fields from the gate's schema.
  • Failed runs show where and why. The failed step, the failure reason, and every attempt in the audit trail.
  • Every attempt opens up. Each step attempt expands to the provider calls inside the turn: the responding model, per-call tokens, finish reason, and tool calls with their arguments and results (requires core >= 0.14, which records them; older cores simply show no expander).
  • Live progress. Steps light up as workers complete them, with token counts and the checkpointed state bag.

The dashboard is plain server-rendered Blade with light polling: no build step, no assets to publish, nothing to go stale after upgrades.

Status: pre-release. Tracks the pre-1.0 core package; APIs and screens may change.

Requirements

  • PHP 8.3+
  • Laravel 12 or 13
  • timmcleod/agent-workflows ^0.9 through ^0.14

Installation

composer require timmcleod/agent-workflows-ui

That's it — the dashboard is mounted at /agent-workflows.

Authorization

Like Horizon and Telescope, the dashboard is open in the local environment. In every other environment, all requests are refused until your application defines a viewAgentWorkflows gate:

// app/Providers/AppServiceProvider.php

use Illuminate\Support\Facades\Gate;

public function boot(): void
{
    Gate::define('viewAgentWorkflows', function ($user) {
        return $user->isAdmin();
    });
}

Treat access as sensitive: the dashboard exposes run state, which may contain document text and agent output.

Configuration

php artisan vendor:publish --tag=agent-workflows-ui-config
return [
    // URI prefix the dashboard is mounted under.
    'path' => env('AGENT_WORKFLOWS_UI_PATH', 'agent-workflows'),

    // Middleware for the dashboard routes.
    'middleware' => ['web', TimMcLeod\AgentWorkflowsUi\Http\Middleware\Authorize::class],

    // How often (ms) pages refresh their data.
    'polling' => 2500,

    // How many runs the index lists.
    'runs' => 50,
];

Views can be overridden the standard way: php artisan vendor:publish --tag=agent-workflows-ui-views.

Notes

  • Steps execute on your queue as usual; the dashboard just observes. With a running worker you'll watch steps light up as they complete.
  • Runs whose workflow is no longer registered (or whose definition has drifted since they started) still render their audit trail and state; drifted runs are badged.

License

MIT