hevy-shared 1.0.969 → 1.0.971
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.
- package/built/hevyTrainer.d.ts +6 -6
- package/built/hevyTrainer.js +2 -2
- package/built/index.d.ts +85 -6
- package/built/index.js +0 -1
- package/built/normalizedWorkoutUtils.d.ts +1 -0
- package/built/tests/hevyTrainer.test.js +1 -1
- package/package.json +2 -3
- package/built/schemas.d.ts +0 -14
- package/built/schemas.js +0 -9
package/built/hevyTrainer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WeeklyTrainingFrequency, TrainingGoal, TrainingLevel, SimplifiedMuscleGroup, MuscleGroup, LibraryExercise, ExerciseCategory, GranularEquipment, HevyTrainerProgramEquipment, RestTimerLength } from '.';
|
|
2
2
|
export type HevyTrainerExerciseCategory = typeof hevyTrainerExerciseCategories[number];
|
|
3
|
-
export type
|
|
3
|
+
export type TrainerWorkoutTemplateName = typeof workoutTemplateNames[number];
|
|
4
4
|
export declare const workoutDurationOptions: readonly [40, 60, 80];
|
|
5
5
|
export type WorkoutDurationMinutes = typeof workoutDurationOptions[number];
|
|
6
6
|
export declare const trainerGymTypes: readonly ["home_gym", "garage_gym", "commercial_gym", "full_gym"];
|
|
@@ -16,7 +16,7 @@ export declare const trainerEquipmentToGranularEquipments: (equipments: HevyTrai
|
|
|
16
16
|
export declare const granularEquipmentsToTrainerEquipments: (granularEquipments: GranularEquipment[]) => HevyTrainerProgramEquipment[];
|
|
17
17
|
export declare const hevyTrainerExerciseCategories: readonly ["compound", "isolation"];
|
|
18
18
|
export declare const defaultDurationPerFrequency: Record<WeeklyTrainingFrequency, WorkoutDurationMinutes>;
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const workoutTemplateNames: readonly ["full_body_1", "full_body_2_a", "full_body_2_b", "full_body_3_a", "full_body_3_b", "full_body_3_c", "upper_1_a", "lower_1_a", "upper_1_b", "lower_1_b", "push_1", "pull_1", "legs_1", "upper_2", "lower_2", "push_2_a", "pull_2_a", "legs_2_a", "push_2_b", "pull_2_b", "legs_2_b"];
|
|
20
20
|
export type exerciseId = string;
|
|
21
21
|
export interface ExerciseSelectionCriteria {
|
|
22
22
|
exerciseCategory: HevyTrainerExerciseCategory | 'all';
|
|
@@ -67,7 +67,7 @@ export interface ProgramGenerationParams<T extends HevyTrainerLibraryExercise> {
|
|
|
67
67
|
debugExerciseSelectionTrace?: boolean;
|
|
68
68
|
}
|
|
69
69
|
export interface ProgramExerciseSelectionTraceRecord {
|
|
70
|
-
routine:
|
|
70
|
+
routine: TrainerWorkoutTemplateName;
|
|
71
71
|
prescriptionIndex: number;
|
|
72
72
|
prescription: ExercisePrescription;
|
|
73
73
|
resolvedMuscleGroup: MuscleGroup;
|
|
@@ -80,7 +80,7 @@ export type TrainerProgramAttemptWithTraces = TrainerProgramAttempt & {
|
|
|
80
80
|
};
|
|
81
81
|
export type FrequencyString = 'one_day' | 'two_days' | 'three_days' | 'four_days' | 'five_days' | 'six_days';
|
|
82
82
|
export declare const frequencyMap: Record<WeeklyTrainingFrequency, FrequencyString>;
|
|
83
|
-
export declare const programSplits: Record<WeeklyTrainingFrequency,
|
|
83
|
+
export declare const programSplits: Record<WeeklyTrainingFrequency, TrainerWorkoutTemplateName[]>;
|
|
84
84
|
export type SetsPerGoal = {
|
|
85
85
|
[key in TrainingGoal]: number;
|
|
86
86
|
};
|
|
@@ -126,7 +126,7 @@ export interface WorkoutTemplate {
|
|
|
126
126
|
notes?: string;
|
|
127
127
|
}
|
|
128
128
|
export type Templates = {
|
|
129
|
-
[key in
|
|
129
|
+
[key in TrainerWorkoutTemplateName]: WorkoutTemplate;
|
|
130
130
|
};
|
|
131
131
|
export interface BackofficeTrainerPreset {
|
|
132
132
|
id?: number;
|
|
@@ -157,7 +157,7 @@ export interface TrainerProgramExercise {
|
|
|
157
157
|
notes?: string;
|
|
158
158
|
}
|
|
159
159
|
export interface TrainerProgramRoutine {
|
|
160
|
-
name:
|
|
160
|
+
name: TrainerWorkoutTemplateName;
|
|
161
161
|
exercises: TrainerProgramExercise[];
|
|
162
162
|
notes?: string;
|
|
163
163
|
}
|
package/built/hevyTrainer.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getPrioritySortedExercises = exports.isEquipmentCompatible = exports.normalizeExerciseCategory = exports.getTrainerRestTimerSeconds = exports.getTrainerRepRange = exports.getTrainerSetCount = exports.programSplits = exports.frequencyMap = exports.
|
|
3
|
+
exports.getPrioritySortedExercises = exports.isEquipmentCompatible = exports.normalizeExerciseCategory = exports.getTrainerRestTimerSeconds = exports.getTrainerRepRange = exports.getTrainerSetCount = exports.programSplits = exports.frequencyMap = exports.workoutTemplateNames = exports.defaultDurationPerFrequency = exports.hevyTrainerExerciseCategories = exports.granularEquipmentsToTrainerEquipments = exports.trainerEquipmentToGranularEquipments = exports.granularEquipmentDefaults = exports.trainerGymTypes = exports.workoutDurationOptions = void 0;
|
|
4
4
|
exports.pickExerciseForPrescription = pickExerciseForPrescription;
|
|
5
5
|
exports.generateProgram = generateProgram;
|
|
6
6
|
const _1 = require(".");
|
|
@@ -152,7 +152,7 @@ exports.defaultDurationPerFrequency = {
|
|
|
152
152
|
5: 40,
|
|
153
153
|
6: 40,
|
|
154
154
|
};
|
|
155
|
-
exports.
|
|
155
|
+
exports.workoutTemplateNames = [
|
|
156
156
|
// Full body 1x
|
|
157
157
|
'full_body_1',
|
|
158
158
|
// Full body 2x
|
package/built/index.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import { InstructionsLanguage } from './exerciseLocaleUtils';
|
|
2
|
-
import { WorkoutDurationMinutes } from './hevyTrainer';
|
|
3
|
-
import { postEmailBackofficeSchema } from './schemas';
|
|
2
|
+
import { TrainerWorkoutTemplateName, WorkoutDurationMinutes } from './hevyTrainer';
|
|
4
3
|
import { Language } from './translations';
|
|
5
4
|
import { Lookup } from './typeUtils';
|
|
6
|
-
import { z } from 'zod';
|
|
7
|
-
export * from './schemas';
|
|
8
5
|
export * from './constants';
|
|
9
6
|
export * from './utils';
|
|
10
7
|
export * from './units';
|
|
@@ -326,7 +323,6 @@ export type BackofficeShadowBannedUser = Pick<BackofficeExistingUserResponse, 'i
|
|
|
326
323
|
backoffice_notes?: string;
|
|
327
324
|
};
|
|
328
325
|
export interface BackofficeUserComment {
|
|
329
|
-
comment_id: number;
|
|
330
326
|
workout_username: string;
|
|
331
327
|
workout_short_id: string;
|
|
332
328
|
comment_date: string;
|
|
@@ -885,6 +881,7 @@ export interface Workout {
|
|
|
885
881
|
biometrics?: WorkoutBiometrics;
|
|
886
882
|
is_biometrics_public: boolean;
|
|
887
883
|
trainer_program_id: string | undefined;
|
|
884
|
+
trainer_workout_template_id: string | undefined;
|
|
888
885
|
}
|
|
889
886
|
export interface CustomExerciseImage {
|
|
890
887
|
type: 'image';
|
|
@@ -964,6 +961,7 @@ export interface PostWorkoutRequestWorkout {
|
|
|
964
961
|
biometrics?: WorkoutBiometrics;
|
|
965
962
|
is_biometrics_public: boolean;
|
|
966
963
|
trainer_program_id: string | undefined;
|
|
964
|
+
trainer_workout_template_id: string | undefined;
|
|
967
965
|
}
|
|
968
966
|
export declare const isHeartRateSamples: (x: any) => x is HeartRateSample[];
|
|
969
967
|
export declare const isWorkoutBiometrics: (x: any) => x is WorkoutBiometrics;
|
|
@@ -1252,6 +1250,88 @@ export interface GetTeamInviteResponse {
|
|
|
1252
1250
|
export interface OutstandingInvitesForCoachTeamResponse {
|
|
1253
1251
|
invites: CoachTeamInvite[];
|
|
1254
1252
|
}
|
|
1253
|
+
export interface TrainerWorkoutTemplateExercise {
|
|
1254
|
+
id: string;
|
|
1255
|
+
exercise_template_id: string;
|
|
1256
|
+
index: number;
|
|
1257
|
+
set_count: number;
|
|
1258
|
+
warmup_set_count: number;
|
|
1259
|
+
rep_range?: RepRange;
|
|
1260
|
+
rest_seconds: number;
|
|
1261
|
+
}
|
|
1262
|
+
export interface TrainerWorkoutTemplate {
|
|
1263
|
+
id: string;
|
|
1264
|
+
hevy_trainer_program_id: string;
|
|
1265
|
+
index: number;
|
|
1266
|
+
name: TrainerWorkoutTemplateName;
|
|
1267
|
+
exercises: TrainerWorkoutTemplateExercise[];
|
|
1268
|
+
}
|
|
1269
|
+
export interface TrainerProgramV3 {
|
|
1270
|
+
id: string;
|
|
1271
|
+
schema_version: 'v3';
|
|
1272
|
+
created_at: string;
|
|
1273
|
+
updated_at: string;
|
|
1274
|
+
level: TrainingLevel;
|
|
1275
|
+
goal: TrainingGoal;
|
|
1276
|
+
equipments: GranularEquipment[];
|
|
1277
|
+
weekly_frequency: WeeklyTrainingFrequency;
|
|
1278
|
+
templates: TrainerWorkoutTemplate[];
|
|
1279
|
+
focus_muscle?: SimplifiedMuscleGroup;
|
|
1280
|
+
next_workout_index: number;
|
|
1281
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1282
|
+
rest_timer_length: RestTimerLength;
|
|
1283
|
+
}
|
|
1284
|
+
export interface PostTrainerProgramV3RequestBody {
|
|
1285
|
+
program: {
|
|
1286
|
+
title: string;
|
|
1287
|
+
level: TrainingLevel;
|
|
1288
|
+
goal: TrainingGoal;
|
|
1289
|
+
equipments: GranularEquipment[];
|
|
1290
|
+
weekly_frequency: WeeklyTrainingFrequency;
|
|
1291
|
+
focus_muscle?: SimplifiedMuscleGroup;
|
|
1292
|
+
next_workout_index?: number;
|
|
1293
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1294
|
+
rest_timer_length: RestTimerLength;
|
|
1295
|
+
templates: {
|
|
1296
|
+
index: number;
|
|
1297
|
+
name: TrainerWorkoutTemplateName;
|
|
1298
|
+
exercises: {
|
|
1299
|
+
exercise_template_id: string;
|
|
1300
|
+
index: number;
|
|
1301
|
+
set_count: number;
|
|
1302
|
+
warmup_set_count: number;
|
|
1303
|
+
rep_range?: RepRange;
|
|
1304
|
+
rest_seconds: number;
|
|
1305
|
+
}[];
|
|
1306
|
+
}[];
|
|
1307
|
+
};
|
|
1308
|
+
}
|
|
1309
|
+
export interface UpdateTrainerProgramV3RequestBody {
|
|
1310
|
+
program: {
|
|
1311
|
+
programId: string;
|
|
1312
|
+
level: TrainingLevel;
|
|
1313
|
+
goal: TrainingGoal;
|
|
1314
|
+
equipments: GranularEquipment[];
|
|
1315
|
+
weekly_frequency: WeeklyTrainingFrequency;
|
|
1316
|
+
focus_muscle?: SimplifiedMuscleGroup;
|
|
1317
|
+
next_workout_index?: number;
|
|
1318
|
+
workout_duration_minutes: WorkoutDurationMinutes;
|
|
1319
|
+
rest_timer_length: RestTimerLength;
|
|
1320
|
+
templates: {
|
|
1321
|
+
id: string;
|
|
1322
|
+
index: number;
|
|
1323
|
+
name: TrainerWorkoutTemplateName;
|
|
1324
|
+
exercises: {
|
|
1325
|
+
exercise_template_id: string;
|
|
1326
|
+
index: number;
|
|
1327
|
+
set_count: number;
|
|
1328
|
+
warmup_set_count: number;
|
|
1329
|
+
rep_range?: RepRange;
|
|
1330
|
+
rest_seconds: number;
|
|
1331
|
+
}[];
|
|
1332
|
+
}[];
|
|
1333
|
+
};
|
|
1334
|
+
}
|
|
1255
1335
|
export interface HevyTrainerProgram {
|
|
1256
1336
|
id: string;
|
|
1257
1337
|
created_at: string;
|
|
@@ -1991,7 +2071,6 @@ export interface GetAccountsByEmailResponse {
|
|
|
1991
2071
|
wellhub_email: string | null;
|
|
1992
2072
|
}[];
|
|
1993
2073
|
}
|
|
1994
|
-
export type PostEmailBackofficeRequest = z.infer<typeof postEmailBackofficeSchema>;
|
|
1995
2074
|
export interface UserReportSummaryBackoffice {
|
|
1996
2075
|
reported_by: string;
|
|
1997
2076
|
reported_at: string;
|
package/built/index.js
CHANGED
|
@@ -17,7 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.isHeartRateSamples = exports.isPublicWorkout = exports.isSetType = exports.isRPE = exports.validRpeValues = exports.isSetPersonalRecordType = exports.weeklyTrainingFrequencies = exports.isGranularEquipment = exports.granularEquipments = exports.hevyTrainerProgramEquipments = exports.restTimerLengths = exports.exerciseCategories = exports.trainingLevels = exports.trainingGoals = exports.isCustomExerciseType = exports.customExericseTypes = exports.isExerciseType = exports.exerciseTypes = exports.isExerciseRepType = exports.exerciseRepTypes = exports.isEquipmentFilter = exports.equipmentFilters = exports.isEquipment = exports.equipments = exports.simplifiedMuscleGroupToMuscleGroups = exports.isMuscleGroupFilter = exports.muscleGroupFilters = exports.isMuscleGroup = exports.muscleGroups = exports.isSimplifiedMuscleGroup = exports.simplifiedMuscleGroups = exports.miscellaneousMuscles = exports.chestMuscles = exports.backMuscles = exports.legMuscles = exports.armMuscles = exports.shoulderMuscles = exports.coreMuscles = exports.DefaultClientConfiguration = exports.parseClientAuthTokenResponse = exports.isCoachRole = exports.isErrorResponse = exports.isLivePRVolumeOption = exports.isTimerVolumeOption = exports.isWeekday = exports.orderedWeekdays = exports.isBodyMeasurementUnit = exports.isDistanceUnitShort = exports.isDistanceUnit = exports.isWeightUnit = void 0;
|
|
18
18
|
exports.isOAuthScope = exports.supportedScopes = exports.isSuggestedUserSource = exports.isValidUserWorkoutMetricsType = exports.isBodyMeasurementKey = exports.measurementsList = exports.isHevyTrainerRoutine = exports.isWorkoutBiometrics = void 0;
|
|
19
19
|
const typeUtils_1 = require("./typeUtils");
|
|
20
|
-
__exportStar(require("./schemas"), exports);
|
|
21
20
|
__exportStar(require("./constants"), exports);
|
|
22
21
|
__exportStar(require("./utils"), exports);
|
|
23
22
|
__exportStar(require("./units"), exports);
|
|
@@ -236,7 +236,7 @@ const makeSettings = (overrides = {}) => {
|
|
|
236
236
|
};
|
|
237
237
|
return acc;
|
|
238
238
|
}, {});
|
|
239
|
-
const templates = hevyTrainer_1.
|
|
239
|
+
const templates = hevyTrainer_1.workoutTemplateNames.reduce((acc, name) => {
|
|
240
240
|
acc[name] = { exercises: [] };
|
|
241
241
|
return acc;
|
|
242
242
|
}, {});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hevy-shared",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.971",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "built/index.js",
|
|
6
6
|
"types": "built/index.d.ts",
|
|
@@ -51,7 +51,6 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"dayjs": "^1.11.19",
|
|
54
|
-
"lodash": "^4.17.21"
|
|
55
|
-
"zod": "3.24.3"
|
|
54
|
+
"lodash": "^4.17.21"
|
|
56
55
|
}
|
|
57
56
|
}
|
package/built/schemas.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const postEmailBackofficeSchema: z.ZodObject<{
|
|
3
|
-
toUserId: z.ZodString;
|
|
4
|
-
subject: z.ZodString;
|
|
5
|
-
message: z.ZodString;
|
|
6
|
-
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
message: string;
|
|
8
|
-
toUserId: string;
|
|
9
|
-
subject: string;
|
|
10
|
-
}, {
|
|
11
|
-
message: string;
|
|
12
|
-
toUserId: string;
|
|
13
|
-
subject: string;
|
|
14
|
-
}>;
|
package/built/schemas.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.postEmailBackofficeSchema = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
exports.postEmailBackofficeSchema = zod_1.z.object({
|
|
6
|
-
toUserId: zod_1.z.string(),
|
|
7
|
-
subject: zod_1.z.string(),
|
|
8
|
-
message: zod_1.z.string(),
|
|
9
|
-
});
|