Search by

builtbyberry / laravel-swarm-pulse

dberry37388

Laravel Pulse integration for Laravel Swarm — recorders and dashboard cards for swarm runs, steps, memory, and audit outbox observability.

v0.1.7 2026-09-21 22:16 UTC

README

Laravel Pulse integration for Laravel Swarm — recorders and dashboard cards for swarm runs, step durations, memory growth, and audit outbox observability.

This package was extracted from builtbyberry/laravel-swarm core in v0.17.1 to keep the core package's dependency footprint small. If you were using Pulse recorders or cards from laravel-swarm before v0.17.1, install this package and update your imports — see UPGRADING.md in core for the migration steps.

Requirements

  • PHP 8.4+
  • builtbyberry/laravel-swarm ^0.22 through ^0.26
  • Livewire ^3.0 or ^4.1

Installation

composer require builtbyberry/laravel-swarm-pulse

This pulls in laravel/pulse as a dependency. Then publish and migrate Pulse, and run the swarm installer:

php artisan vendor:publish --provider="Laravel\Pulse\PulseServiceProvider"

php artisan migrate

php artisan swarm:install:pulse

swarm:install:pulse registers the SwarmRuns, SwarmStepDurations, and SwarmMemoryMetrics recorders in config/pulse.php and injects the swarm cards into resources/views/vendor/pulse/dashboard.blade.php. Both edits are sentinel-fenced and safe to re-run; the original files are backed up to <file>.bak before the first mutation.

Pick which cards to enable with --cards (default: all four):

php artisan swarm:install:pulse --no-interaction --cards=runs,steps

If Pulse is not installed, the command refuses with a copy-paste hint and exits non-zero.

Cards

Card Livewire tag What it shows
Swarm Runs <livewire:swarm.runs /> Per-swarm totals, failures, failure rate, average run duration, topology mix
Swarm Steps <livewire:swarm.steps /> Slowest average step durations by swarm + agent
Swarm Audit Outbox <livewire:swarm.audit-outbox /> Live operational state of the audit outbox (pending, dead-letter, stale)
Swarm Memory <livewire:swarm.memory /> Memory growth + snapshot size per scope

See core's docs/pulse.md for the full aggregate-type reference, tuning knobs, and troubleshooting guide — this package's behavior is unchanged from the pre-extraction integration, only the namespace and package boundary moved.

License

MIT.

Compatibility checks

CI retains a published Laravel Swarm v0.25.0 baseline and lowest-dependency coverage on PHP 8.4 and 8.5, including Livewire 3 and 4. The v0.26 adoption lanes exercise the recorders, dashboard cards, audit outbox, memory metrics, and installer against the pinned core candidate e25842cab4291837dcce2ff6f4815e58feab9079, with official Laravel AI v0.11.2 and current stable 0.11.x dependencies.

These adoption lanes use temporary Composer package metadata for the candidate; they are not proof that v0.26 is published or installable from released packages. The committed package manifest retains ordinary version constraints. Published ecosystem installability and the core post-main moving-dev gate remain separate follow-up checks.