orchestrator_core 0.0.2
orchestrator_core: ^0.0.2 copied to clipboard
Event-Driven Orchestrator architecture for Dart/Flutter. Separate UI state management from business logic execution with SignalBus and Dispatcher pattern.
Changelog #
All notable changes to this project will be documented in this file.
0.0.2 - 2024-12-24 #
Added #
- Safety: Smart Circuit Breaker (Loop Protection by Event Type)
- Prevent infinite loops by blocking specific looping events
- Default limit: 50 events/sec (configurable globally)
- New: Support per-type limit override via
OrchestratorConfig.setTypeLimit<T>(limit) - Self-healing every 1 second
- Safety: Type Safety Isolation (try-catch in event handlers)
- Safety / Casting:
JobSuccessEvent.dataAs<T>()for safe data casting - UI Helper:
BaseOrchestrator.isJobTypeRunning<T>()to prevent UI race conditions - Config: Added
OrchestratorConfig.maxEventsPerSecond
0.0.1 - 2024-12-24 #
Added #
- Initial release
BaseJobandBaseEventmodelsSignalBus- Singleton broadcast stream for event communicationDispatcher- Type-based job routing with O(1) lookupBaseExecutor- Abstract executor with error boundary, timeout, retry, cancellationBaseOrchestrator- State machine with Active/Passive event routingCancellationToken- Token-based task cancellationRetryPolicy- Configurable retry with exponential backoffOrchestratorLogger- Flexible logging system