ustal / stream-hub-plugins
Framework-agnostic feature modules for Stream Hub
v1.0.0
2026-04-08 22:16 UTC
Requires
- php: ^8.2
- ustal/stream-hub-core: ^1.0
Requires (Dev)
- deptrac/deptrac: ^3.0
- phpunit/phpunit: ^10.0
README
Framework-agnostic feature modules for Stream Hub.
In the v1 direction this repository is no longer a UI plugin pack. It now holds headless modules made of commands, handlers, and small workflow services.
This package targets stream-hub-core ^1.0.
Included Modules
MessageComposer
Current contents:
SendMessageCommandSendMessageCommandHandlerMessageEventFactory
The handler:
- builds a
StreamEventfor a user message; - dispatches low-level
AppendStreamEventCommandthroughModelCommandBusInterface; - does not talk to the backend directly.
The module expects an event identifier generator to be injected by the consuming integration.
StreamLifecycle
Current contents:
StartStreamCommandStartStreamCommandHandlerJoinStreamCommandJoinStreamCommandHandlerLeaveStreamCommandLeaveStreamCommandHandlerLifecycleSystemEventFactory
The handler:
- orchestrates low-level
CreateStreamCommand; - appends an initial system event through low-level
AppendStreamEventCommand; - dispatches low-level
JoinStreamCommandfor join scenarios; - appends a system event when a participant leaves;
- dispatches low-level
LeaveStreamCommandto update the participant model; - stays storage-agnostic and does not talk to the backend directly.
The module expects a system event identifier generator to be injected by the consuming integration.
Development
Install dependencies:
make install
Run tests:
make test
Run deptrac:
make deptrac