@aneuhold/core-ts-db-lib 4.1.11 → 4.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/lib/browser.d.ts +12 -3
  3. package/lib/browser.d.ts.map +1 -1
  4. package/lib/browser.js +6 -1
  5. package/lib/browser.js.map +1 -1
  6. package/lib/browser.ts +30 -8
  7. package/lib/ctos/workout/WorkoutExerciseCTO.d.ts +121 -0
  8. package/lib/ctos/workout/WorkoutExerciseCTO.d.ts.map +1 -0
  9. package/lib/ctos/workout/WorkoutExerciseCTO.js +58 -0
  10. package/lib/ctos/workout/WorkoutExerciseCTO.js.map +1 -0
  11. package/lib/ctos/workout/WorkoutExerciseCTO.ts +71 -0
  12. package/lib/ctos/workout/WorkoutMuscleGroupVolumeCTO.d.ts +50 -0
  13. package/lib/ctos/workout/WorkoutMuscleGroupVolumeCTO.d.ts.map +1 -0
  14. package/lib/ctos/workout/WorkoutMuscleGroupVolumeCTO.js +21 -0
  15. package/lib/ctos/workout/WorkoutMuscleGroupVolumeCTO.js.map +1 -0
  16. package/lib/ctos/workout/WorkoutMuscleGroupVolumeCTO.ts +47 -0
  17. package/lib/documents/workout/README.md +5 -5
  18. package/lib/documents/workout/WorkoutExerciseCalibration.d.ts +1 -8
  19. package/lib/documents/workout/WorkoutExerciseCalibration.d.ts.map +1 -1
  20. package/lib/documents/workout/WorkoutExerciseCalibration.js +12 -1
  21. package/lib/documents/workout/WorkoutExerciseCalibration.js.map +1 -1
  22. package/lib/documents/workout/WorkoutExerciseCalibration.ts +12 -10
  23. package/lib/documents/workout/WorkoutSessionExercise.js +4 -4
  24. package/lib/documents/workout/WorkoutSessionExercise.ts +4 -4
  25. package/lib/documents/workout/WorkoutSet.d.ts +8 -0
  26. package/lib/documents/workout/WorkoutSet.d.ts.map +1 -1
  27. package/lib/documents/workout/WorkoutSet.ts +9 -0
  28. package/lib/embedded-types/workout/MesocycleVolumeSummary.d.ts +27 -0
  29. package/lib/embedded-types/workout/MesocycleVolumeSummary.d.ts.map +1 -0
  30. package/lib/embedded-types/workout/MesocycleVolumeSummary.js +39 -0
  31. package/lib/embedded-types/workout/MesocycleVolumeSummary.js.map +1 -0
  32. package/lib/embedded-types/workout/MesocycleVolumeSummary.ts +55 -0
  33. package/lib/services/workout/Exercise/WorkoutExerciseService.d.ts +40 -0
  34. package/lib/services/workout/Exercise/WorkoutExerciseService.d.ts.map +1 -1
  35. package/lib/services/workout/Exercise/WorkoutExerciseService.js +134 -1
  36. package/lib/services/workout/Exercise/WorkoutExerciseService.js.map +1 -1
  37. package/lib/services/workout/Exercise/WorkoutExerciseService.ts +204 -1
  38. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.d.ts +48 -2
  39. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.d.ts.map +1 -1
  40. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.js +73 -5
  41. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.js.map +1 -1
  42. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.ts +88 -5
  43. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.d.ts +33 -12
  44. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.d.ts.map +1 -1
  45. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.js +74 -28
  46. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.js.map +1 -1
  47. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.ts +87 -38
  48. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.d.ts +48 -9
  49. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.d.ts.map +1 -1
  50. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.js +209 -15
  51. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.js.map +1 -1
  52. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.ts +299 -23
  53. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.types.d.ts +33 -0
  54. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.types.d.ts.map +1 -0
  55. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.types.js +24 -0
  56. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.types.js.map +1 -0
  57. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.types.ts +36 -0
  58. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.d.ts +3 -6
  59. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.d.ts.map +1 -1
  60. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.js +22 -34
  61. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.js.map +1 -1
  62. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.ts +30 -52
  63. package/lib/services/workout/Session/WorkoutSessionService.d.ts +7 -7
  64. package/lib/services/workout/Session/WorkoutSessionService.d.ts.map +1 -1
  65. package/lib/services/workout/Session/WorkoutSessionService.js +23 -32
  66. package/lib/services/workout/Session/WorkoutSessionService.js.map +1 -1
  67. package/lib/services/workout/Session/WorkoutSessionService.ts +28 -42
  68. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.d.ts +17 -5
  69. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.d.ts.map +1 -1
  70. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.js +21 -7
  71. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.js.map +1 -1
  72. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.ts +32 -7
  73. package/lib/services/workout/Set/WorkoutSetService.d.ts +17 -5
  74. package/lib/services/workout/Set/WorkoutSetService.d.ts.map +1 -1
  75. package/lib/services/workout/Set/WorkoutSetService.js +83 -16
  76. package/lib/services/workout/Set/WorkoutSetService.js.map +1 -1
  77. package/lib/services/workout/Set/WorkoutSetService.ts +107 -24
  78. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.d.ts +72 -2
  79. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.d.ts.map +1 -1
  80. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js +222 -35
  81. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js.map +1 -1
  82. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.ts +290 -40
  83. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -5,6 +5,47 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## 🔖 [4.1.13] (2026-02-28)
9
+
10
+ ### ✅ Added
11
+
12
+ - Added `WorkoutVolumePlanningService` with `estimateVolumeLandmarks()` and `evaluateMevProximity()` static methods for computing MEV/MRV/MAV landmarks from historical mesocycle data and assessing first-microcycle RSM proximity.
13
+ - Added `WorkoutDeloadSeverity` and `WorkoutDeloadTriggerRule` enums, and `WorkoutDeloadRecommendation` type for structured early-deload evaluation.
14
+ - Added `WorkoutMesocycleService.shouldTriggerEarlyDeload()` to detect when recovery session counts or consecutive performance drops warrant an early deload.
15
+ - Added `WorkoutSetService.calculateSetSurplus()` static method computing the signed difference between actual and planned reps/RIR for a single set.
16
+ - Added `WorkoutExerciseService.getTargetWeightFrom1RM()` static method to compute target weight directly from a precomputed effective 1RM.
17
+ - Added `CompletedWorkoutSet` type: a `WorkoutSet` with all nullable fields guaranteed non-null.
18
+ - Added `WorkoutVolumeLandmarkEstimate` type for estimated MEV, MRV, and MAV derived from historical mesocycle volume CTOs.
19
+
20
+ ### 🏗️ Changed
21
+
22
+ - `WorkoutMesocycleService.planMesocycle()` now accepts an optional `volumeCTOs: WorkoutMuscleGroupVolumeCTO[]` parameter to seed volume landmark estimates for the plan.
23
+ - `WorkoutMesocyclePlanContext` now exposes `firstMicrocycleRir`, `progressionInterval`, `skipDeload`, and `muscleGroupToVolumeLandmarkMap`; constructor accepts `volumeCTOs` to populate landmark estimates.
24
+ - `WorkoutExerciseService.calculateTargetRepsAndWeightForFirstSet()` now applies autoregulation: accelerates rep target when surplus ≥ 3, holds when −2 to −1, and regresses when surplus ≤ −3.
25
+ - `WorkoutSessionExerciseService` now uses per-exercise previous-microcycle first-set lookup to drive autoregulated progression across all planned microcycles.
26
+ - MEV proximity adjustments from the first microcycle are now applied when generating the second microcycle via `WorkoutVolumePlanningService.evaluateMevProximity()`.
27
+
28
+ ## 🔖 [4.1.12] (2026-02-28)
29
+
30
+ ### ✅ Added
31
+
32
+ - Added `WorkoutExerciseCTO` type and schema, bundling an exercise with its equipment type, best calibration, best set, and most recent accumulation session data. Replaces the `CalibrationExercisePair` pattern.
33
+ - Added `WorkoutMuscleGroupVolumeCTO` type and schema, bundling a muscle group with its per-mesocycle volume history (last 10 mesocycles).
34
+ - Added `MesocycleVolumeSummary` embedded type for capturing per-mesocycle set counts, RSM/soreness/performance averages, and recovery session counts.
35
+ - Added `associatedWorkoutSetId` field to `WorkoutExerciseCalibration` to track when a calibration was auto-generated from a best-set record.
36
+ - Added `WorkoutExerciseCalibrationService.generateAutoCalibrations()` static method to auto-create calibrations from exercise CTOs whose best-set 1RM exceeds their best calibration 1RM.
37
+
38
+ ### 🏗️ Changed
39
+
40
+ - _Breaking Change:_ `WorkoutMesocycleService.planMesocycle()` now accepts a single `exerciseCTOs: WorkoutExerciseCTO[]` parameter instead of separate `calibrations`, `exercises`, and `equipmentTypes` arrays.
41
+ - _Breaking Change:_ `WorkoutMesocyclePlanContext` refactored to use `WorkoutExerciseCTO` throughout; `plannedSessionExercisePairs` renamed to `plannedSessionExerciseCTOs`, `muscleGroupToExercisePairsMap` renamed to `muscleGroupToExerciseCTOsMap`, and `calibrationMap` removed.
42
+ - Fixed `WorkoutExerciseCalibrationService.getTargetPercentageFor1RM()` formula from `30 + (targetReps - 5) * 2.2` to the correct `85 - (targetReps - 5) * 2.2`.
43
+ - Updated `tsconfig.json` to exclude the `lib` directory from TypeScript compilation.
44
+
45
+ ### 🔥 Removed
46
+
47
+ - Removed `CalibrationExercisePair` type; superseded by `WorkoutExerciseCTO`.
48
+
8
49
  ## 🔖 [4.1.11] (2026-02-23)
9
50
 
10
51
  ### 🏗️ Changed
@@ -317,6 +358,9 @@ Updated dependency: now requires `@aneuhold/core-ts-lib@^2.3.11`.
317
358
  - Updated workflow permissions to allow repository write access
318
359
 
319
360
  <!-- Link References -->
361
+
362
+ [4.1.13]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.1.12...core-ts-db-lib-v4.1.13
363
+ [4.1.12]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.1.11...core-ts-db-lib-v4.1.12
320
364
  [4.1.11]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.1.10...core-ts-db-lib-v4.1.11
321
365
  [4.1.10]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.1.9...core-ts-db-lib-v4.1.10
322
366
  [4.1.9]: https://github.com/aneuhold/ts-libs/compare/core-ts-db-lib-v4.1.8...core-ts-db-lib-v4.1.9
package/lib/browser.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ import type { WorkoutExerciseCTO } from './ctos/workout/WorkoutExerciseCTO.js';
2
+ import { WorkoutExerciseCTOSchema } from './ctos/workout/WorkoutExerciseCTO.js';
3
+ import type { WorkoutMuscleGroupVolumeCTO, WorkoutVolumeLandmarkEstimate } from './ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
4
+ import { WorkoutMuscleGroupVolumeCTOSchema } from './ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
1
5
  import type { BaseDocument, BaseDocumentWithType, BaseDocumentWithUpdatedAndCreatedDates } from './documents/BaseDocument.js';
2
6
  import { BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema } from './documents/BaseDocument.js';
3
7
  import type { ApiKey } from './documents/common/ApiKey.js';
@@ -16,7 +20,7 @@ import type { WorkoutEquipmentType } from './documents/workout/WorkoutEquipmentT
16
20
  import { WorkoutEquipmentType_docType, WorkoutEquipmentTypeSchema } from './documents/workout/WorkoutEquipmentType.js';
17
21
  import type { ExerciseProperty, WorkoutExercise } from './documents/workout/WorkoutExercise.js';
18
22
  import { ExerciseProgressionType, ExercisePropertySchema, ExercisePropertyType, ExerciseRepRange, WorkoutExercise_docType, WorkoutExerciseSchema } from './documents/workout/WorkoutExercise.js';
19
- import type { CalibrationExercisePair, WorkoutExerciseCalibration } from './documents/workout/WorkoutExerciseCalibration.js';
23
+ import type { WorkoutExerciseCalibration } from './documents/workout/WorkoutExerciseCalibration.js';
20
24
  import { WorkoutExerciseCalibration_docType, WorkoutExerciseCalibrationSchema } from './documents/workout/WorkoutExerciseCalibration.js';
21
25
  import type { WorkoutMesocycle } from './documents/workout/WorkoutMesocycle.js';
22
26
  import { CycleType, WorkoutMesocycle_docType, WorkoutMesocycleSchema } from './documents/workout/WorkoutMesocycle.js';
@@ -40,8 +44,12 @@ import type { DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings
40
44
  import { DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema } from './embedded-types/dashboard/task/SortSettings.js';
41
45
  import type { DashboardTagSetting, DashboardTagSettings } from './embedded-types/dashboard/userConfig/Tags.js';
42
46
  import { DashboardTagSettingSchema, DashboardTagSettingsSchema } from './embedded-types/dashboard/userConfig/Tags.js';
47
+ import { WorkoutDeloadSeverity, WorkoutDeloadTriggerRule } from './services/workout/Mesocycle/WorkoutMesocycleService.types.js';
48
+ import type { WorkoutDeloadRecommendation } from './services/workout/Mesocycle/WorkoutMesocycleService.types.js';
43
49
  import type { Fatigue } from './embedded-types/workout/Fatigue.js';
44
50
  import { FatigueSchema } from './embedded-types/workout/Fatigue.js';
51
+ import type { MesocycleVolumeSummary } from './embedded-types/workout/MesocycleVolumeSummary.js';
52
+ import { MesocycleVolumeSummarySchema } from './embedded-types/workout/MesocycleVolumeSummary.js';
45
53
  import type { RSM } from './embedded-types/workout/Rsm.js';
46
54
  import { RsmSchema } from './embedded-types/workout/Rsm.js';
47
55
  import type { RequiredUserId } from './schemas/required-refs/RequiredUserId.js';
@@ -60,6 +68,7 @@ import WorkoutSessionService, { WorkoutSessionLockReason } from './services/work
60
68
  import WorkoutSessionExerciseService from './services/workout/SessionExercise/WorkoutSessionExerciseService.js';
61
69
  import WorkoutSetService from './services/workout/Set/WorkoutSetService.js';
62
70
  import WorkoutSFRService from './services/workout/util/SFR/WorkoutSFRService.js';
63
- export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema, CycleType, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, ExerciseProgressionType, ExercisePropertySchema, ExercisePropertyType, ExerciseRepRange, FatigueSchema, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, RsmSchema, WorkoutSessionLockReason, StandardFilterSettingSchema, UserCTOSchema, UserSchema, WorkoutEquipmentType_docType, WorkoutEquipmentTypeSchema, WorkoutEquipmentTypeService, WorkoutExercise_docType, WorkoutExerciseCalibration_docType, WorkoutExerciseCalibrationSchema, WorkoutExerciseCalibrationService, WorkoutExerciseSchema, WorkoutExerciseService, WorkoutMesocycle_docType, WorkoutMesocyclePlanContext, WorkoutMesocycleSchema, WorkoutMesocycleService, WorkoutMicrocycle_docType, WorkoutMicrocycleSchema, WorkoutMicrocycleService, WorkoutMuscleGroup_docType, WorkoutMuscleGroupSchema, WorkoutSession_docType, WorkoutSessionExercise_docType, WorkoutSessionExerciseSchema, WorkoutSessionExerciseService, WorkoutSessionSchema, WorkoutSessionService, WorkoutSet_docType, WorkoutSetSchema, WorkoutSetService, WorkoutSFRService };
64
- export type { ApiKey, BaseDocument, BaseDocumentWithType, BaseDocumentWithUpdatedAndCreatedDates, CalibrationExercisePair, DashboardTagSetting, DashboardTagSettings, DashboardTask, DashboardTaskFilterAndSortResult, DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings, DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings, DashboardTaskMap, DashboardTaskSortSetting, DashboardTaskSortSettings, DashboardUserConfig, DocumentMap, ExerciseProperty, Fatigue, NonogramKatanaItem, NonogramKatanaUpgrade, ParentRecurringTaskInfo, RecurrenceFrequency, RecurrenceInfo, RequiredUserId, RSM, StandardFilterSetting, User, UserCTO, WorkoutEquipmentType, WorkoutExercise, WorkoutExerciseCalibration, WorkoutMesocycle, WorkoutMicrocycle, WorkoutMuscleGroup, WorkoutSession, WorkoutSessionExercise, WorkoutSet };
71
+ import WorkoutVolumePlanningService from './services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js';
72
+ export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema, CycleType, WorkoutDeloadSeverity, WorkoutDeloadTriggerRule, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, ExerciseProgressionType, ExercisePropertySchema, ExercisePropertyType, ExerciseRepRange, FatigueSchema, MesocycleVolumeSummarySchema, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, RsmSchema, StandardFilterSettingSchema, UserCTOSchema, UserSchema, WorkoutEquipmentType_docType, WorkoutEquipmentTypeSchema, WorkoutEquipmentTypeService, WorkoutExercise_docType, WorkoutExerciseCalibration_docType, WorkoutExerciseCalibrationSchema, WorkoutExerciseCalibrationService, WorkoutExerciseCTOSchema, WorkoutExerciseSchema, WorkoutExerciseService, WorkoutMesocycle_docType, WorkoutMesocyclePlanContext, WorkoutMesocycleSchema, WorkoutMesocycleService, WorkoutMicrocycle_docType, WorkoutMicrocycleSchema, WorkoutMicrocycleService, WorkoutMuscleGroup_docType, WorkoutMuscleGroupSchema, WorkoutMuscleGroupVolumeCTOSchema, WorkoutSession_docType, WorkoutSessionExercise_docType, WorkoutSessionExerciseSchema, WorkoutSessionExerciseService, WorkoutSessionLockReason, WorkoutSessionSchema, WorkoutSessionService, WorkoutSet_docType, WorkoutSetSchema, WorkoutSetService, WorkoutSFRService, WorkoutVolumePlanningService };
73
+ export type { ApiKey, BaseDocument, WorkoutDeloadRecommendation, BaseDocumentWithType, BaseDocumentWithUpdatedAndCreatedDates, DashboardTagSetting, DashboardTagSettings, DashboardTask, DashboardTaskFilterAndSortResult, DashboardTaskFilterSettings, DashboardTaskListFilterSettings, DashboardTaskListGlobalFilterSettings, DashboardTaskListGlobalSortSettings, DashboardTaskListSortSettings, DashboardTaskMap, DashboardTaskSortSetting, DashboardTaskSortSettings, DashboardUserConfig, DocumentMap, ExerciseProperty, Fatigue, MesocycleVolumeSummary, NonogramKatanaItem, NonogramKatanaUpgrade, ParentRecurringTaskInfo, RecurrenceFrequency, RecurrenceInfo, RequiredUserId, RSM, StandardFilterSetting, User, UserCTO, WorkoutEquipmentType, WorkoutExercise, WorkoutExerciseCalibration, WorkoutExerciseCTO, WorkoutMesocycle, WorkoutMicrocycle, WorkoutMuscleGroup, WorkoutMuscleGroupVolumeCTO, WorkoutSession, WorkoutSessionExercise, WorkoutSet, WorkoutVolumeLandmarkEstimate };
65
74
  //# sourceMappingURL=browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/lib/browser.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { WorkoutExerciseCTOSchema } from './ctos/workout/WorkoutExerciseCTO.js';
2
+ import { WorkoutMuscleGroupVolumeCTOSchema } from './ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
1
3
  import { BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema } from './documents/BaseDocument.js';
2
4
  import { ApiKeySchema } from './documents/common/ApiKey.js';
3
5
  import { UserCTOSchema, UserSchema } from './documents/common/User.js';
@@ -20,7 +22,9 @@ import { DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchem
20
22
  import { ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema } from './embedded-types/dashboard/task/RecurrenceInfo.js';
21
23
  import { DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema } from './embedded-types/dashboard/task/SortSettings.js';
22
24
  import { DashboardTagSettingSchema, DashboardTagSettingsSchema } from './embedded-types/dashboard/userConfig/Tags.js';
25
+ import { WorkoutDeloadSeverity, WorkoutDeloadTriggerRule } from './services/workout/Mesocycle/WorkoutMesocycleService.types.js';
23
26
  import { FatigueSchema } from './embedded-types/workout/Fatigue.js';
27
+ import { MesocycleVolumeSummarySchema } from './embedded-types/workout/MesocycleVolumeSummary.js';
24
28
  import { RsmSchema } from './embedded-types/workout/Rsm.js';
25
29
  import { RequiredUserIdSchema } from './schemas/required-refs/RequiredUserId.js';
26
30
  import DocumentService from './services/DocumentService.js';
@@ -35,6 +39,7 @@ import WorkoutSessionService, { WorkoutSessionLockReason } from './services/work
35
39
  import WorkoutSessionExerciseService from './services/workout/SessionExercise/WorkoutSessionExerciseService.js';
36
40
  import WorkoutSetService from './services/workout/Set/WorkoutSetService.js';
37
41
  import WorkoutSFRService from './services/workout/util/SFR/WorkoutSFRService.js';
42
+ import WorkoutVolumePlanningService from './services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js';
38
43
  // Export all browser-safe functions and classes from this library
39
- export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema, CycleType, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, ExerciseProgressionType, ExercisePropertySchema, ExercisePropertyType, ExerciseRepRange, FatigueSchema, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, RsmSchema, WorkoutSessionLockReason, StandardFilterSettingSchema, UserCTOSchema, UserSchema, WorkoutEquipmentType_docType, WorkoutEquipmentTypeSchema, WorkoutEquipmentTypeService, WorkoutExercise_docType, WorkoutExerciseCalibration_docType, WorkoutExerciseCalibrationSchema, WorkoutExerciseCalibrationService, WorkoutExerciseSchema, WorkoutExerciseService, WorkoutMesocycle_docType, WorkoutMesocyclePlanContext, WorkoutMesocycleSchema, WorkoutMesocycleService, WorkoutMicrocycle_docType, WorkoutMicrocycleSchema, WorkoutMicrocycleService, WorkoutMuscleGroup_docType, WorkoutMuscleGroupSchema, WorkoutSession_docType, WorkoutSessionExercise_docType, WorkoutSessionExerciseSchema, WorkoutSessionExerciseService, WorkoutSessionSchema, WorkoutSessionService, WorkoutSet_docType, WorkoutSetSchema, WorkoutSetService, WorkoutSFRService };
44
+ export { ApiKeySchema, BaseDocumentSchema, BaseDocumentWithTypeSchema, BaseDocumentWithUpdatedAndCreatedDatesSchema, CycleType, WorkoutDeloadSeverity, WorkoutDeloadTriggerRule, DashboardTagSettingSchema, DashboardTagSettingsSchema, DashboardTask_docType, DashboardTaskFilterSettingsSchema, DashboardTaskListFilterSettingsSchema, DashboardTaskListGlobalFilterSettingsSchema, DashboardTaskListGlobalSortSettingsSchema, DashboardTaskListSortSettingsSchema, DashboardTaskSchema, DashboardTaskService, DashboardTaskSortBy, DashboardTaskSortBySchema, DashboardTaskSortDirection, DashboardTaskSortDirectionSchema, DashboardTaskSortSettingSchema, DashboardTaskSortSettingsSchema, DashboardUserConfig_docType, DashboardUserConfigSchema, DocumentService, ExerciseProgressionType, ExercisePropertySchema, ExercisePropertyType, ExerciseRepRange, FatigueSchema, MesocycleVolumeSummarySchema, NonogramKatanaItem_docType, NonogramKatanaItemName, NonogramKatanaItemNameSchema, NonogramKatanaItemSchema, NonogramKatanaUpgrade_docType, NonogramKatanaUpgradeName, NonogramKatanaUpgradeNameSchema, NonogramKatanaUpgradeSchema, ParentRecurringTaskInfoSchema, RecurrenceBasis, RecurrenceBasisSchema, RecurrenceEffect, RecurrenceEffectSchema, RecurrenceFrequencySchema, RecurrenceFrequencyType, RecurrenceFrequencyTypeSchema, RecurrenceInfoSchema, RequiredUserIdSchema, RsmSchema, StandardFilterSettingSchema, UserCTOSchema, UserSchema, WorkoutEquipmentType_docType, WorkoutEquipmentTypeSchema, WorkoutEquipmentTypeService, WorkoutExercise_docType, WorkoutExerciseCalibration_docType, WorkoutExerciseCalibrationSchema, WorkoutExerciseCalibrationService, WorkoutExerciseCTOSchema, WorkoutExerciseSchema, WorkoutExerciseService, WorkoutMesocycle_docType, WorkoutMesocyclePlanContext, WorkoutMesocycleSchema, WorkoutMesocycleService, WorkoutMicrocycle_docType, WorkoutMicrocycleSchema, WorkoutMicrocycleService, WorkoutMuscleGroup_docType, WorkoutMuscleGroupSchema, WorkoutMuscleGroupVolumeCTOSchema, WorkoutSession_docType, WorkoutSessionExercise_docType, WorkoutSessionExerciseSchema, WorkoutSessionExerciseService, WorkoutSessionLockReason, WorkoutSessionSchema, WorkoutSessionService, WorkoutSet_docType, WorkoutSetSchema, WorkoutSetService, WorkoutSFRService, WorkoutVolumePlanningService };
40
45
  //# sourceMappingURL=browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"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"}
package/lib/browser.ts CHANGED
@@ -1,3 +1,10 @@
1
+ import type { WorkoutExerciseCTO } from './ctos/workout/WorkoutExerciseCTO.js';
2
+ import { WorkoutExerciseCTOSchema } from './ctos/workout/WorkoutExerciseCTO.js';
3
+ import type {
4
+ WorkoutMuscleGroupVolumeCTO,
5
+ WorkoutVolumeLandmarkEstimate
6
+ } from './ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
7
+ import { WorkoutMuscleGroupVolumeCTOSchema } from './ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
1
8
  import type {
2
9
  BaseDocument,
3
10
  BaseDocumentWithType,
@@ -43,10 +50,7 @@ import {
43
50
  WorkoutExercise_docType,
44
51
  WorkoutExerciseSchema
45
52
  } from './documents/workout/WorkoutExercise.js';
46
- import type {
47
- CalibrationExercisePair,
48
- WorkoutExerciseCalibration
49
- } from './documents/workout/WorkoutExerciseCalibration.js';
53
+ import type { WorkoutExerciseCalibration } from './documents/workout/WorkoutExerciseCalibration.js';
50
54
  import {
51
55
  WorkoutExerciseCalibration_docType,
52
56
  WorkoutExerciseCalibrationSchema
@@ -137,8 +141,15 @@ import {
137
141
  DashboardTagSettingSchema,
138
142
  DashboardTagSettingsSchema
139
143
  } from './embedded-types/dashboard/userConfig/Tags.js';
144
+ import {
145
+ WorkoutDeloadSeverity,
146
+ WorkoutDeloadTriggerRule
147
+ } from './services/workout/Mesocycle/WorkoutMesocycleService.types.js';
148
+ import type { WorkoutDeloadRecommendation } from './services/workout/Mesocycle/WorkoutMesocycleService.types.js';
140
149
  import type { Fatigue } from './embedded-types/workout/Fatigue.js';
141
150
  import { FatigueSchema } from './embedded-types/workout/Fatigue.js';
151
+ import type { MesocycleVolumeSummary } from './embedded-types/workout/MesocycleVolumeSummary.js';
152
+ import { MesocycleVolumeSummarySchema } from './embedded-types/workout/MesocycleVolumeSummary.js';
142
153
  import type { RSM } from './embedded-types/workout/Rsm.js';
143
154
  import { RsmSchema } from './embedded-types/workout/Rsm.js';
144
155
  import type { RequiredUserId } from './schemas/required-refs/RequiredUserId.js';
@@ -159,6 +170,7 @@ import WorkoutSessionService, {
159
170
  import WorkoutSessionExerciseService from './services/workout/SessionExercise/WorkoutSessionExerciseService.js';
160
171
  import WorkoutSetService from './services/workout/Set/WorkoutSetService.js';
161
172
  import WorkoutSFRService from './services/workout/util/SFR/WorkoutSFRService.js';
173
+ import WorkoutVolumePlanningService from './services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js';
162
174
 
163
175
  // Export all browser-safe functions and classes from this library
164
176
  export {
@@ -167,6 +179,8 @@ export {
167
179
  BaseDocumentWithTypeSchema,
168
180
  BaseDocumentWithUpdatedAndCreatedDatesSchema,
169
181
  CycleType,
182
+ WorkoutDeloadSeverity,
183
+ WorkoutDeloadTriggerRule,
170
184
  DashboardTagSettingSchema,
171
185
  DashboardTagSettingsSchema,
172
186
  DashboardTask_docType,
@@ -191,6 +205,7 @@ export {
191
205
  ExercisePropertyType,
192
206
  ExerciseRepRange,
193
207
  FatigueSchema,
208
+ MesocycleVolumeSummarySchema,
194
209
  NonogramKatanaItem_docType,
195
210
  NonogramKatanaItemName,
196
211
  NonogramKatanaItemNameSchema,
@@ -210,7 +225,6 @@ export {
210
225
  RecurrenceInfoSchema,
211
226
  RequiredUserIdSchema,
212
227
  RsmSchema,
213
- WorkoutSessionLockReason,
214
228
  StandardFilterSettingSchema,
215
229
  UserCTOSchema,
216
230
  UserSchema,
@@ -221,6 +235,7 @@ export {
221
235
  WorkoutExerciseCalibration_docType,
222
236
  WorkoutExerciseCalibrationSchema,
223
237
  WorkoutExerciseCalibrationService,
238
+ WorkoutExerciseCTOSchema,
224
239
  WorkoutExerciseSchema,
225
240
  WorkoutExerciseService,
226
241
  WorkoutMesocycle_docType,
@@ -232,25 +247,28 @@ export {
232
247
  WorkoutMicrocycleService,
233
248
  WorkoutMuscleGroup_docType,
234
249
  WorkoutMuscleGroupSchema,
250
+ WorkoutMuscleGroupVolumeCTOSchema,
235
251
  WorkoutSession_docType,
236
252
  WorkoutSessionExercise_docType,
237
253
  WorkoutSessionExerciseSchema,
238
254
  WorkoutSessionExerciseService,
255
+ WorkoutSessionLockReason,
239
256
  WorkoutSessionSchema,
240
257
  WorkoutSessionService,
241
258
  WorkoutSet_docType,
242
259
  WorkoutSetSchema,
243
260
  WorkoutSetService,
244
- WorkoutSFRService
261
+ WorkoutSFRService,
262
+ WorkoutVolumePlanningService
245
263
  };
246
264
 
247
265
  // Export TypeScript types where needed
248
266
  export type {
249
267
  ApiKey,
250
268
  BaseDocument,
269
+ WorkoutDeloadRecommendation,
251
270
  BaseDocumentWithType,
252
271
  BaseDocumentWithUpdatedAndCreatedDates,
253
- CalibrationExercisePair,
254
272
  DashboardTagSetting,
255
273
  DashboardTagSettings,
256
274
  DashboardTask,
@@ -267,6 +285,7 @@ export type {
267
285
  DocumentMap,
268
286
  ExerciseProperty,
269
287
  Fatigue,
288
+ MesocycleVolumeSummary,
270
289
  NonogramKatanaItem,
271
290
  NonogramKatanaUpgrade,
272
291
  ParentRecurringTaskInfo,
@@ -280,10 +299,13 @@ export type {
280
299
  WorkoutEquipmentType,
281
300
  WorkoutExercise,
282
301
  WorkoutExerciseCalibration,
302
+ WorkoutExerciseCTO,
283
303
  WorkoutMesocycle,
284
304
  WorkoutMicrocycle,
285
305
  WorkoutMuscleGroup,
306
+ WorkoutMuscleGroupVolumeCTO,
286
307
  WorkoutSession,
287
308
  WorkoutSessionExercise,
288
- WorkoutSet
309
+ WorkoutSet,
310
+ WorkoutVolumeLandmarkEstimate
289
311
  };
@@ -0,0 +1,121 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The schema for {@link WorkoutExerciseCTO}.
4
+ *
5
+ * Bundles an exercise with its best calibration, best set, equipment type,
6
+ * and most recent accumulation performance. Eliminates the need for core
7
+ * service methods to separately accept exercise, calibration, and equipment
8
+ * parameters and then perform expensive lookups.
9
+ */
10
+ export declare const WorkoutExerciseCTOSchema: z.ZodObject<{
11
+ equipmentType: z.ZodObject<{
12
+ docType: z.ZodDefault<z.ZodLiteral<"workoutEquipmentType">>;
13
+ title: z.ZodString;
14
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
15
+ weightOptions: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodNumber>>>;
16
+ createdDate: z.ZodDefault<z.ZodDate>;
17
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
18
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
19
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
20
+ }, z.core.$strip>;
21
+ bestCalibration: z.ZodNullable<z.ZodObject<{
22
+ docType: z.ZodDefault<z.ZodLiteral<"workoutExerciseCalibration">>;
23
+ workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
24
+ exerciseProperties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
25
+ reps: z.ZodInt;
26
+ weight: z.ZodNumber;
27
+ dateRecorded: z.ZodDefault<z.ZodDate>;
28
+ associatedWorkoutSetId: z.ZodOptional<z.ZodNullable<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
29
+ createdDate: z.ZodDefault<z.ZodDate>;
30
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
31
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
32
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
33
+ }, z.core.$strip>>;
34
+ bestSet: z.ZodNullable<z.ZodObject<{
35
+ docType: z.ZodDefault<z.ZodLiteral<"workoutSet">>;
36
+ workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
37
+ workoutSessionId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
38
+ workoutSessionExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
39
+ plannedReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
40
+ plannedWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
41
+ plannedRir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
42
+ actualReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
43
+ actualWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
44
+ rir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
45
+ exerciseProperties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
46
+ createdDate: z.ZodDefault<z.ZodDate>;
47
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
48
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
49
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
50
+ }, z.core.$strip>>;
51
+ lastSessionExercise: z.ZodNullable<z.ZodObject<{
52
+ docType: z.ZodDefault<z.ZodLiteral<"workoutSessionExercise">>;
53
+ workoutSessionId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
54
+ workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
55
+ setOrder: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
56
+ rsm: z.ZodOptional<z.ZodNullable<z.ZodObject<{
57
+ mindMuscleConnection: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
58
+ pump: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
59
+ disruption: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
60
+ }, z.core.$strip>>>;
61
+ fatigue: z.ZodOptional<z.ZodNullable<z.ZodObject<{
62
+ jointAndTissueDisruption: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
63
+ perceivedEffort: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
64
+ unusedMusclePerformance: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
65
+ }, z.core.$strip>>>;
66
+ sorenessScore: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
67
+ performanceScore: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
68
+ isRecoveryExercise: z.ZodDefault<z.ZodBoolean>;
69
+ createdDate: z.ZodDefault<z.ZodDate>;
70
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
71
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
72
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
73
+ }, z.core.$strip>>;
74
+ lastFirstSet: z.ZodNullable<z.ZodObject<{
75
+ docType: z.ZodDefault<z.ZodLiteral<"workoutSet">>;
76
+ workoutExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
77
+ workoutSessionId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
78
+ workoutSessionExerciseId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
79
+ plannedReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
80
+ plannedWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
81
+ plannedRir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
82
+ actualReps: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
83
+ actualWeight: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
84
+ rir: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
85
+ exerciseProperties: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
86
+ createdDate: z.ZodDefault<z.ZodDate>;
87
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
88
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
89
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
90
+ }, z.core.$strip>>;
91
+ docType: z.ZodDefault<z.ZodLiteral<"workoutExercise">>;
92
+ exerciseName: z.ZodString;
93
+ workoutEquipmentTypeId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
94
+ notes: z.ZodOptional<z.ZodNullable<z.ZodString>>;
95
+ restSeconds: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
96
+ customProperties: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodObject<{
97
+ name: z.ZodString;
98
+ type: z.ZodEnum<typeof import("../../documents/workout/WorkoutExercise.js").ExercisePropertyType>;
99
+ }, z.core.$strip>>>>;
100
+ repRange: z.ZodEnum<typeof import("../../documents/workout/WorkoutExercise.js").ExerciseRepRange>;
101
+ preferredProgressionType: z.ZodDefault<z.ZodEnum<typeof import("../../documents/workout/WorkoutExercise.js").ExerciseProgressionType>>;
102
+ primaryMuscleGroups: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
103
+ secondaryMuscleGroups: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>>>;
104
+ initialFatigueGuess: z.ZodObject<{
105
+ jointAndTissueDisruption: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
106
+ perceivedEffort: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
107
+ unusedMusclePerformance: z.ZodOptional<z.ZodNullable<z.ZodInt>>;
108
+ }, z.core.$strip>;
109
+ createdDate: z.ZodDefault<z.ZodDate>;
110
+ lastUpdatedDate: z.ZodDefault<z.ZodDate>;
111
+ _id: z.ZodPipe<z.ZodDefault<z.ZodUUID>, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
112
+ userId: z.ZodPipe<z.ZodUUID, z.ZodTransform<`${string}-${string}-${string}-${string}-${string}`, string>>;
113
+ }, z.core.$strip>;
114
+ /**
115
+ * A CTO that bundles a workout exercise with its best calibration, best set,
116
+ * equipment type, and most recent accumulation performance data. This replaces
117
+ * the CalibrationExercisePair pattern with a richer data structure that
118
+ * eliminates the need for cross-document lookups in service methods.
119
+ */
120
+ export type WorkoutExerciseCTO = z.infer<typeof WorkoutExerciseCTOSchema>;
121
+ //# sourceMappingURL=WorkoutExerciseCTO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutExerciseCTO.d.ts","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+CnC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ import { WorkoutEquipmentTypeSchema } from '../../documents/workout/WorkoutEquipmentType.js';
3
+ import { WorkoutExerciseSchema } from '../../documents/workout/WorkoutExercise.js';
4
+ import { WorkoutExerciseCalibrationSchema } from '../../documents/workout/WorkoutExerciseCalibration.js';
5
+ import { WorkoutSessionExerciseSchema } from '../../documents/workout/WorkoutSessionExercise.js';
6
+ import { WorkoutSetSchema } from '../../documents/workout/WorkoutSet.js';
7
+ /**
8
+ * The schema for {@link WorkoutExerciseCTO}.
9
+ *
10
+ * Bundles an exercise with its best calibration, best set, equipment type,
11
+ * and most recent accumulation performance. Eliminates the need for core
12
+ * service methods to separately accept exercise, calibration, and equipment
13
+ * parameters and then perform expensive lookups.
14
+ */
15
+ export const WorkoutExerciseCTOSchema = z.object({
16
+ ...WorkoutExerciseSchema.shape,
17
+ /**
18
+ * The equipment type associated with this exercise.
19
+ * Included so weight rounding can be performed without additional lookups.
20
+ */
21
+ equipmentType: WorkoutEquipmentTypeSchema,
22
+ /**
23
+ * The WorkoutExerciseCalibration with the highest calculated 1RM for this
24
+ * exercise. Includes both manually-entered calibrations and auto-created
25
+ * ones (from best sets). Null if no calibrations exist.
26
+ */
27
+ bestCalibration: WorkoutExerciseCalibrationSchema.nullable(),
28
+ /**
29
+ * The completed WorkoutSet with the highest calculated 1RM for this
30
+ * exercise, across all sessions ever performed. Null if the exercise has
31
+ * never been performed.
32
+ *
33
+ * This may or may not match the set that generated bestCalibration. It
34
+ * provides the raw source data for 1RM comparison.
35
+ */
36
+ bestSet: WorkoutSetSchema.nullable(),
37
+ /**
38
+ * The most recent completed WorkoutSessionExercise for this exercise,
39
+ * from a non-deload accumulation session. Deload sessions (where all sets
40
+ * have plannedRir === null) are excluded since their halved weights/reps
41
+ * are not meaningful baselines for progression.
42
+ *
43
+ * Null if the exercise has never been performed in an accumulation session.
44
+ *
45
+ * Contains: sorenessScore, performanceScore, rsm, fatigue, setOrder, etc.
46
+ */
47
+ lastSessionExercise: WorkoutSessionExerciseSchema.nullable(),
48
+ /**
49
+ * The first WorkoutSet from the lastSessionExercise's setOrder.
50
+ * This is the "anchor" set that progression calculations use since
51
+ * subsequent sets are derived from the first via intra-session fatigue
52
+ * drops.
53
+ *
54
+ * Null if no previous accumulation performance exists.
55
+ */
56
+ lastFirstSet: WorkoutSetSchema.nullable()
57
+ });
58
+ //# sourceMappingURL=WorkoutExerciseCTO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutExerciseCTO.js","sourceRoot":"","sources":["../../../src/ctos/workout/WorkoutExerciseCTO.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,iDAAiD,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,uDAAuD,CAAC;AACzG,OAAO,EAAE,4BAA4B,EAAE,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,qBAAqB,CAAC,KAAK;IAE9B;;;OAGG;IACH,aAAa,EAAE,0BAA0B;IAEzC;;;;OAIG;IACH,eAAe,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IAE5D;;;;;;;OAOG;IACH,OAAO,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAEpC;;;;;;;;;OASG;IACH,mBAAmB,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAE5D;;;;;;;OAOG;IACH,YAAY,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CAC1C,CAAC,CAAC"}
@@ -0,0 +1,71 @@
1
+ import { z } from 'zod';
2
+ import { WorkoutEquipmentTypeSchema } from '../../documents/workout/WorkoutEquipmentType.js';
3
+ import { WorkoutExerciseSchema } from '../../documents/workout/WorkoutExercise.js';
4
+ import { WorkoutExerciseCalibrationSchema } from '../../documents/workout/WorkoutExerciseCalibration.js';
5
+ import { WorkoutSessionExerciseSchema } from '../../documents/workout/WorkoutSessionExercise.js';
6
+ import { WorkoutSetSchema } from '../../documents/workout/WorkoutSet.js';
7
+
8
+ /**
9
+ * The schema for {@link WorkoutExerciseCTO}.
10
+ *
11
+ * Bundles an exercise with its best calibration, best set, equipment type,
12
+ * and most recent accumulation performance. Eliminates the need for core
13
+ * service methods to separately accept exercise, calibration, and equipment
14
+ * parameters and then perform expensive lookups.
15
+ */
16
+ export const WorkoutExerciseCTOSchema = z.object({
17
+ ...WorkoutExerciseSchema.shape,
18
+
19
+ /**
20
+ * The equipment type associated with this exercise.
21
+ * Included so weight rounding can be performed without additional lookups.
22
+ */
23
+ equipmentType: WorkoutEquipmentTypeSchema,
24
+
25
+ /**
26
+ * The WorkoutExerciseCalibration with the highest calculated 1RM for this
27
+ * exercise. Includes both manually-entered calibrations and auto-created
28
+ * ones (from best sets). Null if no calibrations exist.
29
+ */
30
+ bestCalibration: WorkoutExerciseCalibrationSchema.nullable(),
31
+
32
+ /**
33
+ * The completed WorkoutSet with the highest calculated 1RM for this
34
+ * exercise, across all sessions ever performed. Null if the exercise has
35
+ * never been performed.
36
+ *
37
+ * This may or may not match the set that generated bestCalibration. It
38
+ * provides the raw source data for 1RM comparison.
39
+ */
40
+ bestSet: WorkoutSetSchema.nullable(),
41
+
42
+ /**
43
+ * The most recent completed WorkoutSessionExercise for this exercise,
44
+ * from a non-deload accumulation session. Deload sessions (where all sets
45
+ * have plannedRir === null) are excluded since their halved weights/reps
46
+ * are not meaningful baselines for progression.
47
+ *
48
+ * Null if the exercise has never been performed in an accumulation session.
49
+ *
50
+ * Contains: sorenessScore, performanceScore, rsm, fatigue, setOrder, etc.
51
+ */
52
+ lastSessionExercise: WorkoutSessionExerciseSchema.nullable(),
53
+
54
+ /**
55
+ * The first WorkoutSet from the lastSessionExercise's setOrder.
56
+ * This is the "anchor" set that progression calculations use since
57
+ * subsequent sets are derived from the first via intra-session fatigue
58
+ * drops.
59
+ *
60
+ * Null if no previous accumulation performance exists.
61
+ */
62
+ lastFirstSet: WorkoutSetSchema.nullable()
63
+ });
64
+
65
+ /**
66
+ * A CTO that bundles a workout exercise with its best calibration, best set,
67
+ * equipment type, and most recent accumulation performance data. This replaces
68
+ * the CalibrationExercisePair pattern with a richer data structure that
69
+ * eliminates the need for cross-document lookups in service methods.
70
+ */
71
+ export type WorkoutExerciseCTO = z.infer<typeof WorkoutExerciseCTOSchema>;