Skip to content

@kaiord/core


@kaiord/core / krdExtensionsSchema

Variable: krdExtensionsSchema

const krdExtensionsSchema: ZodObject<{ course: ZodOptional<ZodUnknown>; course_points: ZodOptional<ZodUnknown>; fit: ZodOptional<ZodUnknown>; health: ZodOptional<ZodObject<{ bodyComposition: ZodOptional<ZodObject<{ bmi: ZodOptional<ZodNumber>; bodyFatPercent: ZodOptional<ZodNumber>; bodyWaterPercent: ZodOptional<ZodNumber>; boneMassKilograms: ZodOptional<ZodNumber>; externalId: ZodOptional<ZodString>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"bodyComposition">; leanMassKilograms: ZodOptional<ZodNumber>; measuredAt: ZodISODateTime; sourceBridgeId: ZodOptional<ZodString>; version: ZodString; }, $strip>>; daily: ZodOptional<ZodObject<{ activeCalories: ZodNumber; date: ZodISODate; externalId: ZodOptional<ZodString>; floorsClimbed: ZodOptional<ZodNumber>; intensityMinutes: ZodObject<{ moderate: ZodNumber; vigorous: ZodNumber; }, $strip>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"daily">; restingCalories: ZodNumber; sourceBridgeId: ZodOptional<ZodString>; steps: ZodNumber; version: ZodString; }, $strip>>; hrv: ZodOptional<ZodObject<{ externalId: ZodOptional<ZodString>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"hrv">; measuredAt: ZodISODateTime; measurementWindow: ZodEnum<{ overnight: "overnight"; spot: "spot"; }>; rMSSD: ZodNumber; score: ZodOptional<ZodNumber>; sourceBridgeId: ZodOptional<ZodString>; version: ZodString; }, $strip>>; sleep: ZodOptional<ZodObject<{ endTime: ZodISODateTime; externalId: ZodOptional<ZodString>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"sleep">; restingHeartRate: ZodOptional<ZodNumber>; score: ZodOptional<ZodNumber>; sourceBridgeId: ZodOptional<ZodString>; stages: ZodArray<ZodObject<{ durationSeconds: ...; stage: ...; startTime: ...; }, $strip>>; startTime: ZodISODateTime; totalDurationSeconds: ZodNumber; version: ZodString; }, $strip>>; stress: ZodOptional<ZodObject<{ averageLevel: ZodNumber; endTime: ZodISODateTime; externalId: ZodOptional<ZodString>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"stress">; peakLevel: ZodNumber; sourceBridgeId: ZodOptional<ZodString>; startTime: ZodISODateTime; version: ZodString; }, $strip>>; weight: ZodOptional<ZodObject<{ externalId: ZodOptional<ZodString>; kaiordRecordId: ZodOptional<ZodString>; kind: ZodLiteral<"weight">; measuredAt: ZodISODateTime; sourceBridgeId: ZodOptional<ZodString>; version: ZodString; weightKilograms: ZodNumber; }, $strip>>; }, $catchall<ZodUnknown>>>; structured_workout: ZodOptional<ZodUnknown>; }, $catchall<ZodUnknown>>

Defined in: packages/core/src/domain/schemas/krd/index.ts:39

Tagged shape for KRD extensions.

Reserved namespaces are validated when present:

  • structured_workout, fit, course, course_points carry adapter- specific payloads whose shape is narrowed by downstream consumers (e.g. the SPA editor's ui-workout view).
  • health.<metric> payloads are validated against the health-data capability sub-schemas.

catchall(z.unknown()) keeps unknown adapter-defined namespaces round-trippable per the extension preservation rule in openspec/specs/krd-format.