builtbyberry / laravel-swarm-pulse
Laravel Pulse integration for Laravel Swarm — recorders and dashboard cards for swarm runs, steps, memory, and audit outbox observability.
Package info
github.com/builtbyberry/laravel-swarm-pulse
pkg:composer/builtbyberry/laravel-swarm-pulse
Requires
- php: ^8.4
- builtbyberry/laravel-swarm: ^0.22 || ^0.23 || ^0.24 || ^0.25 || ^0.26 || ^0.27 || ^0.28
- illuminate/console: ^13.0
- illuminate/contracts: ^13.0
- illuminate/filesystem: ^13.0
- illuminate/support: ^13.0
- laravel/pulse: ^1.7
- livewire/livewire: ^3.0 || ^4.1
Requires (Dev)
- builtbyberry/laravel-swarm-installer-testkit: ^0.1.3
- larastan/larastan: ^3.10
- laravel/pint: ^1.29
- orchestra/testbench: ^11.1
- pestphp/pest: ^4.7
- pestphp/pest-plugin-laravel: ^4.1
Suggests
None
Provides
None
Conflicts
None
Replaces
None
- dev-main / 0.2.x-dev
- v0.2.0
- v0.1.8
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-release/v0.2.0
- dev-chore/0.2.0-repin-core-028-release-candidate
- dev-feat/0.2.0-native1-core028-compatibility
- dev-feat/0.1.8-native1-core027-compatibility
- dev-chore/0.1.7-release-wrap
- dev-chore/core-026-compatibility
- dev-chore/installer-testkit
- dev-fix/ci-missing-phpunit-xml
This package is auto-updated.
Last update: 2026-10-06 12:14:36 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.28- 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.
The v0.1.8 compatibility work was validated against the frozen v0.27 core candidate
48ad4ef690363ca40ba7d3bd50e63e7fbe76ba4b, with official AI 1.0.0 minimum
and current stable 1.x dependencies on PHP 8.4 and 8.5. They run the same
recorders, aggregate, rendered-card and installer tests. The eight earlier
compatibility jobs remain, for twelve jobs at v0.1.8. Core v0.27 owns the
application upgrade and native conversation migration contract; follow its
upgrade guide when moving an application from an earlier core line.
The v0.2.0 compatibility work extends this to the frozen v0.28 core candidate
269f749102f8d4c525c12e5486c3f57893d78d6b (release/v0.28.0), again with official
AI 1.x minimum and current stable dependencies on PHP 8.4 and 8.5, running the same
recorders, aggregate, rendered-card and installer tests. The two native 0.28 lanes
add four jobs, for sixteen overall, and the earlier twelve are unchanged. Core v0.28
adds native Laravel AI feature access through Swarm workflows; Pulse's aggregate
observability is unaffected and requires no integration-code change.
Pulse's integration remains aggregate observability of runs, steps, memory and audit outbox. This additive dependency update introduces no token billing, new schema or configuration setting. The frozen candidate jobs are historical prepublication evidence; the production manifest keeps ordinary constraints, and fresh Packagist-only installation remains a separate shipping gate.