@aneuhold/core-ts-db-lib 5.0.7 → 5.0.9

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 (128) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/lib/browser.d.ts +14 -14
  3. package/lib/browser.d.ts.map +1 -1
  4. package/lib/browser.js +12 -12
  5. package/lib/browser.js.map +1 -1
  6. package/lib/browser.ts +14 -14
  7. package/lib/documents/BaseDocument.js +1 -1
  8. package/lib/documents/BaseDocument.js.map +1 -1
  9. package/lib/documents/BaseDocument.ts +1 -1
  10. package/lib/documents/dashboard/Task.d.ts +1 -1
  11. package/lib/documents/dashboard/Task.d.ts.map +1 -1
  12. package/lib/documents/dashboard/Task.ts +1 -1
  13. package/lib/schemas/UUIDSchema.js +1 -1
  14. package/lib/schemas/UUIDSchema.js.map +1 -1
  15. package/lib/schemas/UUIDSchema.ts +1 -1
  16. package/lib/services/{DocumentService.d.ts → Document.service.d.ts} +1 -1
  17. package/lib/services/Document.service.d.ts.map +1 -0
  18. package/lib/services/{DocumentService.js → Document.service.js} +1 -1
  19. package/lib/services/Document.service.js.map +1 -0
  20. package/lib/services/dashboard/Task/{TaskService.d.ts → Task.service.d.ts} +2 -10
  21. package/lib/services/dashboard/Task/Task.service.d.ts.map +1 -0
  22. package/lib/services/dashboard/Task/{TaskService.js → Task.service.js} +8 -8
  23. package/lib/services/dashboard/Task/Task.service.js.map +1 -0
  24. package/lib/services/dashboard/Task/{TaskService.ts → Task.service.ts} +8 -8
  25. package/lib/services/dashboard/Task/{TaskFilterService.d.ts → TaskFilter.service.d.ts} +1 -1
  26. package/lib/services/dashboard/Task/TaskFilter.service.d.ts.map +1 -0
  27. package/lib/services/dashboard/Task/{TaskFilterService.js → TaskFilter.service.js} +1 -1
  28. package/lib/services/dashboard/Task/TaskFilter.service.js.map +1 -0
  29. package/lib/services/dashboard/Task/{TaskRecurrenceService.d.ts → TaskRecurrence.service.d.ts} +2 -9
  30. package/lib/services/dashboard/Task/TaskRecurrence.service.d.ts.map +1 -0
  31. package/lib/services/dashboard/Task/{TaskRecurrenceService.js → TaskRecurrence.service.js} +6 -6
  32. package/lib/services/dashboard/Task/TaskRecurrence.service.js.map +1 -0
  33. package/lib/services/dashboard/Task/{TaskRecurrenceService.ts → TaskRecurrence.service.ts} +5 -8
  34. package/lib/services/dashboard/Task/{TaskSortService.d.ts → TaskSort.service.d.ts} +2 -42
  35. package/lib/services/dashboard/Task/TaskSort.service.d.ts.map +1 -0
  36. package/lib/services/dashboard/Task/{TaskSortService.js → TaskSort.service.js} +12 -12
  37. package/lib/services/dashboard/Task/TaskSort.service.js.map +1 -0
  38. package/lib/services/dashboard/Task/{TaskSortService.ts → TaskSort.service.ts} +11 -11
  39. package/lib/services/workout/EquipmentType/{WorkoutEquipmentTypeService.d.ts → WorkoutEquipmentType.service.d.ts} +1 -1
  40. package/lib/services/workout/EquipmentType/WorkoutEquipmentType.service.d.ts.map +1 -0
  41. package/lib/services/workout/EquipmentType/{WorkoutEquipmentTypeService.js → WorkoutEquipmentType.service.js} +1 -1
  42. package/lib/services/workout/EquipmentType/WorkoutEquipmentType.service.js.map +1 -0
  43. package/lib/services/workout/Exercise/WorkoutExercise.service.d.ts +52 -0
  44. package/lib/services/workout/Exercise/WorkoutExercise.service.d.ts.map +1 -0
  45. package/lib/services/workout/Exercise/{WorkoutExerciseService.js → WorkoutExercise.service.js} +18 -18
  46. package/lib/services/workout/Exercise/WorkoutExercise.service.js.map +1 -0
  47. package/lib/services/workout/Exercise/{WorkoutExerciseService.ts → WorkoutExercise.service.ts} +17 -17
  48. package/lib/services/workout/ExerciseCalibration/{WorkoutExerciseCalibrationService.d.ts → WorkoutExerciseCalibration.service.d.ts} +2 -12
  49. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibration.service.d.ts.map +1 -0
  50. package/lib/services/workout/ExerciseCalibration/{WorkoutExerciseCalibrationService.js → WorkoutExerciseCalibration.service.js} +10 -7
  51. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibration.service.js.map +1 -0
  52. package/lib/services/workout/ExerciseCalibration/{WorkoutExerciseCalibrationService.ts → WorkoutExerciseCalibration.service.ts} +10 -7
  53. package/lib/services/workout/Mesocycle/{WorkoutMesocycleService.d.ts → WorkoutMesocycle.service.d.ts} +3 -41
  54. package/lib/services/workout/Mesocycle/WorkoutMesocycle.service.d.ts.map +1 -0
  55. package/lib/services/workout/Mesocycle/{WorkoutMesocycleService.js → WorkoutMesocycle.service.js} +21 -21
  56. package/lib/services/workout/Mesocycle/WorkoutMesocycle.service.js.map +1 -0
  57. package/lib/services/workout/Mesocycle/{WorkoutMesocycleService.ts → WorkoutMesocycle.service.ts} +21 -21
  58. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.d.ts +1 -10
  59. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.d.ts.map +1 -1
  60. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.js +3 -3
  61. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.js.map +1 -1
  62. package/lib/services/workout/Mesocycle/WorkoutMesocyclePlanContext.ts +3 -3
  63. package/lib/services/workout/Microcycle/{WorkoutMicrocycleService.d.ts → WorkoutMicrocycle.service.d.ts} +1 -1
  64. package/lib/services/workout/Microcycle/WorkoutMicrocycle.service.d.ts.map +1 -0
  65. package/lib/services/workout/Microcycle/{WorkoutMicrocycleService.js → WorkoutMicrocycle.service.js} +4 -4
  66. package/lib/services/workout/Microcycle/WorkoutMicrocycle.service.js.map +1 -0
  67. package/lib/services/workout/Microcycle/{WorkoutMicrocycleService.ts → WorkoutMicrocycle.service.ts} +3 -3
  68. package/lib/services/workout/Session/{WorkoutSessionService.d.ts → WorkoutSession.service.d.ts} +2 -6
  69. package/lib/services/workout/Session/WorkoutSession.service.d.ts.map +1 -0
  70. package/lib/services/workout/Session/{WorkoutSessionService.js → WorkoutSession.service.js} +5 -5
  71. package/lib/services/workout/Session/WorkoutSession.service.js.map +1 -0
  72. package/lib/services/workout/Session/{WorkoutSessionService.ts → WorkoutSession.service.ts} +4 -4
  73. package/lib/services/workout/SessionExercise/{WorkoutSessionExerciseService.d.ts → WorkoutSessionExercise.service.d.ts} +2 -8
  74. package/lib/services/workout/SessionExercise/WorkoutSessionExercise.service.d.ts.map +1 -0
  75. package/lib/services/workout/SessionExercise/{WorkoutSessionExerciseService.js → WorkoutSessionExercise.service.js} +5 -5
  76. package/lib/services/workout/SessionExercise/WorkoutSessionExercise.service.js.map +1 -0
  77. package/lib/services/workout/SessionExercise/{WorkoutSessionExerciseService.ts → WorkoutSessionExercise.service.ts} +4 -4
  78. package/lib/services/workout/Set/{WorkoutSetService.d.ts → WorkoutSet.service.d.ts} +2 -23
  79. package/lib/services/workout/Set/WorkoutSet.service.d.ts.map +1 -0
  80. package/lib/services/workout/Set/{WorkoutSetService.js → WorkoutSet.service.js} +7 -7
  81. package/lib/services/workout/Set/WorkoutSet.service.js.map +1 -0
  82. package/lib/services/workout/Set/{WorkoutSetService.ts → WorkoutSet.service.ts} +6 -6
  83. package/lib/services/workout/util/SFR/{WorkoutSFRService.d.ts → WorkoutSFR.service.d.ts} +1 -1
  84. package/lib/services/workout/util/SFR/WorkoutSFR.service.d.ts.map +1 -0
  85. package/lib/services/workout/util/SFR/{WorkoutSFRService.js → WorkoutSFR.service.js} +1 -1
  86. package/lib/services/workout/util/SFR/WorkoutSFR.service.js.map +1 -0
  87. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanning.service.d.ts +53 -0
  88. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanning.service.d.ts.map +1 -0
  89. package/lib/services/workout/util/VolumePlanning/{WorkoutVolumePlanningService.js → WorkoutVolumePlanning.service.js} +53 -53
  90. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanning.service.js.map +1 -0
  91. package/lib/services/workout/util/VolumePlanning/{WorkoutVolumePlanningService.ts → WorkoutVolumePlanning.service.ts} +52 -52
  92. package/package.json +4 -4
  93. package/lib/services/DocumentService.d.ts.map +0 -1
  94. package/lib/services/DocumentService.js.map +0 -1
  95. package/lib/services/dashboard/Task/TaskFilterService.d.ts.map +0 -1
  96. package/lib/services/dashboard/Task/TaskFilterService.js.map +0 -1
  97. package/lib/services/dashboard/Task/TaskRecurrenceService.d.ts.map +0 -1
  98. package/lib/services/dashboard/Task/TaskRecurrenceService.js.map +0 -1
  99. package/lib/services/dashboard/Task/TaskService.d.ts.map +0 -1
  100. package/lib/services/dashboard/Task/TaskService.js.map +0 -1
  101. package/lib/services/dashboard/Task/TaskSortService.d.ts.map +0 -1
  102. package/lib/services/dashboard/Task/TaskSortService.js.map +0 -1
  103. package/lib/services/workout/EquipmentType/WorkoutEquipmentTypeService.d.ts.map +0 -1
  104. package/lib/services/workout/EquipmentType/WorkoutEquipmentTypeService.js.map +0 -1
  105. package/lib/services/workout/Exercise/WorkoutExerciseService.d.ts +0 -99
  106. package/lib/services/workout/Exercise/WorkoutExerciseService.d.ts.map +0 -1
  107. package/lib/services/workout/Exercise/WorkoutExerciseService.js.map +0 -1
  108. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.d.ts.map +0 -1
  109. package/lib/services/workout/ExerciseCalibration/WorkoutExerciseCalibrationService.js.map +0 -1
  110. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.d.ts.map +0 -1
  111. package/lib/services/workout/Mesocycle/WorkoutMesocycleService.js.map +0 -1
  112. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.d.ts.map +0 -1
  113. package/lib/services/workout/Microcycle/WorkoutMicrocycleService.js.map +0 -1
  114. package/lib/services/workout/Session/WorkoutSessionService.d.ts.map +0 -1
  115. package/lib/services/workout/Session/WorkoutSessionService.js.map +0 -1
  116. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.d.ts.map +0 -1
  117. package/lib/services/workout/SessionExercise/WorkoutSessionExerciseService.js.map +0 -1
  118. package/lib/services/workout/Set/WorkoutSetService.d.ts.map +0 -1
  119. package/lib/services/workout/Set/WorkoutSetService.js.map +0 -1
  120. package/lib/services/workout/util/SFR/WorkoutSFRService.d.ts.map +0 -1
  121. package/lib/services/workout/util/SFR/WorkoutSFRService.js.map +0 -1
  122. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.d.ts +0 -198
  123. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.d.ts.map +0 -1
  124. package/lib/services/workout/util/VolumePlanning/WorkoutVolumePlanningService.js.map +0 -1
  125. /package/lib/services/{DocumentService.ts → Document.service.ts} +0 -0
  126. /package/lib/services/dashboard/Task/{TaskFilterService.ts → TaskFilter.service.ts} +0 -0
  127. /package/lib/services/workout/EquipmentType/{WorkoutEquipmentTypeService.ts → WorkoutEquipmentType.service.ts} +0 -0
  128. /package/lib/services/workout/util/SFR/{WorkoutSFRService.ts → WorkoutSFR.service.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { DateService } from '@aneuhold/core-ts-lib';
2
2
  import { ExerciseRepRange } from '../../../documents/workout/WorkoutExercise.js';
3
- import WorkoutExerciseService from '../Exercise/WorkoutExerciseService.js';
4
- import WorkoutSessionService from '../Session/WorkoutSessionService.js';
5
- import WorkoutVolumePlanningService from '../util/VolumePlanning/WorkoutVolumePlanningService.js';
3
+ import WorkoutExerciseService from '../Exercise/WorkoutExercise.service.js';
4
+ import WorkoutSessionService from '../Session/WorkoutSession.service.js';
5
+ import WorkoutVolumePlanningService from '../util/VolumePlanning/WorkoutVolumePlanning.service.js';
6
6
  /**
7
7
  * A service for handling operations related to {@link WorkoutMicrocycle}s.
8
8
  */
@@ -164,4 +164,4 @@ export default class WorkoutMicrocycleService {
164
164
  return sessions;
165
165
  }
166
166
  }
167
- //# sourceMappingURL=WorkoutMicrocycleService.js.map
167
+ //# sourceMappingURL=WorkoutMicrocycle.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutMicrocycle.service.js","sourceRoot":"","sources":["../../../../src/services/workout/Microcycle/WorkoutMicrocycle.service.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,10 @@ import { DateService } from '@aneuhold/core-ts-lib';
2
2
  import type { UUID } from 'crypto';
3
3
  import type { WorkoutExerciseCTO } from '../../../ctos/workout/WorkoutExerciseCTO.js';
4
4
  import { ExerciseRepRange } from '../../../documents/workout/WorkoutExercise.js';
5
- import WorkoutExerciseService from '../Exercise/WorkoutExerciseService.js';
5
+ import WorkoutExerciseService from '../Exercise/WorkoutExercise.service.js';
6
6
  import type WorkoutMesocyclePlanContext from '../Mesocycle/WorkoutMesocyclePlanContext.js';
7
- import WorkoutSessionService from '../Session/WorkoutSessionService.js';
8
- import WorkoutVolumePlanningService from '../util/VolumePlanning/WorkoutVolumePlanningService.js';
7
+ import WorkoutSessionService from '../Session/WorkoutSession.service.js';
8
+ import WorkoutVolumePlanningService from '../util/VolumePlanning/WorkoutVolumePlanning.service.js';
9
9
 
10
10
  /**
11
11
  * A service for handling operations related to {@link WorkoutMicrocycle}s.
@@ -29,6 +29,7 @@ export declare enum WorkoutSessionLockReason {
29
29
  * - {@link WorkoutSFRService} - Underlying calculations for RSM/Fatigue
30
30
  */
31
31
  export default class WorkoutSessionService {
32
+ #private;
32
33
  /**
33
34
  * Calculates the total Raw Stimulus Magnitude for a session.
34
35
  */
@@ -90,10 +91,5 @@ export default class WorkoutSessionService {
90
91
  recoveryExerciseIds: Set<UUID>;
91
92
  };
92
93
  }): void;
93
- /**
94
- * Returns true if any set in the session has actualReps != null.
95
- * Traverses session -> sessionExercises -> sets via order arrays and map lookups.
96
- */
97
- private static sessionHasLoggedSets;
98
94
  }
99
- //# sourceMappingURL=WorkoutSessionService.d.ts.map
95
+ //# sourceMappingURL=WorkoutSession.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSession.service.d.ts","sourceRoot":"","sources":["../../../../src/services/workout/Session/WorkoutSession.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AACvF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AAEnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAC3E,OAAO,KAAK,2BAA2B,MAAM,6CAA6C,CAAC;AAI3F;;GAEG;AACH,oBAAY,wBAAwB;IAClC,mBAAmB,wBAAwB;IAC3C,8BAA8B,mCAAmC;IACjE,2BAA2B,gCAAgC;CAC5D;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;;IACxC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IAI1D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IAI9D;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI;IAIrD;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,oBAAoB,CACzB,UAAU,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAChD,SAAS,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,EAC9C,kBAAkB,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACxD,2BAA2B,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GAC7D,wBAAwB,GAAG,IAAI;IAalC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,wBAAwB,CAC7B,QAAQ,EAAE,cAAc,EAAE,EAC1B,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,sBAAsB,CAAC,EACrD,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,GAC5B;QAAE,iBAAiB,EAAE,cAAc,GAAG,IAAI,CAAC;QAAC,aAAa,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE;IAkBrF;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,EACrB,OAAO,EACP,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,kBAAkB,EAClB,OAAO,EACR,EAAE;QACD,OAAO,EAAE,2BAA2B,CAAC;QACrC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,IAAI,CAAC;QACvB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;QAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,kBAAkB,EAAE,OAAO,CAAC;QAC5B,OAAO,EAAE;YAAE,oBAAoB,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;SAAE,CAAC;KACtF,GAAG,IAAI;CA2ET"}
@@ -1,7 +1,7 @@
1
1
  import { WorkoutSessionSchema } from '../../../documents/workout/WorkoutSession.js';
2
2
  import { WorkoutSessionExerciseSchema } from '../../../documents/workout/WorkoutSessionExercise.js';
3
- import WorkoutSetService from '../Set/WorkoutSetService.js';
4
- import WorkoutSFRService from '../util/SFR/WorkoutSFRService.js';
3
+ import WorkoutSetService from '../Set/WorkoutSet.service.js';
4
+ import WorkoutSFRService from '../util/SFR/WorkoutSFR.service.js';
5
5
  /**
6
6
  * Describes why a session is locked and cannot be interacted with.
7
7
  */
@@ -93,7 +93,7 @@ export default class WorkoutSessionService {
93
93
  for (const session of sessions) {
94
94
  if (session.complete)
95
95
  continue;
96
- if (this.sessionHasLoggedSets(session, sessionExerciseMap, setMap)) {
96
+ if (this.#sessionHasLoggedSets(session, sessionExerciseMap, setMap)) {
97
97
  if (!inProgressSession)
98
98
  inProgressSession = session;
99
99
  }
@@ -157,7 +157,7 @@ export default class WorkoutSessionService {
157
157
  * Returns true if any set in the session has actualReps != null.
158
158
  * Traverses session -> sessionExercises -> sets via order arrays and map lookups.
159
159
  */
160
- static sessionHasLoggedSets(session, sessionExerciseMap, setMap) {
160
+ static #sessionHasLoggedSets(session, sessionExerciseMap, setMap) {
161
161
  for (const seId of session.sessionExerciseOrder) {
162
162
  const se = sessionExerciseMap.get(seId);
163
163
  if (!se)
@@ -171,4 +171,4 @@ export default class WorkoutSessionService {
171
171
  return false;
172
172
  }
173
173
  }
174
- //# sourceMappingURL=WorkoutSessionService.js.map
174
+ //# sourceMappingURL=WorkoutSession.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSession.service.js","sourceRoot":"","sources":["../../../../src/services/workout/Session/WorkoutSession.service.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,8 @@ import type { WorkoutSessionExercise } from '../../../documents/workout/WorkoutS
8
8
  import { WorkoutSessionExerciseSchema } from '../../../documents/workout/WorkoutSessionExercise.js';
9
9
  import type { WorkoutSet } from '../../../documents/workout/WorkoutSet.js';
10
10
  import type WorkoutMesocyclePlanContext from '../Mesocycle/WorkoutMesocyclePlanContext.js';
11
- import WorkoutSetService from '../Set/WorkoutSetService.js';
12
- import WorkoutSFRService from '../util/SFR/WorkoutSFRService.js';
11
+ import WorkoutSetService from '../Set/WorkoutSet.service.js';
12
+ import WorkoutSFRService from '../util/SFR/WorkoutSFR.service.js';
13
13
 
14
14
  /**
15
15
  * Describes why a session is locked and cannot be interacted with.
@@ -113,7 +113,7 @@ export default class WorkoutSessionService {
113
113
  for (const session of sessions) {
114
114
  if (session.complete) continue;
115
115
 
116
- if (this.sessionHasLoggedSets(session, sessionExerciseMap, setMap)) {
116
+ if (this.#sessionHasLoggedSets(session, sessionExerciseMap, setMap)) {
117
117
  if (!inProgressSession) inProgressSession = session;
118
118
  } else {
119
119
  if (!nextUpSession) nextUpSession = session;
@@ -205,7 +205,7 @@ export default class WorkoutSessionService {
205
205
  * Returns true if any set in the session has actualReps != null.
206
206
  * Traverses session -> sessionExercises -> sets via order arrays and map lookups.
207
207
  */
208
- private static sessionHasLoggedSets(
208
+ static #sessionHasLoggedSets(
209
209
  session: WorkoutSession,
210
210
  sessionExerciseMap: Map<UUID, WorkoutSessionExercise>,
211
211
  setMap: Map<UUID, WorkoutSet>
@@ -4,6 +4,7 @@ import type { WorkoutSet } from '../../../documents/workout/WorkoutSet.js';
4
4
  * A service for handling operations related to {@link WorkoutSessionExercise}s.
5
5
  */
6
6
  export default class WorkoutSessionExerciseService {
7
+ #private;
7
8
  /**
8
9
  * Calculates the total Raw Stimulus Magnitude for a specific exercise within a session.
9
10
  *
@@ -83,12 +84,5 @@ export default class WorkoutSessionExerciseService {
83
84
  * and sorenessScore. Deload exercises are always considered filled.
84
85
  */
85
86
  static hasAllSessionMetricsFilled(sessionExercise: WorkoutSessionExercise, exerciseSets: WorkoutSet[]): boolean;
86
- /**
87
- * Calculates the surplus for a single set: how much the user exceeded or
88
- * fell short of the plan. Positive means exceeded, negative means fell short.
89
- *
90
- * Formula: `(actualReps - plannedReps) + (rir - plannedRir)`
91
- */
92
- private static calculateSetSurplus;
93
87
  }
94
- //# sourceMappingURL=WorkoutSessionExerciseService.d.ts.map
88
+ //# sourceMappingURL=WorkoutSessionExercise.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSessionExercise.service.d.ts","sourceRoot":"","sources":["../../../../src/services/workout/SessionExercise/WorkoutSessionExercise.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAG3E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,6BAA6B;;IAChD;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,eAAe,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI;IAI1E;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,eAAe,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI;IAI9E;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,GAAG,MAAM,GAAG,IAAI;IAIrE;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,IAAI;IA0C7D;;;;;;;;OAQG;IACH,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,MAAM,GAAG,IAAI;IAwBjE;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,oCAAoC,CACzC,sBAAsB,EAAE,sBAAsB,GAC7C,MAAM,GAAG,IAAI;IAsBhB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,OAAO;IAI5D;;;;;OAKG;IACH,MAAM,CAAC,0BAA0B,CAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,EAAE,UAAU,EAAE,GACzB,OAAO;IAUV;;;;OAIG;IACH,MAAM,CAAC,0BAA0B,CAC/B,eAAe,EAAE,sBAAsB,EACvC,YAAY,EAAE,UAAU,EAAE,GACzB,OAAO;CA2BX"}
@@ -1,4 +1,4 @@
1
- import WorkoutSFRService from '../util/SFR/WorkoutSFRService.js';
1
+ import WorkoutSFRService from '../util/SFR/WorkoutSFR.service.js';
2
2
  /**
3
3
  * A service for handling operations related to {@link WorkoutSessionExercise}s.
4
4
  */
@@ -53,7 +53,7 @@ export default class WorkoutSessionExerciseService {
53
53
  setScores.push(3);
54
54
  continue;
55
55
  }
56
- const surplus = this.calculateSetSurplus(set.actualReps, set.plannedReps, set.rir, set.plannedRir);
56
+ const surplus = this.#calculateSetSurplus(set.actualReps, set.plannedReps, set.rir, set.plannedRir);
57
57
  if (surplus >= 2) {
58
58
  setScores.push(0);
59
59
  }
@@ -89,7 +89,7 @@ export default class WorkoutSessionExerciseService {
89
89
  set.plannedRir == null) {
90
90
  continue;
91
91
  }
92
- totalSurplus += this.calculateSetSurplus(set.actualReps, set.plannedReps, set.rir, set.plannedRir);
92
+ totalSurplus += this.#calculateSetSurplus(set.actualReps, set.plannedReps, set.rir, set.plannedRir);
93
93
  completedCount++;
94
94
  }
95
95
  if (completedCount === 0)
@@ -176,8 +176,8 @@ export default class WorkoutSessionExerciseService {
176
176
  *
177
177
  * Formula: `(actualReps - plannedReps) + (rir - plannedRir)`
178
178
  */
179
- static calculateSetSurplus(actualReps, plannedReps, rir, plannedRir) {
179
+ static #calculateSetSurplus(actualReps, plannedReps, rir, plannedRir) {
180
180
  return actualReps - plannedReps + (rir - plannedRir);
181
181
  }
182
182
  }
183
- //# sourceMappingURL=WorkoutSessionExerciseService.js.map
183
+ //# sourceMappingURL=WorkoutSessionExercise.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSessionExercise.service.js","sourceRoot":"","sources":["../../../../src/services/workout/SessionExercise/WorkoutSessionExercise.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { WorkoutSessionExercise } from '../../../documents/workout/WorkoutSessionExercise.js';
2
2
  import type { WorkoutSet } from '../../../documents/workout/WorkoutSet.js';
3
- import WorkoutSFRService from '../util/SFR/WorkoutSFRService.js';
3
+ import WorkoutSFRService from '../util/SFR/WorkoutSFR.service.js';
4
4
 
5
5
  /**
6
6
  * A service for handling operations related to {@link WorkoutSessionExercise}s.
@@ -64,7 +64,7 @@ export default class WorkoutSessionExerciseService {
64
64
  continue;
65
65
  }
66
66
 
67
- const surplus = this.calculateSetSurplus(
67
+ const surplus = this.#calculateSetSurplus(
68
68
  set.actualReps,
69
69
  set.plannedReps,
70
70
  set.rir,
@@ -109,7 +109,7 @@ export default class WorkoutSessionExerciseService {
109
109
  ) {
110
110
  continue;
111
111
  }
112
- totalSurplus += this.calculateSetSurplus(
112
+ totalSurplus += this.#calculateSetSurplus(
113
113
  set.actualReps,
114
114
  set.plannedReps,
115
115
  set.rir,
@@ -217,7 +217,7 @@ export default class WorkoutSessionExerciseService {
217
217
  *
218
218
  * Formula: `(actualReps - plannedReps) + (rir - plannedRir)`
219
219
  */
220
- private static calculateSetSurplus(
220
+ static #calculateSetSurplus(
221
221
  actualReps: number,
222
222
  plannedReps: number,
223
223
  rir: number,
@@ -4,6 +4,7 @@ import type { WorkoutSessionExercise } from '../../../documents/workout/WorkoutS
4
4
  import { type WorkoutSet } from '../../../documents/workout/WorkoutSet.js';
5
5
  import type WorkoutMesocyclePlanContext from '../Mesocycle/WorkoutMesocyclePlanContext.js';
6
6
  export default class WorkoutSetService {
7
+ #private;
7
8
  /**
8
9
  * Generates a list of workout sets for a given session exercise based on progression logic.
9
10
  *
@@ -30,27 +31,5 @@ export default class WorkoutSetService {
30
31
  * and either rir is recorded or no plannedRir was expected (deload sets).
31
32
  */
32
33
  static isCompleted(set: WorkoutSet): boolean;
33
- /**
34
- * Finds all sets from the previous microcycle's session exercise to use for autoregulation.
35
- * Returns all sets in order so surplus can be averaged across the full exercise performance.
36
- *
37
- * Uses the mesocycle's fixed exercise-to-session mapping to go directly to the
38
- * correct session and exercise position rather than iterating all sessions.
39
- *
40
- * Returns an empty array if the previous microcycle doesn't exist or has no sessions
41
- * (the context may not have full history). Throws if the structure is present but
42
- * inconsistent with the mesocycle plan.
43
- *
44
- * @throws {Error} If the session/exercise structure doesn't match the plan.
45
- */
46
- private static findPreviousSets;
47
- /**
48
- * Generates the planned reps and weight for a specific set within a session exercise, only
49
- * taking into account simple -2 reps drop per set logic, and deload modifications.
50
- *
51
- * This needs to be checked with the source material to see if it needs to be adjusted based
52
- * on actual reps performed in previous sets.
53
- */
54
- private static generateSetRepsAndWeight;
55
34
  }
56
- //# sourceMappingURL=WorkoutSetService.d.ts.map
35
+ //# sourceMappingURL=WorkoutSet.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSet.service.d.ts","sourceRoot":"","sources":["../../../../src/services/workout/Set/WorkoutSet.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACnF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sDAAsD,CAAC;AACnG,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,0CAA0C,CAAC;AAG7F,OAAO,KAAK,2BAA2B,MAAM,6CAA6C,CAAC;AAE3F,MAAM,CAAC,OAAO,OAAO,iBAAiB;;IACpC;;;;;;;;OAQG;IACH,MAAM,CAAC,8BAA8B,CAAC,EACpC,OAAO,EACP,WAAW,EACX,OAAO,EACP,eAAe,EACf,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,kBAAkB,EACnB,EAAE;QACD,OAAO,EAAE,2BAA2B,CAAC;QACrC,WAAW,EAAE,kBAAkB,CAAC;QAChC,OAAO,EAAE,cAAc,CAAC;QACxB,eAAe,EAAE,sBAAsB,CAAC;QACxC,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,kBAAkB,EAAE,OAAO,CAAC;KAC7B,GAAG,IAAI;IA6DR;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;CA0J7C"}
@@ -1,6 +1,6 @@
1
1
  import { WorkoutSetSchema } from '../../../documents/workout/WorkoutSet.js';
2
- import WorkoutEquipmentTypeService from '../EquipmentType/WorkoutEquipmentTypeService.js';
3
- import WorkoutExerciseService from '../Exercise/WorkoutExerciseService.js';
2
+ import WorkoutEquipmentTypeService from '../EquipmentType/WorkoutEquipmentType.service.js';
3
+ import WorkoutExerciseService from '../Exercise/WorkoutExercise.service.js';
4
4
  export default class WorkoutSetService {
5
5
  /**
6
6
  * Generates a list of workout sets for a given session exercise based on progression logic.
@@ -21,7 +21,7 @@ export default class WorkoutSetService {
21
21
  // data. For subsequent microcycles, look up all previous sets from the context.
22
22
  const previousSets = microcycleIndex === 0
23
23
  ? exerciseCTO.lastAccumulationSessionSets
24
- : this.findPreviousSets(context, exerciseCTO._id, microcycleIndex);
24
+ : this.#findPreviousSets(context, exerciseCTO._id, microcycleIndex);
25
25
  // Calculate progressed targets for the first set.
26
26
  // Autoregulation/forecasting handles progression from the previous sets' data.
27
27
  // Surplus is averaged across all sets for a holistic performance signal.
@@ -34,7 +34,7 @@ export default class WorkoutSetService {
34
34
  previousSets
35
35
  });
36
36
  for (let setIndex = 0; setIndex < setCount; setIndex++) {
37
- const { plannedReps, plannedWeight } = this.generateSetRepsAndWeight(sets[setIndex - 1]?.plannedReps || firstSetReps, sets[setIndex - 1]?.plannedWeight || firstSetWeight, setIndex, exerciseCTO.repRange, equipmentType, {
37
+ const { plannedReps, plannedWeight } = this.#generateSetRepsAndWeight(sets[setIndex - 1]?.plannedReps || firstSetReps, sets[setIndex - 1]?.plannedWeight || firstSetWeight, setIndex, exerciseCTO.repRange, equipmentType, {
38
38
  isDeloadMicrocycle,
39
39
  sessionIndex,
40
40
  plannedSessionCountPerMicrocycle: context.mesocycle.plannedSessionCountPerMicrocycle
@@ -76,7 +76,7 @@ export default class WorkoutSetService {
76
76
  *
77
77
  * @throws {Error} If the session/exercise structure doesn't match the plan.
78
78
  */
79
- static findPreviousSets(context, exerciseId, microcycleIndex) {
79
+ static #findPreviousSets(context, exerciseId, microcycleIndex) {
80
80
  if (microcycleIndex <= 0) {
81
81
  return [];
82
82
  }
@@ -137,7 +137,7 @@ export default class WorkoutSetService {
137
137
  * This needs to be checked with the source material to see if it needs to be adjusted based
138
138
  * on actual reps performed in previous sets.
139
139
  */
140
- static generateSetRepsAndWeight(firstSetOrPreviousSetReps, firstSetOrPreviousSetWeight, setIndex, repRange, equipment, deloadInfo) {
140
+ static #generateSetRepsAndWeight(firstSetOrPreviousSetReps, firstSetOrPreviousSetWeight, setIndex, repRange, equipment, deloadInfo) {
141
141
  const repRangeValues = WorkoutExerciseService.getRepRangeValues(repRange);
142
142
  let currentReps = firstSetOrPreviousSetReps;
143
143
  let currentWeight = firstSetOrPreviousSetWeight;
@@ -173,4 +173,4 @@ export default class WorkoutSetService {
173
173
  return { plannedReps: currentReps, plannedWeight: currentWeight };
174
174
  }
175
175
  }
176
- //# sourceMappingURL=WorkoutSetService.js.map
176
+ //# sourceMappingURL=WorkoutSet.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSet.service.js","sourceRoot":"","sources":["../../../../src/services/workout/Set/WorkoutSet.service.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ import type { ExerciseRepRange } from '../../../documents/workout/WorkoutExercis
5
5
  import type { WorkoutSession } from '../../../documents/workout/WorkoutSession.js';
6
6
  import type { WorkoutSessionExercise } from '../../../documents/workout/WorkoutSessionExercise.js';
7
7
  import { WorkoutSetSchema, type WorkoutSet } from '../../../documents/workout/WorkoutSet.js';
8
- import WorkoutEquipmentTypeService from '../EquipmentType/WorkoutEquipmentTypeService.js';
9
- import WorkoutExerciseService from '../Exercise/WorkoutExerciseService.js';
8
+ import WorkoutEquipmentTypeService from '../EquipmentType/WorkoutEquipmentType.service.js';
9
+ import WorkoutExerciseService from '../Exercise/WorkoutExercise.service.js';
10
10
  import type WorkoutMesocyclePlanContext from '../Mesocycle/WorkoutMesocyclePlanContext.js';
11
11
 
12
12
  export default class WorkoutSetService {
@@ -54,7 +54,7 @@ export default class WorkoutSetService {
54
54
  const previousSets =
55
55
  microcycleIndex === 0
56
56
  ? exerciseCTO.lastAccumulationSessionSets
57
- : this.findPreviousSets(context, exerciseCTO._id, microcycleIndex);
57
+ : this.#findPreviousSets(context, exerciseCTO._id, microcycleIndex);
58
58
 
59
59
  // Calculate progressed targets for the first set.
60
60
  // Autoregulation/forecasting handles progression from the previous sets' data.
@@ -70,7 +70,7 @@ export default class WorkoutSetService {
70
70
  });
71
71
 
72
72
  for (let setIndex = 0; setIndex < setCount; setIndex++) {
73
- const { plannedReps, plannedWeight } = this.generateSetRepsAndWeight(
73
+ const { plannedReps, plannedWeight } = this.#generateSetRepsAndWeight(
74
74
  sets[setIndex - 1]?.plannedReps || firstSetReps,
75
75
  sets[setIndex - 1]?.plannedWeight || firstSetWeight,
76
76
  setIndex,
@@ -126,7 +126,7 @@ export default class WorkoutSetService {
126
126
  *
127
127
  * @throws {Error} If the session/exercise structure doesn't match the plan.
128
128
  */
129
- private static findPreviousSets(
129
+ static #findPreviousSets(
130
130
  context: WorkoutMesocyclePlanContext,
131
131
  exerciseId: UUID,
132
132
  microcycleIndex: number
@@ -204,7 +204,7 @@ export default class WorkoutSetService {
204
204
  * This needs to be checked with the source material to see if it needs to be adjusted based
205
205
  * on actual reps performed in previous sets.
206
206
  */
207
- private static generateSetRepsAndWeight(
207
+ static #generateSetRepsAndWeight(
208
208
  firstSetOrPreviousSetReps: number,
209
209
  firstSetOrPreviousSetWeight: number,
210
210
  setIndex: number,
@@ -26,4 +26,4 @@ export default class WorkoutSFRService {
26
26
  */
27
27
  static getSFR(rsm: RSM | null | undefined, fatigue: Fatigue | null | undefined): number | null;
28
28
  }
29
- //# sourceMappingURL=WorkoutSFRService.d.ts.map
29
+ //# sourceMappingURL=WorkoutSFR.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSFR.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/workout/util/SFR/WorkoutSFR.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+CAA+C,CAAC;AAC7E,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,2CAA2C,CAAC;AAErE;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;IAO9D;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;IAc1E;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI;CAc/F"}
@@ -47,4 +47,4 @@ export default class WorkoutSFRService {
47
47
  return rsmTotal / fatigueTotal;
48
48
  }
49
49
  }
50
- //# sourceMappingURL=WorkoutSFRService.js.map
50
+ //# sourceMappingURL=WorkoutSFR.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutSFR.service.js","sourceRoot":"","sources":["../../../../../src/services/workout/util/SFR/WorkoutSFR.service.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IACpC;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAA2B;QAC5C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,oBAAoB,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC3F,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,GAAG,CAAC,oBAAoB,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,OAAmC;QACxD,IACE,CAAC,OAAO;YACR,OAAO,CAAC,wBAAwB,IAAI,IAAI;YACxC,OAAO,CAAC,eAAe,IAAI,IAAI;YAC/B,OAAO,CAAC,uBAAuB,IAAI,IAAI,EACvC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CACL,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,eAAe,GAAG,OAAO,CAAC,uBAAuB,CAC7F,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,GAA2B,EAAE,OAAmC;QAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAEnD,IAAI,QAAQ,KAAK,IAAI,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,QAAQ,GAAG,YAAY,CAAC;IACjC,CAAC;CACF"}
@@ -0,0 +1,53 @@
1
+ import type { UUID } from 'crypto';
2
+ import type { WorkoutMuscleGroupVolumeCTO, WorkoutVolumeLandmarkEstimate } from '../../../../ctos/workout/WorkoutMuscleGroupVolumeCTO.js';
3
+ import type WorkoutMesocyclePlanContext from '../../Mesocycle/WorkoutMesocyclePlanContext.js';
4
+ /**
5
+ * A service for handling volume planning operations across microcycles.
6
+ *
7
+ * RESPONSIBILITIES:
8
+ * - Calculate set counts for exercises across a microcycle
9
+ * - Apply progressive overload rules (baseline + historical adjustments)
10
+ * - Handle recovery exercise identification
11
+ * - Enforce volume limits (per exercise, per muscle group per session)
12
+ *
13
+ * RELATED SERVICES:
14
+ * - {@link WorkoutMicrocycleService} - Calls this to get set plans before generating sessions
15
+ * - {@link WorkoutSessionService} - Uses the output to generate actual sessions
16
+ * - {@link WorkoutSessionExerciseService} - Used to calculate SFR and recovery recommendations
17
+ */
18
+ export default class WorkoutVolumePlanningService {
19
+ #private;
20
+ /**
21
+ * Controls the volume *progression rate* across accumulation microcycles.
22
+ *
23
+ * Both modes start at estimated MEV when historical volume data exists
24
+ * (falling back to 2 sets per exercise when no history is available).
25
+ *
26
+ * When `false` (default): legacy progression — adds 1 set per muscle group
27
+ * every `progressionInterval` microcycles from the MEV starting point.
28
+ *
29
+ * When `true`: MEV-to-MRV interpolation — linearly distributes sets from
30
+ * estimated MEV to estimated MRV across all accumulation microcycles.
31
+ *
32
+ * This flag exists to allow toggling between the two progression algorithms
33
+ * while the MEV-to-MRV approach is validated in practice. Once confidence is
34
+ * established, the flag and legacy path should be removed.
35
+ */
36
+ static USE_VOLUME_LANDMARK_PROGRESSION: boolean;
37
+ /**
38
+ * Calculates the set plan for an entire microcycle.
39
+ */
40
+ static calculateSetPlanForMicrocycle(context: WorkoutMesocyclePlanContext, microcycleIndex: number, isDeloadMicrocycle: boolean): {
41
+ exerciseIdToSetCount: Map<UUID, number>;
42
+ recoveryExerciseIds: Set<UUID>;
43
+ };
44
+ /**
45
+ * Estimates MEV, MRV, and MAV for a muscle group based on historical data
46
+ * across completed mesocycles.
47
+ *
48
+ * @param volumeCTO The WorkoutMuscleGroupVolumeCTO containing mesocycle
49
+ * history for this muscle group.
50
+ */
51
+ static estimateVolumeLandmarks(volumeCTO: WorkoutMuscleGroupVolumeCTO): WorkoutVolumeLandmarkEstimate;
52
+ }
53
+ //# sourceMappingURL=WorkoutVolumePlanning.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkoutVolumePlanning.service.d.ts","sourceRoot":"","sources":["../../../../../src/services/workout/util/VolumePlanning/WorkoutVolumePlanning.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,KAAK,EACV,2BAA2B,EAC3B,6BAA6B,EAC9B,MAAM,yDAAyD,CAAC;AAEjE,OAAO,KAAK,2BAA2B,MAAM,gDAAgD,CAAC;AAW9F;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,OAAO,4BAA4B;;IAC/C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,+BAA+B,UAAS;IA0B/C;;OAEG;IACH,MAAM,CAAC,6BAA6B,CAClC,OAAO,EAAE,2BAA2B,EACpC,eAAe,EAAE,MAAM,EACvB,kBAAkB,EAAE,OAAO,GAC1B;QAAE,oBAAoB,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAAC,mBAAmB,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;KAAE;IA4B9E;;;;;;OAMG;IACH,MAAM,CAAC,uBAAuB,CAC5B,SAAS,EAAE,2BAA2B,GACrC,6BAA6B;CA8mBjC"}