Skip to content

@kaiord/core


@kaiord/core / createWorkoutKRD

Function: createWorkoutKRD()

createWorkoutKRD(workout, options?): object

Defined in: packages/core/src/domain/converters/workout-to-krd.converter.ts:21

Creates a valid KRD envelope for a structured workout.

Validates unknown input against workoutSchema before wrapping. Designed as a validation boundary for agent-provided data.

Parameters

workout

unknown

Unknown data to validate and wrap in KRD format

options?

CreateWorkoutKRDOptions

Optional overrides (created timestamp for testability)

Returns

object

Valid KRD with type "structured_workout"

events?

optional events?: object[]

extensions?

optional extensions?: Record<string, unknown>

laps?

optional laps?: object[]

metadata

metadata: object = krdMetadataSchema

metadata.created

created: string

metadata.manufacturer?

optional manufacturer?: string

metadata.product?

optional product?: string

metadata.serialNumber?

optional serialNumber?: string

metadata.sport

sport: string

See

sportSchema for known sport values. Accepts custom strings for forward compatibility.

metadata.subSport?

optional subSport?: string

records?

optional records?: object[]

sessions?

optional sessions?: object[]

type

type: "structured_workout" | "recorded_activity" | "course"

version

version: string

Throws

If workout validation fails