synheart_session 0.1.0
synheart_session: ^0.1.0 copied to clipboard
Flutter SDK for Synheart Session — stream-based session API with typed events for HR metrics and behavioral signals.
Changelog #
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.1.0 - 2026-02-18 #
Added #
SynheartSessionmain class with live and mock constructors.LiveSessionEngine— Dart-side session engine that consumes real HR data fromsynheart_wear(viaSynheartWear.streamHR()orBleHrmProvider.onHeartRate) and behavioral signals fromsynheart_behavior(SynheartBehavior.getCurrentStats())._HrRingBuffer— circular buffer for time-windowed HR sample storage with real SDNN/RMSSD computation from actual RR intervals.SynheartSessionconstructor accepts optionalwear,bleHrm, andbehaviorparameters for live mode.SynheartSession.mock()constructor for local development and testing (sinusoidal HR generation).MockSessionEnginewithMockHrGeneratorfor deterministic mock HR data.BehaviorSnapshotclass andBehaviorProviderabstract class for pluggable behavioral signal sources (pull-based).MockBehaviorProvider— returns stable mid-range behavioral values for testing.SessionFrameandSessionSummarycarry an optionalbehaviorfield (Map<String, dynamic>?).- Dart type definitions matching
session.protoschema (SessionConfig,SessionEvent,SessionStatus). - Platform channel bridge (
MethodChannel+EventChannel) for iOS watch relay. - iOS
SynheartSessionPlugin.swift— watch relay +getWatchStatusonly (via WCSession). - Android
SynheartSessionPlugin.kt— minimal no-op stub for plugin registration. synheart_wearandsynheart_behavioras dependencies.- Type-safe session events:
SessionStarted,SessionFrame,BiosignalFrame,SessionSummary,SessionError. - Configurable
ComputeProfile(window size, emit interval). - Tests:
mock_session_test.dart,session_test.dart,behavior_provider_test.dart,live_session_engine_test.dart,types_test.dart.