Skip to content

SessionProgress

Defined in: console-sdk/src/session/types.ts:394

Renderable progress through the plan (SDK_PLAN.md §3.6.5). Carried on the running/paused/resting phases. activeDeviceId is non-null only in sequential mode (turn-based relay); percentDone/planEndsAt are null when unknowable (AMRAP / just-row).

activeDeviceId: DeviceId | null

Defined in: console-sdk/src/session/types.ts:424

Whose turn in a sequential relay; null in broadcast mode.


canEndEarly: boolean

Defined in: console-sdk/src/session/types.ts:422

Whether the session can be finished early.


currentTarget: WorkoutTarget | null

Defined in: console-sdk/src/session/types.ts:408

The active work target for the current segment, or null.


currentTargets: PerformanceTargets | null

Defined in: console-sdk/src/session/types.ts:416

The active performance targets for the current segment, or null — the current interval’s (or the free workout’s) targets bundle, passed through as inert values for the app to display and score. Present on the running/paused/resting phases alike, so a target tile renders during a rest.


elapsedSeconds: number

Defined in: console-sdk/src/session/types.ts:402

Elapsed working time, seconds — recomputed from the clock on each progress commit (frame-driven, throttled ≥250 ms), so it is fresh-at-commit but advances at frame cadence, not a clean 1 Hz. For a smooth per-second display clock, derive elapsed app-side from TimingSnapshot.startedAt on your own interval rather than rendering this field directly.


interval: { count: number; index: number; } | null

Defined in: console-sdk/src/session/types.ts:404

Current interval position, or null for a free workout.


percentDone: number | null

Defined in: console-sdk/src/session/types.ts:418

Fraction complete 01, or null when unknowable (AMRAP / just-row).


planEndsAt: number | null

Defined in: console-sdk/src/session/types.ts:420

Epoch ms the plan ends (drift-free app-clock strategies), or null.


round: { count: number | "unlimited"; index: number; } | null

Defined in: console-sdk/src/session/types.ts:406

Current round position, or null when rounds don’t apply.