Skip to content

WorkoutSessionSnapshot

WorkoutSessionSnapshot = { phase: "idle"; } | SessionCommon & object | SessionCommon & object | SessionCommon & object | SessionCommon & object | SessionCommon & object | SessionCommon & object | SessionCommon & object

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

The complete workout-session snapshot (SDK_PLAN.md §3.6.5) — the exhaustive phase union a workout screen switches over. The compiler enforces totality; two compile-time gates are load-bearing: rest.continueFromRest exists only on the continuable-rest variant, and result exists only on completed.

{ phase: "idle"; }

No session — a fresh provider, or after dismiss().


SessionCommon & object

Arming: stopping the previous session, configuring, then starting.


SessionCommon & object

Running or paused; progress renders the interval/round header.


SessionCommon & object

Resting between intervals. The rest carries its kind: a timed countdown, or an untilUserContinues rest whose continueFromRest() action is type-gated to exactly this variant.


SessionCommon & object

Finalizing: stopping devices, fetching records, reconciling.


SessionCommon & object

Completed normally; result exists ONLY here.


SessionCommon & object

Aborted before a normal finish (RM-743 partial semantics). cause distinguishes a user abandon, a console HOME press, Bluetooth off, or lost devices; partialResult carries whatever reconciled, or null.


SessionCommon & object

Failed on a genuine engine fault; error is a typed SessionError.