# Kaiord Documentation > Open-source health & fitness data framework for TypeScript. Convert FIT, TCX, ZWO, and GCN formats. ## Table of Contents ### Getting Started - [Quick Start](/docs/guide/quick-start.md): Convert a Garmin FIT file to TCX in 4 lines of TypeScript using Kaiord. Install, convert, done in under 5 minutes. - [Why Kaiord?](/docs/guide/why-kaiord.md): Kaiord is a unified TypeScript SDK to convert FIT, TCX, ZWO, and Garmin Connect workout files. Stop juggling parsers -- one SDK, every format. - [Getting Started](/docs/guide/getting-started.md): Install Kaiord, convert your first workout file, and learn the basics of the library and CLI tool. ### For athletes - [Plan your training with AI using your own API key](/docs/guide/ai-planning-byok.md): Use Kaiord's in-browser assistant with your own Anthropic, OpenAI or Google API key: generate structured workouts, schedule them and ask about your training data. - [WHOOP recovery in your training plan](/docs/guide/whoop-recovery-in-plan.md): Bring WHOOP recovery, HRV, sleep and strain into Kaiord next to your planned workouts, and ask the AI assistant whether to push or back off. - [Kaiord vs TrainingPeaks, intervals.icu and Garmin Connect](/docs/guide/kaiord-vs-trainingpeaks-intervals-garmin.md): An honest, sourced comparison of Kaiord with TrainingPeaks, intervals.icu and the Garmin Connect workout builder: price, workout builder, Garmin sync, data and source code. ### Guides - [Architecture](/docs/guide/architecture.md): Kaiord uses hexagonal architecture with ports and adapters. Learn about layer structure, use case patterns, and schema-first development. - [Testing Guide](/docs/guide/testing.md): Testing practices for Kaiord: TDD workflow, AAA pattern, round-trip tests, fixture management, and coverage requirements. - [Contributing](/docs/guide/contributing.md): How to contribute to Kaiord: development setup, coding standards, PR workflow, and commit conventions. ### Convert - [Workout file converter — FIT, TCX, ZWO, Garmin](/docs/convert.md): Free, in-browser converter for FIT, TCX, ZWO, and Garmin Connect workout files. No account, no upload. Plus a CLI and TypeScript SDK for developers. - [Convert FIT to ZWO](/docs/convert/fit-to-zwo.md): Convert a Garmin FIT workout to a Zwift ZWO file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. See exactly what survives the conversion. - [Convert ZWO to FIT](/docs/convert/zwo-to-fit.md): Convert a Zwift ZWO workout to a Garmin FIT file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. Push the result to your Garmin head unit. - [Convert FIT to TCX](/docs/convert/fit-to-tcx.md): Convert a Garmin FIT workout to a TCX (Training Center XML) file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. See what survives the conversion. - [Convert TCX to FIT](/docs/convert/tcx-to-fit.md): Convert a TCX (Training Center XML) workout to a Garmin FIT file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. Push the result to your Garmin. - [Convert ZWO to Garmin (Zwift to Garmin Connect)](/docs/convert/zwo-to-garmin.md): Convert a Zwift ZWO workout to Garmin Connect format and push it to your watch — free and in-browser, or via the Kaiord CLI and TypeScript SDK. - [Convert Garmin to ZWO (Garmin Connect to Zwift)](/docs/convert/garmin-to-zwo.md): Convert a Garmin Connect workout to a Zwift ZWO file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. See exactly what survives the conversion. - [Convert FIT to Garmin (FIT to Garmin Connect)](/docs/convert/fit-to-garmin.md): Convert a Garmin FIT workout to Garmin Connect format (GCN JSON) and push it to your account — free and in-browser, or via the Kaiord CLI and TypeScript SDK. - [Convert Garmin to FIT (Garmin Connect to FIT)](/docs/convert/garmin-to-fit.md): Convert a Garmin Connect workout (GCN JSON) to a Garmin FIT file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. Push the result to your device. - [Convert TCX to ZWO (TCX to Zwift)](/docs/convert/tcx-to-zwo.md): Convert a TCX (Training Center XML) workout to a Zwift ZWO file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. See what survives the conversion. - [Convert ZWO to TCX (Zwift to TCX)](/docs/convert/zwo-to-tcx.md): Convert a Zwift ZWO workout to a TCX (Training Center XML) file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. See what survives the conversion. - [Convert TCX to Garmin (TCX to Garmin Connect)](/docs/convert/tcx-to-garmin.md): Convert a TCX (Training Center XML) workout to Garmin Connect format and push it to your watch — free and in-browser, or via the Kaiord CLI and TypeScript SDK. - [Convert Garmin to TCX (Garmin Connect to TCX)](/docs/convert/garmin-to-tcx.md): Convert a Garmin Connect workout (GCN JSON) to a TCX (Training Center XML) file — free and in-browser, or via the Kaiord CLI and TypeScript SDK. ### Formats - [KRD Format](/docs/formats/krd.md): KRD (Kaiord Representation Definition) is a JSON-based canonical format for workout data. Round-trip safe, schema-validated, and extensible. - [FIT Format](/docs/formats/fit.md): Read and write Garmin FIT workout files using @kaiord/fit. Supports workouts, activities, courses, laps, records, and events. - [TCX Format](/docs/formats/tcx.md): Read, write, and validate Garmin Training Center XML files using @kaiord/tcx. Includes XSD schema validation. - [ZWO Format](/docs/formats/zwo.md): Read, write, and validate Zwift workout XML files using @kaiord/zwo. Supports all ZWO interval types and power targets. - [GCN Format (Garmin Connect)](/docs/formats/gcn.md): Convert between Garmin Connect workout JSON and KRD using @kaiord/garmin. Bidirectional conversion for the Garmin Connect API. ### CLI - [CLI Commands](/docs/cli/commands.md): Complete reference for the Kaiord CLI: convert, validate, inspect, diff, extract-workout, and garmin commands with all options. ### MCP - [MCP Tools](/docs/mcp/tools.md): Kaiord MCP server reference: tools, resources, and prompts for AI/LLM integration via the Model Context Protocol. ### API Reference - [API Reference](/docs/api.md): Auto-generated TypeScript API documentation for all Kaiord packages. ### Legal - [Privacy Policy](/docs/legal/privacy-policy.md): Kaiord privacy policy covering the website, documentation, Chrome extensions, and optional AI integrations. ### Other - [@kaiord/cli API](/docs/api/cli.md): TypeScript API reference for @kaiord/cli, the command-line interface. - [@kaiord/core API](/docs/api/core/README.md): TypeScript API reference for @kaiord/core, domain types, schemas, ports and use cases. - [@kaiord/fit API](/docs/api/fit/README.md): TypeScript API reference for @kaiord/fit, the Garmin FIT format adapter. - [@kaiord/garmin API](/docs/api/garmin/README.md): TypeScript API reference for @kaiord/garmin, the Garmin Connect (GCN) workout format adapter. - [@kaiord/garmin-connect API](/docs/api/garmin-connect/README.md): TypeScript API reference for @kaiord/garmin-connect, the Garmin Connect API client. - [@kaiord/mcp API](/docs/api/mcp/README.md): TypeScript API reference for @kaiord/mcp, the Model Context Protocol server. - [@kaiord/tcx API](/docs/api/tcx/README.md): TypeScript API reference for @kaiord/tcx, the TCX (Training Center XML) format adapter. - [@kaiord/zwo API](/docs/api/zwo/README.md): TypeScript API reference for @kaiord/zwo, the Zwift ZWO format adapter. - [Class: FitParsingError](/docs/api/core/classes/FitParsingError.md) - [Class: GarminParsingError](/docs/api/core/classes/GarminParsingError.md) - [Class: KrdValidationError](/docs/api/core/classes/KrdValidationError.md) - [Class: MissingFtpError](/docs/api/core/classes/MissingFtpError.md) - [Class: ServiceApiError](/docs/api/core/classes/ServiceApiError.md) - [Class: ServiceAuthError](/docs/api/core/classes/ServiceAuthError.md) - [Class: TcxParsingError](/docs/api/core/classes/TcxParsingError.md) - [Class: TcxValidationError](/docs/api/core/classes/TcxValidationError.md) - [Class: ToleranceExceededError](/docs/api/core/classes/ToleranceExceededError.md) - [Class: UnsupportedKrdTypeError](/docs/api/core/classes/UnsupportedKrdTypeError.md) - [Class: ZwiftParsingError](/docs/api/core/classes/ZwiftParsingError.md) - [Class: ZwiftValidationError](/docs/api/core/classes/ZwiftValidationError.md) - [Function: aggregateEnergyBalance()](/docs/api/core/functions/aggregateEnergyBalance.md) - [Function: assembleDayEnergyBalance()](/docs/api/core/functions/assembleDayEnergyBalance.md) - [Function: canonicalHash()](/docs/api/core/functions/canonicalHash.md) - [Function: compareKRDs()](/docs/api/core/functions/compareKRDs.md) - [Function: computeAdaptiveTdee()](/docs/api/core/functions/computeAdaptiveTdee.md) - [Function: computeBmr()](/docs/api/core/functions/computeBmr.md) - [Function: computeDailyDelta()](/docs/api/core/functions/computeDailyDelta.md) - [Function: computeFlag()](/docs/api/core/functions/computeFlag.md) - [Function: computeMacroTargets()](/docs/api/core/functions/computeMacroTargets.md) - [Function: computePeriodizedTarget()](/docs/api/core/functions/computePeriodizedTarget.md) - [Function: convertBound()](/docs/api/core/functions/convertBound.md) - [Function: convertLengthToMeters()](/docs/api/core/functions/convertLengthToMeters.md) - [Function: convertMeasurement()](/docs/api/core/functions/convertMeasurement.md) - [Function: createConsoleLogger()](/docs/api/core/functions/createConsoleLogger.md) - [Function: createCookieFetch()](/docs/api/garmin-connect/functions/createCookieFetch.md) - [Function: createFastXmlTcxReader()](/docs/api/tcx/functions/createFastXmlTcxReader.md) - [Function: createFastXmlTcxWriter()](/docs/api/tcx/functions/createFastXmlTcxWriter.md) - [Function: createFastXmlZwiftReader()](/docs/api/zwo/functions/createFastXmlZwiftReader.md) - [Function: createFastXmlZwiftWriter()](/docs/api/zwo/functions/createFastXmlZwiftWriter.md) - [Function: createFileTokenStore()](/docs/api/garmin-connect/functions/createFileTokenStore.md) - [Function: createFitParsingError()](/docs/api/core/functions/createFitParsingError.md) - [Function: createFitReader()](/docs/api/fit/functions/createFitReader.md) - [Function: createFitWriter()](/docs/api/fit/functions/createFitWriter.md) - [Function: createGarminAuthProvider()](/docs/api/garmin-connect/functions/createGarminAuthProvider.md) - [Function: createGarminConnectClient()](/docs/api/garmin-connect/functions/createGarminConnectClient.md) - [Function: createGarminFitSdkReader()](/docs/api/fit/functions/createGarminFitSdkReader.md) - [Function: createGarminFitSdkWriter()](/docs/api/fit/functions/createGarminFitSdkWriter.md) - [Function: createGarminParsingError()](/docs/api/core/functions/createGarminParsingError.md) - [Function: createGarminReader()](/docs/api/garmin/functions/createGarminReader.md) - [Function: createGarminWriter()](/docs/api/garmin/functions/createGarminWriter.md) - [Function: createKrdValidationError()](/docs/api/core/functions/createKrdValidationError.md) - [Function: createMemoryTokenStore()](/docs/api/garmin-connect/functions/createMemoryTokenStore.md) - [Function: createMissingFtpError()](/docs/api/core/functions/createMissingFtpError.md) - [Function: createNoopAnalytics()](/docs/api/core/functions/createNoopAnalytics.md) - [Function: createSchemaValidator()](/docs/api/core/functions/createSchemaValidator.md) - [Function: createServer()](/docs/api/mcp/functions/createServer.md) - [Function: createServiceApiError()](/docs/api/core/functions/createServiceApiError.md) - [Function: createServiceAuthError()](/docs/api/core/functions/createServiceAuthError.md) - [Function: createStderrLogger()](/docs/api/mcp/functions/createStderrLogger.md) - [Function: createTcxParsingError()](/docs/api/core/functions/createTcxParsingError.md) - [Function: createTcxReader()](/docs/api/tcx/functions/createTcxReader.md) - [Function: createTcxValidationError()](/docs/api/core/functions/createTcxValidationError.md) - [Function: createTcxWriter()](/docs/api/tcx/functions/createTcxWriter.md) - [Function: createTokenManager()](/docs/api/garmin-connect/functions/createTokenManager.md) - [Function: createToleranceChecker()](/docs/api/core/functions/createToleranceChecker.md) - [Function: createUnsupportedKrdTypeError()](/docs/api/core/functions/createUnsupportedKrdTypeError.md) - [Function: createWorkoutKRD()](/docs/api/core/functions/createWorkoutKRD.md) - [Function: createXsdTcxValidator()](/docs/api/tcx/functions/createXsdTcxValidator.md) - [Function: createXsdZwiftValidator()](/docs/api/zwo/functions/createXsdZwiftValidator.md) - [Function: createZwiftParsingError()](/docs/api/core/functions/createZwiftParsingError.md) - [Function: createZwiftReader()](/docs/api/zwo/functions/createZwiftReader.md) - [Function: createZwiftValidationError()](/docs/api/core/functions/createZwiftValidationError.md) - [Function: createZwiftValidator()](/docs/api/zwo/functions/createZwiftValidator.md) - [Function: createZwiftWriter()](/docs/api/zwo/functions/createZwiftWriter.md) - [Function: customParameterKey()](/docs/api/core/functions/customParameterKey.md) - [Function: deriveExternalId()](/docs/api/core/functions/deriveExternalId.md) - [Function: detectFormatFromPath()](/docs/api/mcp/functions/detectFormatFromPath.md) - [Function: encodeBodyCompositionFit()](/docs/api/fit/functions/encodeBodyCompositionFit.md) - [Function: encodeFitMessages()](/docs/api/fit/functions/encodeFitMessages.md) - [Function: estimateExpectedActivityKcal()](/docs/api/core/functions/estimateExpectedActivityKcal.md) - [Function: exponentialMovingAverage()](/docs/api/core/functions/exponentialMovingAverage.md) - [Function: extractWorkout()](/docs/api/core/functions/extractWorkout.md) - [Function: fingerprintSnapshot()](/docs/api/core/functions/fingerprintSnapshot.md) - [Function: formatError()](/docs/api/mcp/functions/formatError.md) - [Function: formatSuccess()](/docs/api/mcp/functions/formatSuccess.md) - [Function: fromBinary()](/docs/api/core/functions/fromBinary.md) - [Function: fromCanonicalValue()](/docs/api/core/functions/fromCanonicalValue.md) - [Function: fromText()](/docs/api/core/functions/fromText.md) - [Function: getLabParameter()](/docs/api/core/functions/getLabParameter.md) - [Function: isCustomParameterKey()](/docs/api/core/functions/isCustomParameterKey.md) - [Function: isHealthFileType()](/docs/api/core/functions/isHealthFileType.md) - [Function: isPowerZone()](/docs/api/core/functions/isPowerZone.md) - [Function: isRepetitionBlock()](/docs/api/core/functions/isRepetitionBlock.md) - [Function: mapGarminSportToKrd()](/docs/api/garmin/functions/mapGarminSportToKrd.md) - [Function: metForSport()](/docs/api/core/functions/metForSport.md) - [Function: neatFactorForActivityLevel()](/docs/api/core/functions/neatFactorForActivityLevel.md) - [Function: parseRefTextBounds()](/docs/api/core/functions/parseRefTextBounds.md) - [Function: percentFtpToZone()](/docs/api/core/functions/percentFtpToZone.md) - [Function: resolveAffineUnit()](/docs/api/core/functions/resolveAffineUnit.md) - [Function: resolveDayExpenditure()](/docs/api/core/functions/resolveDayExpenditure.md) - [Function: sportCategory()](/docs/api/core/functions/sportCategory.md) - [Function: toBinary()](/docs/api/core/functions/toBinary.md) - [Function: toCanonicalValue()](/docs/api/core/functions/toCanonicalValue.md) - [Function: toText()](/docs/api/core/functions/toText.md) - [Function: validateKrd()](/docs/api/core/functions/validateKrd.md) - [Function: validateRoundTrip()](/docs/api/core/functions/validateRoundTrip.md) - [Function: zoneToPercentFtp()](/docs/api/core/functions/zoneToPercentFtp.md) - [Guías de Kaiord para deportistas](/docs/es.md): Guías en español para usar Kaiord: planificación con IA y tu propia clave, recuperación de WHOOP y comparación con otras plataformas. - [Kaiord frente a TrainingPeaks, intervals.icu y Garmin Connect](/docs/es/guide/kaiord-vs-trainingpeaks-intervals-garmin.md): Una comparación honesta y con fuentes de Kaiord con TrainingPeaks, intervals.icu y el creador de entrenamientos de Garmin Connect: precio, editor, envío a Garmin, datos y código. - [La recuperación de WHOOP en tu plan de entrenamiento](/docs/es/guide/whoop-recovery-in-plan.md): Lleva la recuperación, la VFC, el sueño y el esfuerzo de WHOOP a Kaiord junto a tus entrenamientos planificados, y pregunta al asistente si apretar o aflojar. - [Planifica tu entrenamiento con IA y tu propia clave de API](/docs/es/guide/ai-planning-byok.md): Usa el asistente de Kaiord en el navegador con tu propia clave de Anthropic, OpenAI o Google: genera entrenamientos estructurados, ponlos en el calendario y pregunta por tus datos. - [Type Alias: Activity](/docs/api/core/type-aliases/Activity.md) - [Type Alias: ActivityLevel](/docs/api/core/type-aliases/ActivityLevel.md) - [Type Alias: ActivitySummary](/docs/api/core/type-aliases/ActivitySummary.md) - [Type Alias: AdaptiveTdeeResult](/docs/api/core/type-aliases/AdaptiveTdeeResult.md) - [Type Alias: AffineUnit](/docs/api/core/type-aliases/AffineUnit.md) - [Type Alias: Analytics](/docs/api/core/type-aliases/Analytics.md) - [Type Alias: AnalyticsEvent](/docs/api/core/type-aliases/AnalyticsEvent.md) - [Type Alias: AssembleDayEnergyBalanceInput](/docs/api/core/type-aliases/AssembleDayEnergyBalanceInput.md) - [Type Alias: AuthProvider](/docs/api/core/type-aliases/AuthProvider.md) - [Type Alias: BinaryReader](/docs/api/core/type-aliases/BinaryReader.md) - [Type Alias: BinaryWriter](/docs/api/core/type-aliases/BinaryWriter.md) - [Type Alias: BiologicalSex](/docs/api/core/type-aliases/BiologicalSex.md) - [Type Alias: BmrFormula](/docs/api/core/type-aliases/BmrFormula.md) - [Type Alias: BmrInput](/docs/api/core/type-aliases/BmrInput.md) - [Type Alias: BmrResult](/docs/api/core/type-aliases/BmrResult.md) - [Type Alias: BodyComposition](/docs/api/core/type-aliases/BodyComposition.md) - [Type Alias: BridgeId](/docs/api/core/type-aliases/BridgeId.md) - [Type Alias: CadenceValue](/docs/api/core/type-aliases/CadenceValue.md) - [Type Alias: CanonicalMeasurement](/docs/api/core/type-aliases/CanonicalMeasurement.md) - [Type Alias: CatalogFallback](/docs/api/core/type-aliases/CatalogFallback.md) - [Type Alias: ComputeAdaptiveTdeeInput](/docs/api/core/type-aliases/ComputeAdaptiveTdeeInput.md) - [Type Alias: ComputeDailyDeltaInput](/docs/api/core/type-aliases/ComputeDailyDeltaInput.md) - [Type Alias: ComputeDailyDeltaResult](/docs/api/core/type-aliases/ComputeDailyDeltaResult.md) - [Type Alias: ComputeFlagInput](/docs/api/core/type-aliases/ComputeFlagInput.md) - [Type Alias: ComputeMacroTargetsInput](/docs/api/core/type-aliases/ComputeMacroTargetsInput.md) - [Type Alias: ComputePeriodizedTargetInput](/docs/api/core/type-aliases/ComputePeriodizedTargetInput.md) - [Type Alias: DailyWellness](/docs/api/core/type-aliases/DailyWellness.md) - [Type Alias: DayEnergyBalance](/docs/api/core/type-aliases/DayEnergyBalance.md) - [Type Alias: DayExpenditureInput](/docs/api/core/type-aliases/DayExpenditureInput.md) - [Type Alias: DayExpenditureResult](/docs/api/core/type-aliases/DayExpenditureResult.md) - [Type Alias: Duration](/docs/api/core/type-aliases/Duration.md) - [Type Alias: DurationType](/docs/api/core/type-aliases/DurationType.md) - [Type Alias: EmaOptions](/docs/api/core/type-aliases/EmaOptions.md) - [Type Alias: EmaPoint](/docs/api/core/type-aliases/EmaPoint.md) - [Type Alias: EmaResult](/docs/api/core/type-aliases/EmaResult.md) - [Type Alias: EnergyBalanceRollup](/docs/api/core/type-aliases/EnergyBalanceRollup.md) - [Type Alias: EnergyGoal](/docs/api/core/type-aliases/EnergyGoal.md) - [Type Alias: Equipment](/docs/api/core/type-aliases/Equipment.md) - [Type Alias: ExpectedActivityKcalInput](/docs/api/core/type-aliases/ExpectedActivityKcalInput.md) - [Type Alias: ExpenditureSource](/docs/api/core/type-aliases/ExpenditureSource.md) - [Type Alias: FileFormat](/docs/api/mcp/type-aliases/FileFormat.md) - [Type Alias: FileType](/docs/api/core/type-aliases/FileType.md) - [Type Alias: GarminConnectClient](/docs/api/garmin-connect/type-aliases/GarminConnectClient.md) - [Type Alias: GarminConnectClientOptions](/docs/api/garmin-connect/type-aliases/GarminConnectClientOptions.md) - [Type Alias: GarminWorkoutClient](/docs/api/garmin-connect/type-aliases/GarminWorkoutClient.md) - [Type Alias: GarminWriterOptions](/docs/api/garmin/type-aliases/GarminWriterOptions.md) - [Type Alias: GoalType](/docs/api/core/type-aliases/GoalType.md) - [Type Alias: HashProjection\

](/docs/api/core/type-aliases/HashProjection.md) - [Type Alias: HealthExtensionPayload](/docs/api/core/type-aliases/HealthExtensionPayload.md) - [Type Alias: HealthFileType](/docs/api/core/type-aliases/HealthFileType.md) - [Type Alias: HeartRateSeries](/docs/api/core/type-aliases/HeartRateSeries.md) - [Type Alias: HeartRateValue](/docs/api/core/type-aliases/HeartRateValue.md) - [Type Alias: HrvSummary](/docs/api/core/type-aliases/HrvSummary.md) - [Type Alias: InitResult](/docs/api/garmin-connect/type-aliases/InitResult.md) - [Type Alias: Intensity](/docs/api/core/type-aliases/Intensity.md) - [Type Alias: KnownUnit](/docs/api/core/type-aliases/KnownUnit.md) - [Type Alias: KRD](/docs/api/core/type-aliases/KRD.md) - [Type Alias: KRDEvent](/docs/api/core/type-aliases/KRDEvent.md) - [Type Alias: KRDExtensions](/docs/api/core/type-aliases/KRDExtensions.md) - [Type Alias: KRDLap](/docs/api/core/type-aliases/KRDLap.md) - [Type Alias: KRDLapTrigger](/docs/api/core/type-aliases/KRDLapTrigger.md) - [Type Alias: KRDMetadata](/docs/api/core/type-aliases/KRDMetadata.md) - [Type Alias: KRDRecord](/docs/api/core/type-aliases/KRDRecord.md) - [Type Alias: KRDSession](/docs/api/core/type-aliases/KRDSession.md) - [Type Alias: LabFlag](/docs/api/core/type-aliases/LabFlag.md) - [Type Alias: LabPanel](/docs/api/core/type-aliases/LabPanel.md) - [Type Alias: LabParameter](/docs/api/core/type-aliases/LabParameter.md) - [Type Alias: LabProvenance](/docs/api/core/type-aliases/LabProvenance.md) - [Type Alias: LabRefRange](/docs/api/core/type-aliases/LabRefRange.md) - [Type Alias: LabRefSource](/docs/api/core/type-aliases/LabRefSource.md) - [Type Alias: LabReport](/docs/api/core/type-aliases/LabReport.md) - [Type Alias: LabValue](/docs/api/core/type-aliases/LabValue.md) - [Type Alias: LengthUnit](/docs/api/core/type-aliases/LengthUnit.md) - [Type Alias: ListOptions](/docs/api/core/type-aliases/ListOptions.md) - [Type Alias: ListOptions](/docs/api/garmin-connect/type-aliases/ListOptions.md) - [Type Alias: Logger](/docs/api/core/type-aliases/Logger.md) - [Type Alias: LogLevel](/docs/api/core/type-aliases/LogLevel.md) - [Type Alias: MacroNutrients](/docs/api/core/type-aliases/MacroNutrients.md) - [Type Alias: ManagedDataRegistryEntry](/docs/api/core/type-aliases/ManagedDataRegistryEntry.md) - [Type Alias: ManagedDataType](/docs/api/core/type-aliases/ManagedDataType.md) - [Type Alias: MealSlot](/docs/api/core/type-aliases/MealSlot.md) - [Type Alias: MeasuredWellness](/docs/api/core/type-aliases/MeasuredWellness.md) - [Type Alias: PaceValue](/docs/api/core/type-aliases/PaceValue.md) - [Type Alias: PaceZoneEntry](/docs/api/garmin/type-aliases/PaceZoneEntry.md) - [Type Alias: PaceZoneTable](/docs/api/garmin/type-aliases/PaceZoneTable.md) - [Type Alias: PlannedSession](/docs/api/core/type-aliases/PlannedSession.md) - [Type Alias: PlannedSessionStatus](/docs/api/core/type-aliases/PlannedSessionStatus.md) - [Type Alias: PowerValue](/docs/api/core/type-aliases/PowerValue.md) - [Type Alias: PowerZone](/docs/api/core/type-aliases/PowerZone.md) - [Type Alias: ProfileSnapshot](/docs/api/core/type-aliases/ProfileSnapshot.md) - [Type Alias: PushOptions](/docs/api/core/type-aliases/PushOptions.md) - [Type Alias: PushResult](/docs/api/core/type-aliases/PushResult.md) - [Type Alias: PushResult](/docs/api/garmin-connect/type-aliases/PushResult.md) - [Type Alias: RepetitionBlock](/docs/api/core/type-aliases/RepetitionBlock.md) - [Type Alias: ResolvedExpenditure](/docs/api/core/type-aliases/ResolvedExpenditure.md) - [Type Alias: RetryOptions](/docs/api/garmin-connect/type-aliases/RetryOptions.md) - [Type Alias: SchemaValidator](/docs/api/core/type-aliases/SchemaValidator.md) - [Type Alias: Sex](/docs/api/core/type-aliases/Sex.md) - [Type Alias: SleepRecord](/docs/api/core/type-aliases/SleepRecord.md) - [Type Alias: SleepStage](/docs/api/core/type-aliases/SleepStage.md) - [Type Alias: Sport](/docs/api/core/type-aliases/Sport.md) - [Type Alias: SportCategory](/docs/api/core/type-aliases/SportCategory.md) - [Type Alias: StrainSummary](/docs/api/core/type-aliases/StrainSummary.md) - [Type Alias: StressEpisode](/docs/api/core/type-aliases/StressEpisode.md) - [Type Alias: StrokeTypeValue](/docs/api/core/type-aliases/StrokeTypeValue.md) - [Type Alias: SubSport](/docs/api/core/type-aliases/SubSport.md) - [Type Alias: SwimStroke](/docs/api/core/type-aliases/SwimStroke.md) - [Type Alias: Target](/docs/api/core/type-aliases/Target.md) - [Type Alias: TargetType](/docs/api/core/type-aliases/TargetType.md) - [Type Alias: TargetUnit](/docs/api/core/type-aliases/TargetUnit.md) - [Type Alias: TcxValidationResult](/docs/api/tcx/type-aliases/TcxValidationResult.md) - [Type Alias: TcxValidator](/docs/api/tcx/type-aliases/TcxValidator.md) - [Type Alias: TextReader](/docs/api/core/type-aliases/TextReader.md) - [Type Alias: TextWriter](/docs/api/core/type-aliases/TextWriter.md) - [Type Alias: TokenData](/docs/api/core/type-aliases/TokenData.md) - [Type Alias: TokenData](/docs/api/garmin-connect/type-aliases/TokenData.md) - [Type Alias: TokenReader](/docs/api/garmin-connect/type-aliases/TokenReader.md) - [Type Alias: TokenStore](/docs/api/core/type-aliases/TokenStore.md) - [Type Alias: TokenStore](/docs/api/garmin-connect/type-aliases/TokenStore.md) - [Type Alias: ToleranceChecker](/docs/api/core/type-aliases/ToleranceChecker.md) - [Type Alias: ToleranceConfig](/docs/api/core/type-aliases/ToleranceConfig.md) - [Type Alias: ToleranceViolation](/docs/api/core/type-aliases/ToleranceViolation.md) - [Type Alias: ToolResult](/docs/api/mcp/type-aliases/ToolResult.md) - [Type Alias: TrainingZoneBand](/docs/api/core/type-aliases/TrainingZoneBand.md) - [Type Alias: TrainingZones](/docs/api/core/type-aliases/TrainingZones.md) - [Type Alias: TrainingZoneSet](/docs/api/core/type-aliases/TrainingZoneSet.md) - [Type Alias: ValidateRoundTrip](/docs/api/core/type-aliases/ValidateRoundTrip.md) - [Type Alias: ValidationError](/docs/api/core/type-aliases/ValidationError.md) - [Type Alias: VitalsSummary](/docs/api/core/type-aliases/VitalsSummary.md) - [Type Alias: WeightMeasurement](/docs/api/core/type-aliases/WeightMeasurement.md) - [Type Alias: Workout](/docs/api/core/type-aliases/Workout.md) - [Type Alias: WorkoutService](/docs/api/core/type-aliases/WorkoutService.md) - [Type Alias: WorkoutStep](/docs/api/core/type-aliases/WorkoutStep.md) - [Type Alias: WorkoutSummary](/docs/api/core/type-aliases/WorkoutSummary.md) - [Type Alias: WorkoutSummary](/docs/api/garmin-connect/type-aliases/WorkoutSummary.md) - [Type Alias: ZwiftValidationError](/docs/api/zwo/type-aliases/ZwiftValidationError.md) - [Type Alias: ZwiftValidationResult](/docs/api/zwo/type-aliases/ZwiftValidationResult.md) - [Type Alias: ZwiftValidator](/docs/api/zwo/type-aliases/ZwiftValidator.md) - [Variable: activitySchema](/docs/api/core/variables/activitySchema.md) - [Variable: activitySummarySchema](/docs/api/core/variables/activitySummarySchema.md) - [Variable: BODY_FAT_TOLERANCE_PERCENT](/docs/api/core/variables/BODY_FAT_TOLERANCE_PERCENT.md) - [Variable: bodyCompositionSchema](/docs/api/core/variables/bodyCompositionSchema.md) - [Variable: CUSTOM_PARAMETER_PREFIX](/docs/api/core/variables/CUSTOM_PARAMETER_PREFIX.md) - [Variable: DAILY_KCAL_TOLERANCE](/docs/api/core/variables/DAILY_KCAL_TOLERANCE.md) - [Variable: DAILY_STEPS_TOLERANCE](/docs/api/core/variables/DAILY_STEPS_TOLERANCE.md) - [Variable: dailyWellnessSchema](/docs/api/core/variables/dailyWellnessSchema.md) - [Variable: dayEnergyBalanceSchema](/docs/api/core/variables/dayEnergyBalanceSchema.md) - [Variable: DEFAULT_MET](/docs/api/core/variables/DEFAULT_MET.md) - [Variable: DEFAULT_NEAT_FACTOR](/docs/api/core/variables/DEFAULT_NEAT_FACTOR.md) - [Variable: DEFAULT_TOLERANCES](/docs/api/core/variables/DEFAULT_TOLERANCES.md) - [Variable: durationSchema](/docs/api/core/variables/durationSchema.md) - [Variable: durationTypeSchema](/docs/api/core/variables/durationTypeSchema.md) - [Variable: energyGoalSchema](/docs/api/core/variables/energyGoalSchema.md) - [Variable: equipmentSchema](/docs/api/core/variables/equipmentSchema.md) - [Variable: expenditureSourceSchema](/docs/api/core/variables/expenditureSourceSchema.md) - [Variable: fileTypeSchema](/docs/api/core/variables/fileTypeSchema.md) - [Variable: FIT_TO_SWIM_STROKE](/docs/api/core/variables/FIT_TO_SWIM_STROKE.md) - [Variable: fitReader](/docs/api/fit/variables/fitReader.md) - [Variable: fitWriter](/docs/api/fit/variables/fitWriter.md) - [Variable: FLOOR_KCAL](/docs/api/core/variables/FLOOR_KCAL.md) - [Variable: FORMAT_REGISTRY](/docs/api/mcp/variables/FORMAT_REGISTRY.md) - [Variable: formatSchema](/docs/api/mcp/variables/formatSchema.md) - [Variable: garminReader](/docs/api/garmin/variables/garminReader.md) - [Variable: garminWriter](/docs/api/garmin/variables/garminWriter.md) - [Variable: goalTypeSchema](/docs/api/core/variables/goalTypeSchema.md) - [Variable: healthExtensionPayloadSchema](/docs/api/core/variables/healthExtensionPayloadSchema.md) - [Variable: healthFileTypes](/docs/api/core/variables/healthFileTypes.md) - [Variable: HEART_RATE_SERIES_BPM_TOLERANCE](/docs/api/core/variables/HEART_RATE_SERIES_BPM_TOLERANCE.md) - [Variable: heartRateSeriesSchema](/docs/api/core/variables/heartRateSeriesSchema.md) - [Variable: HRV_TOLERANCE_MS](/docs/api/core/variables/HRV_TOLERANCE_MS.md) - [Variable: hrvSummarySchema](/docs/api/core/variables/hrvSummarySchema.md) - [Variable: intensitySchema](/docs/api/core/variables/intensitySchema.md) - [Variable: KCAL_PER_KG_FAT](/docs/api/core/variables/KCAL_PER_KG_FAT.md) - [Variable: knownUnitSchema](/docs/api/core/variables/knownUnitSchema.md) - [Variable: krdEventSchema](/docs/api/core/variables/krdEventSchema.md) - [Variable: krdExtensionsSchema](/docs/api/core/variables/krdExtensionsSchema.md) - [Variable: krdLapSchema](/docs/api/core/variables/krdLapSchema.md) - [Variable: krdLapTriggerSchema](/docs/api/core/variables/krdLapTriggerSchema.md) - [Variable: krdMetadataSchema](/docs/api/core/variables/krdMetadataSchema.md) - [Variable: krdRecordSchema](/docs/api/core/variables/krdRecordSchema.md) - [Variable: krdSchema](/docs/api/core/variables/krdSchema.md) - [Variable: krdSessionSchema](/docs/api/core/variables/krdSessionSchema.md) - [Variable: LAB_PARAMETER_CATALOG](/docs/api/core/variables/LAB_PARAMETER_CATALOG.md) - [Variable: labFlagSchema](/docs/api/core/variables/labFlagSchema.md) - [Variable: labPanelSchema](/docs/api/core/variables/labPanelSchema.md) - [Variable: labParameterSchema](/docs/api/core/variables/labParameterSchema.md) - [Variable: labProvenanceSchema](/docs/api/core/variables/labProvenanceSchema.md) - [Variable: labRefRangeSchema](/docs/api/core/variables/labRefRangeSchema.md) - [Variable: labRefSourceSchema](/docs/api/core/variables/labRefSourceSchema.md) - [Variable: labReportSchema](/docs/api/core/variables/labReportSchema.md) - [Variable: labValueSchema](/docs/api/core/variables/labValueSchema.md) - [Variable: lengthUnitSchema](/docs/api/core/variables/lengthUnitSchema.md) - [Variable: macroNutrientsSchema](/docs/api/core/variables/macroNutrientsSchema.md) - [Variable: MANAGED_DATA_REGISTRY](/docs/api/core/variables/MANAGED_DATA_REGISTRY.md) - [Variable: managedDataTypes](/docs/api/core/variables/managedDataTypes.md) - [Variable: mealSlotSchema](/docs/api/core/variables/mealSlotSchema.md) - [Variable: MET_TABLE](/docs/api/core/variables/MET_TABLE.md) - [Variable: MIN_ADAPTIVE_DAYS](/docs/api/core/variables/MIN_ADAPTIVE_DAYS.md) - [Variable: MUSCLE_SURPLUS_CAP](/docs/api/core/variables/MUSCLE_SURPLUS_CAP.md) - [Variable: NEAT_FACTOR](/docs/api/core/variables/NEAT_FACTOR.md) - [Variable: plannedSessionSchema](/docs/api/core/variables/plannedSessionSchema.md) - [Variable: plannedSessionStatusSchema](/docs/api/core/variables/plannedSessionStatusSchema.md) - [Variable: POWER_ZONE_PERCENT_FTP](/docs/api/core/variables/POWER_ZONE_PERCENT_FTP.md) - [Variable: POWER_ZONES](/docs/api/core/variables/POWER_ZONES.md) - [Variable: profileSnapshotSchema](/docs/api/core/variables/profileSnapshotSchema.md) - [Variable: repetitionBlockSchema](/docs/api/core/variables/repetitionBlockSchema.md) - [Variable: SLEEP_STAGE_TOLERANCE_SECONDS](/docs/api/core/variables/SLEEP_STAGE_TOLERANCE_SECONDS.md) - [Variable: SLEEP_TOTAL_DURATION_TOLERANCE_SECONDS](/docs/api/core/variables/SLEEP_TOTAL_DURATION_TOLERANCE_SECONDS.md) - [Variable: sleepRecordSchema](/docs/api/core/variables/sleepRecordSchema.md) - [Variable: sleepStageSchema](/docs/api/core/variables/sleepStageSchema.md) - [Variable: sportSchema](/docs/api/core/variables/sportSchema.md) - [Variable: STALE_SNAPSHOT_THRESHOLD_DAYS](/docs/api/core/variables/STALE_SNAPSHOT_THRESHOLD_DAYS.md) - [Variable: STRAIN_SCORE_TOLERANCE](/docs/api/core/variables/STRAIN_SCORE_TOLERANCE.md) - [Variable: strainSummarySchema](/docs/api/core/variables/strainSummarySchema.md) - [Variable: STRESS_TOLERANCE](/docs/api/core/variables/STRESS_TOLERANCE.md) - [Variable: stressEpisodeSchema](/docs/api/core/variables/stressEpisodeSchema.md) - [Variable: subSportSchema](/docs/api/core/variables/subSportSchema.md) - [Variable: SWIM_STROKE_TO_FIT](/docs/api/core/variables/SWIM_STROKE_TO_FIT.md) - [Variable: swimStrokeSchema](/docs/api/core/variables/swimStrokeSchema.md) - [Variable: targetSchema](/docs/api/core/variables/targetSchema.md) - [Variable: targetTypeSchema](/docs/api/core/variables/targetTypeSchema.md) - [Variable: targetUnitSchema](/docs/api/core/variables/targetUnitSchema.md) - [Variable: tcxReader](/docs/api/tcx/variables/tcxReader.md) - [Variable: tcxWriter](/docs/api/tcx/variables/tcxWriter.md) - [Variable: toleranceConfigSchema](/docs/api/core/variables/toleranceConfigSchema.md) - [Variable: toleranceViolationSchema](/docs/api/core/variables/toleranceViolationSchema.md) - [Variable: trainingZoneBandSchema](/docs/api/core/variables/trainingZoneBandSchema.md) - [Variable: trainingZoneSetSchema](/docs/api/core/variables/trainingZoneSetSchema.md) - [Variable: trainingZonesSchema](/docs/api/core/variables/trainingZonesSchema.md) - [Variable: VITALS_RESPIRATORY_RATE_TOLERANCE](/docs/api/core/variables/VITALS_RESPIRATORY_RATE_TOLERANCE.md) - [Variable: VITALS_RESTING_HEART_RATE_TOLERANCE](/docs/api/core/variables/VITALS_RESTING_HEART_RATE_TOLERANCE.md) - [Variable: VITALS_SPO2_TOLERANCE](/docs/api/core/variables/VITALS_SPO2_TOLERANCE.md) - [Variable: vitalsSummarySchema](/docs/api/core/variables/vitalsSummarySchema.md) - [Variable: WEIGHT_TOLERANCE_KG](/docs/api/core/variables/WEIGHT_TOLERANCE_KG.md) - [Variable: weightMeasurementSchema](/docs/api/core/variables/weightMeasurementSchema.md) - [Variable: workoutLikeFileTypes](/docs/api/core/variables/workoutLikeFileTypes.md) - [Variable: workoutSchema](/docs/api/core/variables/workoutSchema.md) - [Variable: workoutStepSchema](/docs/api/core/variables/workoutStepSchema.md) - [Variable: zwiftReader](/docs/api/zwo/variables/zwiftReader.md) - [Variable: zwiftWriter](/docs/api/zwo/variables/zwiftWriter.md)